summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan Ringer <jonringer117@gmail.com>2021-10-22 09:33:07 -0700
committerJonathan Ringer <jonringer117@gmail.com>2021-10-22 09:33:07 -0700
commitfc25d940101161034ac357c48a5912b413fa75cc (patch)
tree8d704fee8fa5137952e12e19d74e683ce1fea729
parent54a42ab84624e64ad5a1f34daa9559d148970f95 (diff)
parent1cab3e231b41f38f2d2cbf5617eb7b88e433428a (diff)
downloadnixpkgs-fc25d940101161034ac357c48a5912b413fa75cc.tar
nixpkgs-fc25d940101161034ac357c48a5912b413fa75cc.tar.gz
nixpkgs-fc25d940101161034ac357c48a5912b413fa75cc.tar.bz2
nixpkgs-fc25d940101161034ac357c48a5912b413fa75cc.tar.lz
nixpkgs-fc25d940101161034ac357c48a5912b413fa75cc.tar.xz
nixpkgs-fc25d940101161034ac357c48a5912b413fa75cc.tar.zst
nixpkgs-fc25d940101161034ac357c48a5912b413fa75cc.zip
Merge remote-tracking branch 'origin/master' into staging-next
 Conflicts:
	pkgs/development/python-modules/jupyter-client/default.nix
	pkgs/development/python-modules/jupyterlab-git/default.nix
-rw-r--r--doc/languages-frameworks/ruby.section.md2
-rw-r--r--lib/attrsets.nix2
-rw-r--r--lib/customisation.nix5
-rw-r--r--maintainers/maintainer-list.nix16
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml9
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md2
-rwxr-xr-xnixos/lib/test-driver/test-driver.py30
-rw-r--r--nixos/modules/programs/file-roller.nix17
-rw-r--r--nixos/modules/services/development/blackfire.nix13
-rw-r--r--nixos/modules/services/development/blackfire.xml3
-rw-r--r--nixos/modules/services/torrent/transmission.nix320
-rw-r--r--nixos/modules/services/x11/desktop-managers/lumina.nix6
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix184
-rw-r--r--pkgs/applications/audio/giada/default.nix64
-rw-r--r--pkgs/applications/audio/helvum/default.nix6
-rw-r--r--pkgs/applications/audio/orca-c/default.nix1
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/default.nix6
-rw-r--r--pkgs/applications/audio/synthv1/default.nix4
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/editors/neovim/neovide/default.nix17
-rw-r--r--pkgs/applications/graphics/ciano/default.nix76
-rw-r--r--pkgs/applications/misc/dasel/default.nix4
-rw-r--r--pkgs/applications/misc/geek-life/default.nix26
-rw-r--r--pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json28
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubecfg/default.nix16
-rw-r--r--pkgs/applications/networking/cluster/nixops/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix10
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry.lock162
-rw-r--r--pkgs/applications/networking/cluster/nixops/pyproject.toml1
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json6
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix4
-rw-r--r--pkgs/applications/networking/maestral-qt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/bubblemail/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix1
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/office/jameica/default.nix6
-rw-r--r--pkgs/applications/office/super-productivity/default.nix4
-rw-r--r--pkgs/applications/radio/airspyhf/default.nix25
-rw-r--r--pkgs/applications/radio/sdrpp/default.nix107
-rw-r--r--pkgs/applications/science/biology/last/default.nix12
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/logic/tamarin-prover/default.nix10
-rw-r--r--pkgs/applications/science/math/R/default.nix2
-rw-r--r--pkgs/applications/science/math/sage/sagedoc.nix2
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix9
-rw-r--r--pkgs/applications/video/mpv/wrapper.nix4
-rw-r--r--pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--pkgs/build-support/buildenv/default.nix2
-rw-r--r--pkgs/build-support/fetchgitlab/default.nix8
-rw-r--r--pkgs/data/fonts/atkinson-hyperlegible/default.nix26
-rw-r--r--pkgs/data/fonts/source-code-pro/default.nix8
-rw-r--r--pkgs/data/fonts/source-sans/default.nix (renamed from pkgs/data/fonts/source-sans-pro/default.nix)12
-rw-r--r--pkgs/data/fonts/source-serif-pro/default.nix27
-rw-r--r--pkgs/data/fonts/source-serif/default.nix26
-rw-r--r--pkgs/data/themes/dracula-theme/default.nix11
-rw-r--r--pkgs/data/themes/kde-gruvbox/default.nix32
-rw-r--r--pkgs/data/themes/marwaita/default.nix4
-rw-r--r--pkgs/data/themes/whitesur/default.nix8
-rw-r--r--pkgs/desktops/gnome/apps/file-roller/default.nix68
-rw-r--r--pkgs/desktops/gnome/apps/gnome-todo/default.nix8
-rw-r--r--pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix6
-rw-r--r--pkgs/desktops/gnome/extensions/system-monitor/default.nix15
-rw-r--r--pkgs/desktops/lumina/lumina/default.nix15
-rw-r--r--pkgs/desktops/pantheon/default.nix2
-rw-r--r--pkgs/development/compilers/dotnet/build-dotnet.nix21
-rw-r--r--pkgs/development/compilers/dotnet/default.nix32
-rw-r--r--pkgs/development/compilers/go/1.15.nix1
-rw-r--r--pkgs/development/compilers/go/1.16.nix1
-rw-r--r--pkgs/development/compilers/go/1.17.nix1
-rw-r--r--pkgs/development/compilers/koka/default.nix4
-rw-r--r--pkgs/development/compilers/ligo/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/10/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/11/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/11/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/11/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/12/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/12/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/12/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/13/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/13/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/5/compiler-rt/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/5/compiler-rt/sanitizers-nongnu.patch370
-rw-r--r--pkgs/development/compilers/llvm/5/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/6/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/6/compiler-rt/sanitizers-nongnu.patch413
-rw-r--r--pkgs/development/compilers/llvm/6/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/7/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/8/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/9/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/9/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/9/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/git/compiler-rt/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/git/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix6
-rw-r--r--pkgs/development/compilers/lobster/default.nix21
-rw-r--r--pkgs/development/compilers/openjdk/17.nix162
-rw-r--r--pkgs/development/compilers/openjdk/ignore-LegalNoticeFilePlugin.patch21
-rw-r--r--pkgs/development/compilers/swift/default.nix1
-rw-r--r--pkgs/development/coq-modules/addition-chains/default.nix6
-rw-r--r--pkgs/development/coq-modules/deriving/default.nix29
-rw-r--r--pkgs/development/coq-modules/extructures/default.nix33
-rw-r--r--pkgs/development/coq-modules/gaia-hydras/default.nix33
-rw-r--r--pkgs/development/coq-modules/hydra-battles/default.nix6
-rw-r--r--pkgs/development/coq-modules/paramcoq/default.nix5
-rw-r--r--pkgs/development/coq-modules/serapi/8.10.0+0.7.2.patch34
-rw-r--r--pkgs/development/coq-modules/serapi/8.11.0+0.11.1.patch33
-rw-r--r--pkgs/development/coq-modules/serapi/8.12.0+0.12.1.patch29
-rw-r--r--pkgs/development/coq-modules/serapi/default.nix15
-rw-r--r--pkgs/development/embedded/platformio/core.nix46
-rw-r--r--pkgs/development/embedded/platformio/default.nix4
-rw-r--r--pkgs/development/embedded/platformio/use-local-spdx-license-list.patch2
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix23
-rw-r--r--pkgs/development/interpreters/clojure/default.nix21
-rw-r--r--pkgs/development/interpreters/kona/default.nix13
-rw-r--r--pkgs/development/interpreters/ngn-k/default.nix61
-rw-r--r--pkgs/development/interpreters/ngn-k/repl-license-path.patch14
-rw-r--r--pkgs/development/interpreters/ruby/default.nix11
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix5
-rw-r--r--pkgs/development/libraries/codec2/default.nix9
-rw-r--r--pkgs/development/libraries/duckdb/default.nix10
-rw-r--r--pkgs/development/libraries/hpx/default.nix9
-rw-r--r--pkgs/development/libraries/libad9361/default.nix25
-rw-r--r--pkgs/development/libraries/libwpe/fdo.nix4
-rw-r--r--pkgs/development/libraries/olm/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix4
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix4
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors2.nix23
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-digraph.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-environments.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-form-types.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smt-lib.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-webkit2.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix17
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clunit2.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi-test.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbus.nix44
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/djula.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_arithmetic.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_collector.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_comparison.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_container.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_internal.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_iterator.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_lazy-seq.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_map.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_math.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_object.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_sequence.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_set.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchensocket.nix48
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix55
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix25
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/log4cl.nix17
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/mgl-pax.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/osicat.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/parachute.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/physical-quantities.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/rove.nix21
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix26
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix22
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/serapeum.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/static-dispatch.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/sycamore.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_balland2006.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level0.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level1.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level2.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_quasiquote.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_trivial.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-with-current-source-form.nix14
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/uax-15.nix18
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/vecto.nix8
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/zpng.nix8
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix10
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt1
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix.nix167
-rw-r--r--pkgs/development/ocaml-modules/carton/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/carton/git.nix2
-rw-r--r--pkgs/development/ocaml-modules/carton/lwt.nix2
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/alectryon/default.nix14
-rw-r--r--pkgs/development/python-modules/apcaccess/default.nix37
-rw-r--r--pkgs/development/python-modules/azure-mgmt-eventhub/default.nix4
-rw-r--r--pkgs/development/python-modules/bc-python-hcl2/default.nix30
-rw-r--r--pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--pkgs/development/python-modules/canonicaljson/default.nix24
-rw-r--r--pkgs/development/python-modules/cirq-aqt/default.nix32
-rw-r--r--pkgs/development/python-modules/cirq-core/default.nix16
-rw-r--r--pkgs/development/python-modules/cirq-google/default.nix5
-rw-r--r--pkgs/development/python-modules/cirq-ionq/default.nix32
-rw-r--r--pkgs/development/python-modules/cirq-pasqal/default.nix32
-rw-r--r--pkgs/development/python-modules/cirq-rigetti/default.nix73
-rw-r--r--pkgs/development/python-modules/cirq-web/default.nix25
-rw-r--r--pkgs/development/python-modules/cyclonedx-python-lib/default.nix62
-rw-r--r--pkgs/development/python-modules/databricks-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/deezer-python/default.nix4
-rw-r--r--pkgs/development/python-modules/eventlet/default.nix2
-rw-r--r--pkgs/development/python-modules/faraday-plugins/default.nix4
-rw-r--r--pkgs/development/python-modules/fsspec/default.nix4
-rw-r--r--pkgs/development/python-modules/gcsfs/default.nix13
-rw-r--r--pkgs/development/python-modules/greeclimate/default.nix4
-rw-r--r--pkgs/development/python-modules/idasen/default.nix5
-rw-r--r--pkgs/development/python-modules/ipykernel/4.nix4
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipyparallel/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-client/5.nix (renamed from pkgs/development/python-modules/jupyter_client/5.nix)5
-rw-r--r--pkgs/development/python-modules/jupyter-client/default.nix (renamed from pkgs/development/python-modules/jupyter_client/default.nix)0
-rw-r--r--pkgs/development/python-modules/jupyter_console/5.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_console/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_server/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab-git/default.nix72
-rw-r--r--pkgs/development/python-modules/jupytext/default.nix4
-rw-r--r--pkgs/development/python-modules/lsassy/default.nix4
-rw-r--r--pkgs/development/python-modules/maestral/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix12
-rw-r--r--pkgs/development/python-modules/nbclient/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--pkgs/development/python-modules/nbsmoke/default.nix4
-rw-r--r--pkgs/development/python-modules/nbval/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook/2.nix4
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/paho-mqtt/default.nix34
-rw-r--r--pkgs/development/python-modules/papermill/default.nix4
-rw-r--r--pkgs/development/python-modules/phik/default.nix4
-rw-r--r--pkgs/development/python-modules/py-synologydsm-api/default.nix23
-rw-r--r--pkgs/development/python-modules/pyatome/default.nix34
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/pymazda/default.nix4
-rw-r--r--pkgs/development/python-modules/pyquil/default.nix93
-rw-r--r--pkgs/development/python-modules/pysmart-smartx/default.nix36
-rw-r--r--pkgs/development/python-modules/pysmart/default.nix37
-rw-r--r--pkgs/development/python-modules/qcs-api-client/default.nix66
-rw-r--r--pkgs/development/python-modules/qtconsole/default.nix4
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix4
-rw-r--r--pkgs/development/python-modules/rfc3339/default.nix26
-rw-r--r--pkgs/development/python-modules/rpcq/default.nix53
-rw-r--r--pkgs/development/python-modules/rzpipe/default.nix4
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix2
-rw-r--r--pkgs/development/python-modules/smbprotocol/default.nix4
-rw-r--r--pkgs/development/python-modules/sounddevice/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-tikz/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--pkgs/development/python-modules/unicode-slugify/default.nix4
-rw-r--r--pkgs/development/python-modules/velbus-aio/default.nix4
-rw-r--r--pkgs/development/python-modules/vispy/default.nix4
-rw-r--r--pkgs/development/python-modules/xmlschema/default.nix4
-rw-r--r--pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--pkgs/development/r-modules/default.nix152
-rw-r--r--pkgs/development/r-modules/patches/EMCluster.patch6
-rw-r--r--pkgs/development/ruby-modules/with-packages/test.nix1
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix147
-rw-r--r--pkgs/development/tools/analysis/rr/zen_workaround.nix44
-rw-r--r--pkgs/development/tools/coursier/default.nix8
-rw-r--r--pkgs/development/tools/ddosify/default.nix34
-rw-r--r--pkgs/development/tools/electron/default.nix48
-rw-r--r--pkgs/development/tools/faas-cli/default.nix42
-rw-r--r--pkgs/development/tools/go-outline/default.nix22
-rw-r--r--pkgs/development/tools/go-outline/deps.nix11
-rw-r--r--pkgs/development/tools/gopls/default.nix8
-rw-r--r--pkgs/development/tools/gotest/default.nix24
-rw-r--r--pkgs/development/tools/kubernetes-controller-tools/default.nix30
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix23
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix4
-rw-r--r--pkgs/development/tools/misc/editorconfig-core-c/default.nix1
-rw-r--r--pkgs/development/tools/misc/saleae-logic-2/default.nix4
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix5
-rw-r--r--pkgs/development/tools/mustache-go/default.nix3
-rw-r--r--pkgs/development/tools/rust/racerd/default.nix45
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix14
-rw-r--r--pkgs/misc/vim-plugins/aliases.nix1
-rw-r--r--pkgs/misc/vim-plugins/generated.nix430
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix6
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names5
-rw-r--r--pkgs/misc/vscode-extensions/default.nix12
-rw-r--r--pkgs/misc/wiki-tui/default.nix25
-rw-r--r--pkgs/os-specific/linux/cramfsswap/default.nix2
-rw-r--r--pkgs/os-specific/linux/cramfsswap/parallel-make.patch14
-rw-r--r--pkgs/os-specific/linux/dmraid/default.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-lqx.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-xanmod.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-zen.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix4
-rw-r--r--pkgs/servers/headscale/default.nix41
-rw-r--r--pkgs/servers/heisenbridge/default.nix5
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix6
-rw-r--r--pkgs/servers/home-assistant/default.nix1
-rw-r--r--pkgs/servers/http/unit/default.nix3
-rw-r--r--pkgs/servers/monitoring/sensu-go/default.nix10
-rw-r--r--pkgs/servers/pufferpanel/default.nix2
-rw-r--r--pkgs/shells/hilbish/default.nix17
-rw-r--r--pkgs/tools/admin/puppet/puppet-bolt/Gemfile.lock28
-rw-r--r--pkgs/tools/admin/puppet/puppet-bolt/gemset.nix48
-rw-r--r--pkgs/tools/admin/winbox/default.nix79
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/graphics/spirv-cross/default.nix4
-rw-r--r--pkgs/tools/misc/dpt-rp1-py/default.nix1
-rw-r--r--pkgs/tools/misc/esphome/dashboard.nix4
-rw-r--r--pkgs/tools/misc/esphome/default.nix6
-rw-r--r--pkgs/tools/misc/rust-motd/default.nix33
-rw-r--r--pkgs/tools/misc/z-lua/default.nix3
-rw-r--r--pkgs/tools/misc/zellij/default.nix6
-rw-r--r--pkgs/tools/networking/dogdns/default.nix8
-rw-r--r--pkgs/tools/networking/miniupnpc/default.nix4
-rw-r--r--pkgs/tools/networking/p2p/jesec-rtorrent/default.nix9
-rw-r--r--pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix44
-rw-r--r--pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix (renamed from pkgs/tools/networking/p2p/rtorrent-jesec/default.nix)50
-rw-r--r--pkgs/tools/networking/p2p/libtorrent-jesec/default.nix38
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix30
-rw-r--r--pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix9
-rw-r--r--pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix48
-rw-r--r--pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix68
-rw-r--r--pkgs/tools/networking/p2p/rtorrent/default.nix54
-rw-r--r--pkgs/tools/security/kbs2/default.nix6
-rw-r--r--pkgs/tools/security/keyscope/default.nix41
-rw-r--r--pkgs/tools/security/kubescape/default.nix6
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/yara/default.nix4
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix4
-rw-r--r--pkgs/tools/text/discount/default.nix10
-rw-r--r--pkgs/tools/text/discount/parallel-make.patch15
-rw-r--r--pkgs/tools/virtualization/linode-cli/default.nix8
-rw-r--r--pkgs/top-level/aliases.nix47
-rw-r--r--pkgs/top-level/all-packages.nix130
-rw-r--r--pkgs/top-level/coq-packages.nix3
-rw-r--r--pkgs/top-level/linux-kernels.nix2
-rw-r--r--pkgs/top-level/python-aliases.nix2
-rw-r--r--pkgs/top-level/python-packages.nix28
-rw-r--r--pkgs/top-level/python2-packages.nix2
373 files changed, 4805 insertions, 6354 deletions
diff --git a/doc/languages-frameworks/ruby.section.md b/doc/languages-frameworks/ruby.section.md
index 36b794458cb..5e2f72ed61e 100644
--- a/doc/languages-frameworks/ruby.section.md
+++ b/doc/languages-frameworks/ruby.section.md
@@ -8,7 +8,7 @@ In the Nixpkgs tree, Ruby packages can be found throughout, depending on what th
 
 There are two main approaches for using Ruby with gems. One is to use a specifically locked `Gemfile` for an application that has very strict dependencies. The other is to depend on the common gems, which we'll explain further down, and rely on them being updated regularly.
 
-The interpreters have common attributes, namely `gems`, and `withPackages`. So you can refer to `ruby.gems.nokogiri`, or `ruby_2_6.gems.nokogiri` to get the Nokogiri gem already compiled and ready to use.
+The interpreters have common attributes, namely `gems`, and `withPackages`. So you can refer to `ruby.gems.nokogiri`, or `ruby_2_7.gems.nokogiri` to get the Nokogiri gem already compiled and ready to use.
 
 Since not all gems have executables like `nokogiri`, it's usually more convenient to use the `withPackages` function like this: `ruby.withPackages (p: with p; [ nokogiri ])`. This will also make sure that the Ruby in your environment will be able to find the gem and it can be used in your Ruby code (for example via `ruby` or `irb` executables) via `require "nokogiri"` as usual.
 
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index 31fddc59e20..812521ce6d1 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -487,7 +487,7 @@ rec {
        => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
   */
   getOutput = output: pkg:
-    if pkg.outputUnspecified or false
+    if ! pkg ? outputSpecified || ! pkg.outputSpecified
       then pkg.${output} or pkg.out or pkg
       else pkg;
 
diff --git a/lib/customisation.nix b/lib/customisation.nix
index a794b673d70..234a528527d 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -145,14 +145,14 @@ rec {
     let
       outputs = drv.outputs or [ "out" ];
 
-      commonAttrs = (removeAttrs drv [ "outputUnspecified" ]) //
-        (builtins.listToAttrs outputsList) //
+      commonAttrs = drv // (builtins.listToAttrs outputsList) //
         ({ all = map (x: x.value) outputsList; }) // passthru;
 
       outputToAttrListElement = outputName:
         { name = outputName;
           value = commonAttrs // {
             inherit (drv.${outputName}) type outputName;
+            outputSpecified = true;
             drvPath = assert condition; drv.${outputName}.drvPath;
             outPath = assert condition; drv.${outputName}.outPath;
           };
@@ -160,7 +160,6 @@ rec {
 
       outputsList = map outputToAttrListElement outputs;
     in commonAttrs // {
-      outputUnspecified = true;
       drvPath = assert condition; drv.drvPath;
       outPath = assert condition; drv.outPath;
     };
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 22116f0b23c..1484e0156d5 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -8249,6 +8249,12 @@
     githubId = 810877;
     name = "Tom Doggett";
   };
+  noisersup = {
+    email = "patryk@kwiatek.xyz";
+    github = "noisersup";
+    githubId = 42322511;
+    name = "Patryk Kwiatek";
+  };
   nomeata = {
     email = "mail@joachim-breitner.de";
     github = "nomeata";
@@ -12054,6 +12060,16 @@
     githubId = 9002575;
     name = "Weihua Lu";
   };
+  welteki = {
+    email = "welteki@pm.me";
+    github = "welteki";
+    githubId = 16267532;
+    name = "Han Verstraete";
+    keys = [{
+      longkeyid = "rsa4096/0x11F7BAEA856743FF";
+      fingerprint = "2145 955E 3F5E 0C95 3458  41B5 11F7 BAEA 8567 43FF";
+    }];
+  };
   wheelsandmetal = {
     email = "jakob@schmutz.co.uk";
     github = "wheelsandmetal";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 805a4f60134..3ceaf98ed77 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -1143,6 +1143,15 @@ Superuser created successfully.
           would be parsed as 3 parameters.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The <literal>coursier</literal> package’s binary was renamed
+          from <literal>coursier</literal> to <literal>cs</literal>.
+          Completions which haven’t worked for a while should now work
+          with the renamed binary. To keep using
+          <literal>coursier</literal>, you can create a shell alias.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-notable-changes">
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 4444bd1aad1..24972543010 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -353,6 +353,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `boot.kernelParams` now only accepts one command line parameter per string. This change is aimed to reduce common mistakes like "param = 12", which would be parsed as 3 parameters.
 
+- The `coursier` package's binary was renamed from `coursier` to `cs`. Completions which haven't worked for a while should now work with the renamed binary. To keep using `coursier`, you can create a shell alias.
+
 ## Other Notable Changes {#sec-release-21.11-notable-changes}
 
 
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index e659b0c04f5..3ee8b3227c6 100755
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -6,7 +6,7 @@ from xml.sax.saxutils import XMLGenerator
 from colorama import Style
 import queue
 import io
-import _thread
+import threading
 import argparse
 import atexit
 import base64
@@ -405,13 +405,14 @@ class Machine:
     keep_vm_state: bool
     allow_reboot: bool
 
-    process: Optional[subprocess.Popen] = None
-    pid: Optional[int] = None
-    monitor: Optional[socket.socket] = None
-    shell: Optional[socket.socket] = None
+    process: Optional[subprocess.Popen]
+    pid: Optional[int]
+    monitor: Optional[socket.socket]
+    shell: Optional[socket.socket]
+    serial_thread: Optional[threading.Thread]
 
-    booted: bool = False
-    connected: bool = False
+    booted: bool
+    connected: bool
     # Store last serial console lines for use
     # of wait_for_console_text
     last_lines: Queue = Queue()
@@ -444,6 +445,15 @@ class Machine:
             self.cleanup_statedir()
         self.state_dir.mkdir(mode=0o700, exist_ok=True)
 
+        self.process = None
+        self.pid = None
+        self.monitor = None
+        self.shell = None
+        self.serial_thread = None
+
+        self.booted = False
+        self.connected = False
+
     @staticmethod
     def create_startcommand(args: Dict[str, str]) -> StartCommand:
         rootlog.warning(
@@ -921,7 +931,8 @@ class Machine:
                 self.last_lines.put(line)
                 self.log_serial(line)
 
-        _thread.start_new_thread(process_serial_output, ())
+        self.serial_thread = threading.Thread(target=process_serial_output)
+        self.serial_thread.start()
 
         self.wait_for_monitor_prompt()
 
@@ -1021,9 +1032,12 @@ class Machine:
         assert self.process
         assert self.shell
         assert self.monitor
+        assert self.serial_thread
+
         self.process.terminate()
         self.shell.close()
         self.monitor.close()
+        self.serial_thread.join()
 
 
 class VLan:
diff --git a/nixos/modules/programs/file-roller.nix b/nixos/modules/programs/file-roller.nix
index b939d59909c..3c47d598165 100644
--- a/nixos/modules/programs/file-roller.nix
+++ b/nixos/modules/programs/file-roller.nix
@@ -4,7 +4,9 @@
 
 with lib;
 
-{
+let cfg = config.programs.file-roller;
+
+in {
 
   # Added 2019-08-09
   imports = [
@@ -21,6 +23,13 @@ with lib;
 
       enable = mkEnableOption "File Roller, an archive manager for GNOME";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.gnome.file-roller;
+        defaultText = literalExpression "pkgs.gnome.file-roller";
+        description = "File Roller derivation to use.";
+      };
+
     };
 
   };
@@ -28,11 +37,11 @@ with lib;
 
   ###### implementation
 
-  config = mkIf config.programs.file-roller.enable {
+  config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.gnome.file-roller ];
+    environment.systemPackages = [ cfg.package ];
 
-    services.dbus.packages = [ pkgs.gnome.file-roller ];
+    services.dbus.packages = [ cfg.package ];
 
   };
 
diff --git a/nixos/modules/services/development/blackfire.nix b/nixos/modules/services/development/blackfire.nix
index 6fd948cce38..8564aabc6a3 100644
--- a/nixos/modules/services/development/blackfire.nix
+++ b/nixos/modules/services/development/blackfire.nix
@@ -19,7 +19,7 @@ in {
       enable = lib.mkEnableOption "Blackfire profiler agent";
       settings = lib.mkOption {
         description = ''
-          See https://blackfire.io/docs/configuration/agent
+          See https://blackfire.io/docs/up-and-running/configuration/agent
         '';
         type = lib.types.submodule {
           freeformType = with lib.types; attrsOf str;
@@ -53,13 +53,8 @@ in {
 
     services.blackfire-agent.settings.socket = "unix:///run/${agentSock}";
 
-    systemd.services.blackfire-agent = {
-      description = "Blackfire agent";
-
-      serviceConfig = {
-        ExecStart = "${pkgs.blackfire}/bin/blackfire-agent";
-        RuntimeDirectory = "blackfire";
-      };
-    };
+    systemd.packages = [
+      pkgs.blackfire
+    ];
   };
 }
diff --git a/nixos/modules/services/development/blackfire.xml b/nixos/modules/services/development/blackfire.xml
index ad4af35788d..cecd249dda4 100644
--- a/nixos/modules/services/development/blackfire.xml
+++ b/nixos/modules/services/development/blackfire.xml
@@ -28,13 +28,14 @@ in {
     enable = true;
     settings = {
       # You will need to get credentials at https://blackfire.io/my/settings/credentials
-      # You can also use other options described in https://blackfire.io/docs/configuration/agent
+      # You can also use other options described in https://blackfire.io/docs/up-and-running/configuration/agent
       server-id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
       server-token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
     };
   };
 
   # Make the agent run on start-up.
+  # (WantedBy= from the upstream unit not respected: https://github.com/NixOS/nixpkgs/issues/81138)
   # Alternately, you can start it manually with `systemctl start blackfire-agent`.
   systemd.services.blackfire-agent.wantedBy = [ "phpfpm-foo.service" ];
 }</programlisting>
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index b8cfcf39121..a6ff467914a 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -7,15 +7,20 @@ let
   inherit (config.environment) etc;
   apparmor = config.security.apparmor;
   rootDir = "/run/transmission";
-  homeDir = "/var/lib/transmission";
   settingsDir = ".config/transmission-daemon";
   downloadsDir = "Downloads";
   incompleteDir = ".incomplete";
   watchDir = "watchdir";
-  # TODO: switch to configGen.json once RFC0042 is implemented
-  settingsFile = pkgs.writeText "settings.json" (builtins.toJSON cfg.settings);
+  settingsFormat = pkgs.formats.json {};
+  settingsFile = settingsFormat.generate "settings.json" cfg.settings;
 in
 {
+  imports = [
+    (mkRenamedOptionModule ["services" "transmission" "port"]
+                           ["services" "transmission" "settings" "rpc-port"])
+    (mkAliasOptionModule ["services" "transmission" "openFirewall"]
+                         ["services" "transmission" "openPeerPorts"])
+  ];
   options = {
     services.transmission = {
       enable = mkEnableOption ''the headless Transmission BitTorrent daemon.
@@ -24,48 +29,141 @@ in
         transmission-remote, the WebUI (http://127.0.0.1:9091/ by default),
         or other clients like stig or tremc.
 
-        Torrents are downloaded to ${homeDir}/${downloadsDir} by default and are
+        Torrents are downloaded to <xref linkend="opt-services.transmission.home"/>/${downloadsDir} by default and are
         accessible to users in the "transmission" group'';
 
-      settings = mkOption rec {
-        # TODO: switch to types.config.json as prescribed by RFC0042 once it's implemented
-        type = types.attrs;
-        apply = recursiveUpdate default;
-        default =
-          {
-            download-dir = "${cfg.home}/${downloadsDir}";
-            incomplete-dir = "${cfg.home}/${incompleteDir}";
-            incomplete-dir-enabled = true;
-            watch-dir = "${cfg.home}/${watchDir}";
-            watch-dir-enabled = false;
-            message-level = 1;
-            peer-port = 51413;
-            peer-port-random-high = 65535;
-            peer-port-random-low = 49152;
-            peer-port-random-on-start = false;
-            rpc-bind-address = "127.0.0.1";
-            rpc-port = 9091;
-            script-torrent-done-enabled = false;
-            script-torrent-done-filename = "";
-            umask = 2; # 0o002 in decimal as expected by Transmission
-            utp-enabled = true;
-          };
-        example =
-          {
-            download-dir = "/srv/torrents/";
-            incomplete-dir = "/srv/torrents/.incomplete/";
-            incomplete-dir-enabled = true;
-            rpc-whitelist = "127.0.0.1,192.168.*.*";
-          };
+      settings = mkOption {
         description = ''
-          Attribute set whose fields overwrites fields in
+          Settings whose options overwrite fields in
           <literal>.config/transmission-daemon/settings.json</literal>
-          (each time the service starts). String values must be quoted, integer and
-          boolean values must not.
+          (each time the service starts).
 
           See <link xlink:href="https://github.com/transmission/transmission/wiki/Editing-Configuration-Files">Transmission's Wiki</link>
-          for documentation.
+          for documentation of settings not explicitely covered by this module.
         '';
+        default = {};
+        type = types.submodule {
+          freeformType = settingsFormat.type;
+          options.download-dir = mkOption {
+            type = types.path;
+            default = "${cfg.home}/${downloadsDir}";
+            description = "Directory where to download torrents.";
+          };
+          options.incomplete-dir = mkOption {
+            type = types.path;
+            default = "${cfg.home}/${incompleteDir}";
+            description = ''
+              When enabled with
+              services.transmission.home
+              <xref linkend="opt-services.transmission.settings.incomplete-dir-enabled"/>,
+              new torrents will download the files to this directory.
+              When complete, the files will be moved to download-dir
+              <xref linkend="opt-services.transmission.settings.download-dir"/>.
+            '';
+          };
+          options.incomplete-dir-enabled = mkOption {
+            type = types.bool;
+            default = true;
+            description = "";
+          };
+          options.message-level = mkOption {
+            type = types.ints.between 0 2;
+            default = 2;
+            description = "Set verbosity of transmission messages.";
+          };
+          options.peer-port = mkOption {
+            type = types.port;
+            default = 51413;
+            description = "The peer port to listen for incoming connections.";
+          };
+          options.peer-port-random-high = mkOption {
+            type = types.port;
+            default = 65535;
+            description = ''
+              The maximum peer port to listen to for incoming connections
+              when <xref linkend="opt-services.transmission.settings.peer-port-random-on-start"/> is enabled.
+            '';
+          };
+          options.peer-port-random-low = mkOption {
+            type = types.port;
+            default = 65535;
+            description = ''
+              The minimal peer port to listen to for incoming connections
+              when <xref linkend="opt-services.transmission.settings.peer-port-random-on-start"/> is enabled.
+            '';
+          };
+          options.peer-port-random-on-start = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Randomize the peer port.";
+          };
+          options.rpc-bind-address = mkOption {
+            type = types.str;
+            default = "127.0.0.1";
+            example = "0.0.0.0";
+            description = ''
+              Where to listen for RPC connections.
+              Use \"0.0.0.0\" to listen on all interfaces.
+            '';
+          };
+          options.rpc-port = mkOption {
+            type = types.port;
+            default = 9091;
+            description = "The RPC port to listen to.";
+          };
+          options.script-torrent-done-enabled = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''
+              Whether to run
+              <xref linkend="opt-services.transmission.settings.script-torrent-done-filename"/>
+              at torrent completion.
+            '';
+          };
+          options.script-torrent-done-filename = mkOption {
+            type = types.nullOr types.path;
+            default = null;
+            description = "Executable to be run at torrent completion.";
+          };
+          options.umask = mkOption {
+            type = types.int;
+            default = 2;
+            description = ''
+              Sets transmission's file mode creation mask.
+              See the umask(2) manpage for more information.
+              Users who want their saved torrents to be world-writable
+              may want to set this value to 0.
+              Bear in mind that the json markup language only accepts numbers in base 10,
+              so the standard umask(2) octal notation "022" is written in settings.json as 18.
+            '';
+          };
+          options.utp-enabled = mkOption {
+            type = types.bool;
+            default = true;
+            description = ''
+              Whether to enable <link xlink:href="http://en.wikipedia.org/wiki/Micro_Transport_Protocol">Micro Transport Protocol (µTP)</link>.
+            '';
+          };
+          options.watch-dir = mkOption {
+            type = types.path;
+            default = "${cfg.home}/${watchDir}";
+            description = "Watch a directory for torrent files and add them to transmission.";
+          };
+          options.watch-dir-enabled = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''Whether to enable the
+              <xref linkend="opt-services.transmission.settings.watch-dir"/>.
+            '';
+          };
+          options.trash-original-torrent-files = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''Whether to delete torrents added from the
+              <xref linkend="opt-services.transmission.settings.watch-dir"/>.
+            '';
+          };
+        };
       };
 
       downloadDirPermissions = mkOption {
@@ -74,31 +172,22 @@ in
         example = "775";
         description = ''
           The permissions set by <literal>systemd.activationScripts.transmission-daemon</literal>
-          on the directories <link linkend="opt-services.transmission.settings">settings.download-dir</link>
-          and <link linkend="opt-services.transmission.settings">settings.incomplete-dir</link>.
+          on the directories <xref linkend="opt-services.transmission.settings.download-dir"/>
+          and <xref linkend="opt-services.transmission.settings.incomplete-dir"/>.
           Note that you may also want to change
-          <link linkend="opt-services.transmission.settings">settings.umask</link>.
-        '';
-      };
-
-      port = mkOption {
-        type = types.port;
-        description = ''
-          TCP port number to run the RPC/web interface.
-
-          If instead you want to change the peer port,
-          use <link linkend="opt-services.transmission.settings">settings.peer-port</link>
-          or <link linkend="opt-services.transmission.settings">settings.peer-port-random-on-start</link>.
+          <xref linkend="opt-services.transmission.settings.umask"/>.
         '';
       };
 
       home = mkOption {
         type = types.path;
-        default = homeDir;
+        default = "/var/lib/transmission";
         description = ''
           The directory where Transmission will create <literal>${settingsDir}</literal>.
-          as well as <literal>${downloadsDir}/</literal> unless <link linkend="opt-services.transmission.settings">settings.download-dir</link> is changed,
-          and <literal>${incompleteDir}/</literal> unless <link linkend="opt-services.transmission.settings">settings.incomplete-dir</link> is changed.
+          as well as <literal>${downloadsDir}/</literal> unless
+          <xref linkend="opt-services.transmission.settings.download-dir"/> is changed,
+          and <literal>${incompleteDir}/</literal> unless
+          <xref linkend="opt-services.transmission.settings.incomplete-dir"/> is changed.
         '';
       };
 
@@ -119,19 +208,30 @@ in
         description = ''
           Path to a JSON file to be merged with the settings.
           Useful to merge a file which is better kept out of the Nix store
-          because it contains sensible data like <link linkend="opt-services.transmission.settings">settings.rpc-password</link>.
+          to set secret config parameters like <code>rpc-password</code>.
         '';
         default = "/dev/null";
         example = "/var/lib/secrets/transmission/settings.json";
       };
 
-      openFirewall = mkEnableOption "opening of the peer port(s) in the firewall";
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "--log-debug" ];
+        description = ''
+          Extra flags passed to the transmission command in the service definition.
+        '';
+      };
+
+      openPeerPorts = mkEnableOption "opening of the peer port(s) in the firewall";
+
+      openRPCPort = mkEnableOption "opening of the RPC port in the firewall";
 
       performanceNetParameters = mkEnableOption ''tweaking of kernel parameters
         to open many more connections at the same time.
 
         Note that you may also want to increase
-        <link linkend="opt-services.transmission.settings">settings.peer-limit-global</link>.
+        <code>peer-limit-global"</code>.
         And be aware that these settings are quite aggressive
         and might not suite your regular desktop use.
         For instance, SSH sessions may time out more easily'';
@@ -156,34 +256,6 @@ in
       install -d -m '${cfg.downloadDirPermissions}' -o '${cfg.user}' -g '${cfg.group}' '${cfg.settings.watch-dir}'
       '';
 
-    assertions = [
-      { assertion = builtins.match "^/.*" cfg.home != null;
-        message = "`services.transmission.home' must be an absolute path.";
-      }
-      { assertion = types.path.check cfg.settings.download-dir;
-        message = "`services.transmission.settings.download-dir' must be an absolute path.";
-      }
-      { assertion = types.path.check cfg.settings.incomplete-dir;
-        message = "`services.transmission.settings.incomplete-dir' must be an absolute path.";
-      }
-      { assertion = types.path.check cfg.settings.watch-dir;
-        message = "`services.transmission.settings.watch-dir' must be an absolute path.";
-      }
-      { assertion = cfg.settings.script-torrent-done-filename == "" || types.path.check cfg.settings.script-torrent-done-filename;
-        message = "`services.transmission.settings.script-torrent-done-filename' must be an absolute path.";
-      }
-      { assertion = types.port.check cfg.settings.rpc-port;
-        message = "${toString cfg.settings.rpc-port} is not a valid port number for `services.transmission.settings.rpc-port`.";
-      }
-      # In case both port and settings.rpc-port are explicitely defined: they must be the same.
-      { assertion = !options.services.transmission.port.isDefined || cfg.port == cfg.settings.rpc-port;
-        message = "`services.transmission.port' is not equal to `services.transmission.settings.rpc-port'";
-      }
-    ];
-
-    services.transmission.settings =
-      optionalAttrs options.services.transmission.port.isDefined { rpc-port = cfg.port; };
-
     systemd.services.transmission = {
       description = "Transmission BitTorrent Service";
       after = [ "network.target" ] ++ optional apparmor.enable "apparmor.service";
@@ -199,15 +271,13 @@ in
           install -D -m 600 -o '${cfg.user}' -g '${cfg.group}' /dev/stdin \
            '${cfg.home}/${settingsDir}/settings.json'
         '')];
-        ExecStart="${pkgs.transmission}/bin/transmission-daemon -f -g ${cfg.home}/${settingsDir}";
+        ExecStart="${pkgs.transmission}/bin/transmission-daemon -f -g ${cfg.home}/${settingsDir} ${escapeShellArgs cfg.extraFlags}";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         User = cfg.user;
         Group = cfg.group;
         # Create rootDir in the host's mount namespace.
         RuntimeDirectory = [(baseNameOf rootDir)];
         RuntimeDirectoryMode = "755";
-        # Avoid mounting rootDir in the own rootDir of ExecStart='s mount namespace.
-        InaccessiblePaths = ["-+${rootDir}"];
         # This is for BindPaths= and BindReadOnlyPaths=
         # to allow traversal of directories they create in RootDirectory=.
         UMask = "0066";
@@ -228,11 +298,9 @@ in
             cfg.settings.download-dir
           ] ++
           optional cfg.settings.incomplete-dir-enabled
-            cfg.settings.incomplete-dir
-          ++
-          optional cfg.settings.watch-dir-enabled
-            cfg.settings.watch-dir
-          ;
+            cfg.settings.incomplete-dir ++
+          optional (cfg.settings.watch-dir-enabled && cfg.settings.trash-original-torrent-files)
+            cfg.settings.watch-dir;
         BindReadOnlyPaths = [
           # No confinement done of /nix/store here like in systemd-confinement.nix,
           # an AppArmor profile is provided to get a confinement based upon paths and rights.
@@ -241,8 +309,10 @@ in
           "/run"
           ] ++
           optional (cfg.settings.script-torrent-done-enabled &&
-                    cfg.settings.script-torrent-done-filename != "")
-            cfg.settings.script-torrent-done-filename;
+                    cfg.settings.script-torrent-done-filename != null)
+            cfg.settings.script-torrent-done-filename ++
+          optional (cfg.settings.watch-dir-enabled && !cfg.settings.trash-original-torrent-files)
+            cfg.settings.watch-dir;
         # The following options are only for optimizing:
         # systemd-analyze security transmission
         AmbientCapabilities = "";
@@ -287,7 +357,6 @@ in
           "quotactl"
         ];
         SystemCallArchitectures = "native";
-        SystemCallErrorNumber = "EPERM";
       };
     };
 
@@ -309,25 +378,28 @@ in
       };
     });
 
-    networking.firewall = mkIf cfg.openFirewall (
-      if cfg.settings.peer-port-random-on-start
-      then
-        { allowedTCPPortRanges =
-            [ { from = cfg.settings.peer-port-random-low;
-                to   = cfg.settings.peer-port-random-high;
-              }
-            ];
-          allowedUDPPortRanges =
-            [ { from = cfg.settings.peer-port-random-low;
-                to   = cfg.settings.peer-port-random-high;
-              }
-            ];
-        }
-      else
-        { allowedTCPPorts = [ cfg.settings.peer-port ];
-          allowedUDPPorts = [ cfg.settings.peer-port ];
-        }
-    );
+    networking.firewall = mkMerge [
+      (mkIf cfg.openPeerPorts (
+        if cfg.settings.peer-port-random-on-start
+        then
+          { allowedTCPPortRanges =
+              [ { from = cfg.settings.peer-port-random-low;
+                  to   = cfg.settings.peer-port-random-high;
+                }
+              ];
+            allowedUDPPortRanges =
+              [ { from = cfg.settings.peer-port-random-low;
+                  to   = cfg.settings.peer-port-random-high;
+                }
+              ];
+          }
+        else
+          { allowedTCPPorts = [ cfg.settings.peer-port ];
+            allowedUDPPorts = [ cfg.settings.peer-port ];
+          }
+      ))
+      (mkIf cfg.openRPCPort { allowedTCPPorts = [ cfg.settings.rpc-port ]; })
+    ];
 
     boot.kernel.sysctl = mkMerge [
       # Transmission uses a single UDP socket in order to implement multiple uTP sockets,
@@ -342,21 +414,21 @@ in
         # Increase the number of available source (local) TCP and UDP ports to 49151.
         # Usual default is 32768 60999, ie. 28231 ports.
         # Find out your current usage with: ss -s
-        "net.ipv4.ip_local_port_range" = "16384 65535";
+        "net.ipv4.ip_local_port_range" = mkDefault "16384 65535";
         # Timeout faster generic TCP states.
         # Usual default is 600.
         # Find out your current usage with: watch -n 1 netstat -nptuo
-        "net.netfilter.nf_conntrack_generic_timeout" = 60;
+        "net.netfilter.nf_conntrack_generic_timeout" = mkDefault 60;
         # Timeout faster established but inactive connections.
         # Usual default is 432000.
-        "net.netfilter.nf_conntrack_tcp_timeout_established" = 600;
+        "net.netfilter.nf_conntrack_tcp_timeout_established" = mkDefault 600;
         # Clear immediately TCP states after timeout.
         # Usual default is 120.
-        "net.netfilter.nf_conntrack_tcp_timeout_time_wait" = 1;
+        "net.netfilter.nf_conntrack_tcp_timeout_time_wait" = mkDefault 1;
         # Increase the number of trackable connections.
         # Usual default is 262144.
         # Find out your current usage with: conntrack -C
-        "net.netfilter.nf_conntrack_max" = 1048576;
+        "net.netfilter.nf_conntrack_max" = mkDefault 1048576;
       })
     ];
 
@@ -372,7 +444,7 @@ in
         rw ${cfg.settings.incomplete-dir}/**,
       ''}
       ${optionalString cfg.settings.watch-dir-enabled ''
-        rw ${cfg.settings.watch-dir}/**,
+        r${optionalString cfg.settings.trash-original-torrent-files "w"} ${cfg.settings.watch-dir}/**,
       ''}
       profile dirs {
         rw ${cfg.settings.download-dir}/**,
@@ -380,12 +452,12 @@ in
           rw ${cfg.settings.incomplete-dir}/**,
         ''}
         ${optionalString cfg.settings.watch-dir-enabled ''
-          rw ${cfg.settings.watch-dir}/**,
+          r${optionalString cfg.settings.trash-original-torrent-files "w"} ${cfg.settings.watch-dir}/**,
         ''}
       }
 
       ${optionalString (cfg.settings.script-torrent-done-enabled &&
-                        cfg.settings.script-torrent-done-filename != "") ''
+                        cfg.settings.script-torrent-done-filename != null) ''
         # Stack transmission_directories profile on top of
         # any existing profile for script-torrent-done-filename
         # FIXME: to be tested as I'm not sure it works well with NoNewPrivileges=
diff --git a/nixos/modules/services/x11/desktop-managers/lumina.nix b/nixos/modules/services/x11/desktop-managers/lumina.nix
index 419f5055d8b..1ab61953e73 100644
--- a/nixos/modules/services/x11/desktop-managers/lumina.nix
+++ b/nixos/modules/services/x11/desktop-managers/lumina.nix
@@ -38,5 +38,11 @@ in
       "/share"
     ];
 
+    security.wrappers.lumina-checkpass-wrapped = {
+      source = "${pkgs.lumina.lumina}/bin/lumina-checkpass";
+      owner = "root";
+      group = "root";
+    };
+
   };
 }
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 112f493b811..178d6f1fb7c 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -221,6 +221,7 @@ in
       programs.evince.enable = mkDefault true;
       programs.evince.package = pkgs.pantheon.evince;
       programs.file-roller.enable = mkDefault true;
+      programs.file-roller.package = pkgs.pantheon.file-roller;
 
       # Settings from elementary-default-settings
       environment.sessionVariables.GTK_CSD = "1";
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 11cb4d3b8a9..e67c71d5a70 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -1,15 +1,18 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
-
   xcfg = config.services.xserver;
   cfg = xcfg.desktopManager.plasma5;
 
   libsForQt5 = pkgs.plasma5Packages;
   inherit (libsForQt5) kdeGear kdeFrameworks plasma5;
   inherit (pkgs) writeText;
+  inherit (lib)
+    getBin optionalString
+    mkRemovedOptionModule mkRenamedOptionModule
+    mkDefault mkIf mkMerge mkOption types;
+
+  ini = pkgs.formats.ini { };
 
   pulseaudio = config.hardware.pulseaudio;
   pactl = "${getBin pulseaudio.package}/bin/pactl";
@@ -33,23 +36,25 @@ let
     gtk-button-images=1
   '';
 
-  gtk3_settings = writeText "settings.ini" ''
-    [Settings]
-    gtk-font-name=Sans Serif Regular 10
-    gtk-theme-name=Breeze
-    gtk-icon-theme-name=breeze
-    gtk-fallback-icon-theme=hicolor
-    gtk-cursor-theme-name=breeze_cursors
-    gtk-toolbar-style=GTK_TOOLBAR_ICONS
-    gtk-menu-images=1
-    gtk-button-images=1
-  '';
+  gtk3_settings = ini.generate "settings.ini" {
+    Settings = {
+      gtk-font-name = "Sans Serif Regular 10";
+      gtk-theme-name = "Breeze";
+      gtk-icon-theme-name = "breeze";
+      gtk-fallback-icon-theme = "hicolor";
+      gtk-cursor-theme-name = "breeze_cursors";
+      gtk-toolbar-style = "GTK_TOOLBAR_ICONS";
+      gtk-menu-images = 1;
+      gtk-button-images = 1;
+    };
+  };
 
-  kcminputrc = writeText "kcminputrc" ''
-    [Mouse]
-    cursorTheme=breeze_cursors
-    cursorSize=0
-  '';
+  kcminputrc = ini.generate "kcminputrc" {
+    Mouse = {
+      cursorTheme = "breeze_cursors";
+      cursorSize = 0;
+    };
+  };
 
   activationScript = ''
     ${set_XDG_CONFIG_HOME}
@@ -87,13 +92,13 @@ let
   '';
 
   set_XDG_CONFIG_HOME = ''
-      # Set the default XDG_CONFIG_HOME if it is unset.
-      # Per the XDG Base Directory Specification:
-      # https://specifications.freedesktop.org/basedir-spec/latest
-      # 1. Never export this variable! If it is unset, then child processes are
-      # expected to set the default themselves.
-      # 2. Contaminate / if $HOME is unset; do not check if $HOME is set.
-      XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-$HOME/.config}
+    # Set the default XDG_CONFIG_HOME if it is unset.
+    # Per the XDG Base Directory Specification:
+    # https://specifications.freedesktop.org/basedir-spec/latest
+    # 1. Never export this variable! If it is unset, then child processes are
+    # expected to set the default themselves.
+    # 2. Contaminate / if $HOME is unset; do not check if $HOME is set.
+    XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-$HOME/.config}
   '';
 
   startplasma =
@@ -116,20 +121,17 @@ let
       if ! [ -f "$kdeglobals" ]
       then
           kcminputrc="''${XDG_CONFIG_HOME}/kcminputrc"
-          if ! [ -f "$kcminputrc" ]
-          then
+          if ! [ -f "$kcminputrc" ]; then
               cat ${kcminputrc} >"$kcminputrc"
           fi
 
           gtkrc2="$HOME/.gtkrc-2.0"
-          if ! [ -f "$gtkrc2" ]
-          then
+          if ! [ -f "$gtkrc2" ]; then
               cat ${gtkrc2} >"$gtkrc2"
           fi
 
           gtk3_settings="''${XDG_CONFIG_HOME}/gtk-3.0/settings.ini"
-          if ! [ -f "$gtk3_settings" ]
-          then
+          if ! [ -f "$gtk3_settings" ]; then
               mkdir -p "$(dirname "$gtk3_settings")"
               cat ${gtk3_settings} >"$gtk3_settings"
           fi
@@ -140,42 +142,44 @@ let
 in
 
 {
-  options = {
-
-    services.xserver.desktopManager.plasma5 = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Enable the Plasma 5 (KDE 5) desktop environment.";
-      };
+  options.services.xserver.desktopManager.plasma5 = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Enable the Plasma 5 (KDE 5) desktop environment.";
+    };
 
-      phononBackend = mkOption {
-        type = types.enum [ "gstreamer" "vlc" ];
-        default = "gstreamer";
-        example = "vlc";
-        description = "Phonon audio backend to install.";
-      };
+    phononBackend = mkOption {
+      type = types.enum [ "gstreamer" "vlc" ];
+      default = "gstreamer";
+      example = "vlc";
+      description = "Phonon audio backend to install.";
+    };
 
-      supportDDC = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Support setting monitor brightness via DDC.
-          </para>
-          <para>
-          This is not needed for controlling brightness of the internal monitor
-          of a laptop and as it is considered experimental by upstream, it is
-          disabled by default.
-        '';
-      };
+    supportDDC = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Support setting monitor brightness via DDC.
+        </para>
+        <para>
+        This is not needed for controlling brightness of the internal monitor
+        of a laptop and as it is considered experimental by upstream, it is
+        disabled by default.
+      '';
+    };
 
-      useQtScaling = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Enable HiDPI scaling in Qt.";
-      };
+    useQtScaling = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Enable HiDPI scaling in Qt.";
     };
 
+    runUsingSystemd = mkOption {
+      description = "Use systemd to manage the Plasma session";
+      type = types.bool;
+      default = false;
+    };
   };
 
   imports = [
@@ -187,32 +191,37 @@ in
     (mkIf cfg.enable {
 
       # Seed our configuration into nixos-generate-config
-      system.nixos-generate-config.desktopConfiguration = [''
-        # Enable the Plasma 5 Desktop Environment.
-        services.xserver.displayManager.sddm.enable = true;
-        services.xserver.desktopManager.plasma5.enable = true;
-      ''];
+      system.nixos-generate-config.desktopConfiguration = [
+        ''
+          # Enable the Plasma 5 Desktop Environment.
+          services.xserver.displayManager.sddm.enable = true;
+          services.xserver.desktopManager.plasma5.enable = true;
+        ''
+      ];
 
       services.xserver.displayManager.sessionPackages = [ pkgs.libsForQt5.plasma5.plasma-workspace ];
 
       security.wrappers = {
         kcheckpass =
-          { setuid = true;
+          {
+            setuid = true;
             owner = "root";
             group = "root";
-            source = "${lib.getBin libsForQt5.kscreenlocker}/libexec/kcheckpass";
+            source = "${getBin libsForQt5.kscreenlocker}/libexec/kcheckpass";
           };
         start_kdeinit =
-          { setuid = true;
+          {
+            setuid = true;
             owner = "root";
             group = "root";
-            source = "${lib.getBin libsForQt5.kinit}/libexec/kf5/start_kdeinit";
+            source = "${getBin libsForQt5.kinit}/libexec/kf5/start_kdeinit";
           };
         kwin_wayland =
-          { owner = "root";
+          {
+            owner = "root";
             group = "root";
             capabilities = "cap_sys_nice+ep";
-            source = "${lib.getBin plasma5.kwin}/bin/kwin_wayland";
+            source = "${getBin plasma5.kwin}/bin/kwin_wayland";
           };
       };
 
@@ -247,7 +256,7 @@ in
           kidletime
           kimageformats
           kinit
-          kirigami2  # In system profile for SDDM theme. TODO: wrapper.
+          kirigami2 # In system profile for SDDM theme. TODO: wrapper.
           kio
           kjobwidgets
           knewstuff
@@ -314,7 +323,8 @@ in
           breeze-icons
           pkgs.hicolor-icon-theme
 
-          kde-gtk-config breeze-gtk
+          kde-gtk-config
+          breeze-gtk
 
           qtvirtualkeyboard
 
@@ -336,6 +346,7 @@ in
         ++ lib.optional config.services.pipewire.pulse.enable plasma-pa
         ++ lib.optional config.powerManagement.enable powerdevil
         ++ lib.optional config.services.colord.enable pkgs.colord-kde
+        ++ lib.optional config.services.hardware.bolt.enable pkgs.plasma-thunderbolt
         ++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ]
         ++ lib.optional config.services.xserver.wacom.enable pkgs.wacomtablet;
 
@@ -385,6 +396,27 @@ in
       security.pam.services.lightdm.enableKwallet = true;
       security.pam.services.sddm.enableKwallet = true;
 
+      systemd.user.services = {
+        plasma-early-setup = mkIf cfg.runUsingSystemd {
+          description = "Early Plasma setup";
+          wantedBy = [ "graphical-session-pre.target" ];
+          serviceConfig.Type = "oneshot";
+          script = activationScript;
+        };
+
+        plasma-run-with-systemd = {
+          description = "Run KDE Plasma via systemd";
+          wantedBy = [ "basic.target" ];
+          serviceConfig.Type = "oneshot";
+          script = ''
+            ${set_XDG_CONFIG_HOME}
+
+            ${kdeFrameworks.kconfig}/bin/kwriteconfig5 \
+              --file startkderc --group General --key systemdBoot ${lib.boolToString cfg.runUsingSystemd}
+          '';
+        };
+      };
+
       xdg.portal.enable = true;
       xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
 
diff --git a/pkgs/applications/audio/giada/default.nix b/pkgs/applications/audio/giada/default.nix
index b49335298e0..4b7b760db35 100644
--- a/pkgs/applications/audio/giada/default.nix
+++ b/pkgs/applications/audio/giada/default.nix
@@ -1,8 +1,9 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
-, autoreconfHook
+, cmake
+, pkg-config
 , fltk
-, jansson
 , rtmidi
 , libsamplerate
 , libsndfile
@@ -10,51 +11,65 @@
 , alsa-lib
 , libpulseaudio
 , libXpm
-, libXinerama
-, libXcursor
-, catch2
-, nlohmann_json
+, flac
+, libogg
+, libvorbis
+, libopus
 }:
 
 stdenv.mkDerivation rec {
   pname = "giada";
-  version = "0.16.4";
+  version = "unstable-2021-09-24";
 
   src = fetchFromGitHub {
     owner = "monocasual";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0qyx0bvivlvly0vj5nnnbiks22xh13sqlw4mfgplq2lbbpgisigp";
+    # Using master with https://github.com/monocasual/giada/pull/509 till a new release is done.
+    rev = "f117a8b8eef08d904ef1ab22c45f0e1fad6b8a56";
+    sha256 = "01hb981lrsyk870zs8xph5fm0z7bbffpkxgw04hq487r804mkx9j";
+    fetchSubmodules = true;
   };
 
-  configureFlags = [
-    "--target=linux"
-    "--enable-system-catch"
+  NIX_CFLAGS_COMPILE = [
+    "-w"
+    "-Wno-error"
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_BUILD_TYPE=Release"
   ];
 
   nativeBuildInputs = [
-    autoreconfHook
+    cmake
+    pkg-config
   ];
 
   buildInputs = [
+    rtmidi
     fltk
     libsndfile
     libsamplerate
-    jansson
-    rtmidi
-    libXpm
-    jack2
     alsa-lib
+    libXpm
     libpulseaudio
-    libXinerama
-    libXcursor
-    catch2
-    nlohmann_json
+    jack2
+    flac
+    libogg
+    libvorbis
+    libopus
   ];
 
   postPatch = ''
-    sed -i 's:"deps/json/single_include/nlohmann/json\.hpp":<nlohmann/json.hpp>:' \
-        src/core/{conf,init,midiMapConf,patch}.cpp
+    local fixup_list=(
+      src/core/kernelMidi.cpp
+      src/gui/elems/config/tabMidi.cpp
+      src/utils/ver.cpp
+    )
+    for f in "''${fixup_list[@]}"; do
+      substituteInPlace "$f" \
+        --replace "<RtMidi.h>" "<${rtmidi.src}/RtMidi.h>"
+    done
   '';
 
   meta = with lib; {
@@ -63,6 +78,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ petabyteboy ];
     platforms = platforms.all;
-    broken = stdenv.hostPlatform.isAarch64; # produces build failure on aarch64-linux
   };
 }
diff --git a/pkgs/applications/audio/helvum/default.nix b/pkgs/applications/audio/helvum/default.nix
index 39c8a3b3184..757b83cd4d5 100644
--- a/pkgs/applications/audio/helvum/default.nix
+++ b/pkgs/applications/audio/helvum/default.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "helvum";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "ryuukyu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-AlHCK4pWaoNjR0eflxHBsuVaaily/RvCbgJv/ByQZK4=";
+    sha256 = "sha256-f6+6Qicg5J6oWcafG4DF0HovTmF4r6yfw6p/3dJHmB4=";
   };
 
-  cargoSha256 = "sha256-mAhh12rGvQjs2xtm+OrtVv0fgG6qni/QM/oRYoFR7U8=";
+  cargoSha256 = "sha256-zGa6nAmOOrpiMr865J06Ez3L6lPL0j18/lW8lw1jPyU=";
 
   nativeBuildInputs = [ clang copyDesktopItems pkg-config ];
   buildInputs = [ glib gtk4 pipewire ];
diff --git a/pkgs/applications/audio/orca-c/default.nix b/pkgs/applications/audio/orca-c/default.nix
index 2c3a8fb1390..4bad4960337 100644
--- a/pkgs/applications/audio/orca-c/default.nix
+++ b/pkgs/applications/audio/orca-c/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ netcrns ];
+    mainProgram = "orca";
   };
 }
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index 6abc120379d..606f80d1e41 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.34";
+  version = "1.36";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "sha256-JT3I06qm3oljsySIgK5xP2RC3KAb5QBrNVdip0ds4KE=";
+    sha256 = "sha256-QyhBoWCkj7iYXAFsyVH6+XH2P/MQEXZQfAcUDu4Rtco=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 48e6a85f5d2..c25276ff6e1 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -10,14 +10,14 @@ 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.1.68.628.geb44bd66";
+  version = "1.1.68.632.g2b11de83";
   # 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 = "52";
+  rev = "53";
 
   deps = [
     alsa-lib
@@ -80,7 +80,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 = "be6f1cb650924eb9e244497374d1dfe6136d28056dbecc7000a03341a4bb4c6ab2c83ec6c707bd6f57afde95262230eafbde08e9c7a7dfcacdf660eb10499f3a";
+    sha512 = "ed991691c99fe97ed9ff5d0f5cc9a8883c176fa3b3054293c37d545abbb895c6260afdf1c8c0828d62c36ea7ab384e166b6151effb4614c93e4fa712319a08a3";
   };
 
   nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ];
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index eecf8caee37..b0e9e9bde9d 100644
--- a/pkgs/applications/audio/synthv1/default.nix
+++ b/pkgs/applications/audio/synthv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "synthv1";
-  version = "0.9.15";
+  version = "0.9.23";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
-    sha256 = "047y2l7ipzv00ly54f074v6p043xjml7vz0svc7z81bhx74vs0ix";
+    sha256 = "sha256-0V72T51icT/t9fJf4mwcMYZLjzTPnmiCbU+BdwnCmw4=";
   };
 
   buildInputs = [ qtbase qttools libjack2 alsa-lib liblo lv2 ];
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 89e0a9291d1..a1ce67abf9a 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.33.1";
+  version = "2.34.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "1k1h37fbpsib9h8867m2dsfacdjs78gdm61gvrin5gpw1zj10syz";
+    sha256 = "07r7gfn44c4bdcq9rgs6v4frrl2g004lh9lcsrj6rbqy6949r9j2";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index b7277fc1f77..a64ab5249a5 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -7,16 +7,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.11";
+  version = "0.9.12";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "17a0g4sijc1p9fy5xh8krs3y1hc75s17ak0hfhpi231gs4fl20pd";
+    sha256 = "1d1ppj8djqm97k18cbdvbgv9a5vhvxdgjiqair0bmxc44hwapl65";
   };
 
-  cargoSha256 = "07yzdchpzs2g1f8fzhaj11yybd2d8lv9ib859z7122anxzdr0028";
+  cargoSha256 = "09kcacz836sm1zsi08mmf4ca5vbqc0lwwaam9p4vi0v4kd45axx9";
 
   nativeBuildInputs = [ clang ];
 
diff --git a/pkgs/applications/editors/neovim/neovide/default.nix b/pkgs/applications/editors/neovim/neovide/default.nix
index a40ff76eea3..c2a696cd425 100644
--- a/pkgs/applications/editors/neovim/neovide/default.nix
+++ b/pkgs/applications/editors/neovim/neovide/default.nix
@@ -17,6 +17,8 @@
 , makeFontsConf
 , libglvnd
 , libxkbcommon
+, stdenv
+, enableWayland ? stdenv.isLinux
 , wayland
 , xorg
 }:
@@ -96,9 +98,18 @@ rustPlatform.buildRustPackage rec {
     }))
   ];
 
-  postFixup = ''
+  postFixup = let
+    libPath = lib.makeLibraryPath ([
+      libglvnd
+      libxkbcommon
+      xorg.libXcursor
+      xorg.libXext
+      xorg.libXrandr
+      xorg.libXi
+    ] ++ lib.optionals enableWayland [ wayland ]);
+  in ''
       wrapProgram $out/bin/neovide \
-        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd libxkbcommon wayland xorg.libXcursor xorg.libXext xorg.libXrandr xorg.libXi ]}
+        --prefix LD_LIBRARY_PATH : ${libPath}
     '';
 
   postInstall = ''
@@ -115,7 +126,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/Kethku/neovide";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ ck3d ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     mainProgram = "neovide";
   };
 }
diff --git a/pkgs/applications/graphics/ciano/default.nix b/pkgs/applications/graphics/ciano/default.nix
new file mode 100644
index 00000000000..dcaabed6b19
--- /dev/null
+++ b/pkgs/applications/graphics/ciano/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, desktop-file-utils
+, ffmpeg
+, gobject-introspection
+, granite
+, gtk
+, imagemagick
+, libgee
+, libhandy
+, libsecret
+, libsoup
+, meson
+, ninja
+, pkg-config
+, python
+, vala
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ciano";
+  version = "0.2.4";
+
+  src = fetchFromGitHub {
+    owner = "robertsanseries";
+    repo = pname;
+    rev = version;
+    hash = "sha256-nubm6vBWwsHrrmvFAL/cIzYPxg9B1EhnpC79IJMNuFY=";
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    python
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    ffmpeg
+    imagemagick
+    granite
+    gtk
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  dontWrapGApps = true;
+
+  postFixup = let
+    binPath = lib.makeBinPath [
+      ffmpeg
+      imagemagick
+    ];
+  in
+    ''
+      wrapProgram $out/bin/com.github.robertsanseries.ciano \
+         --prefix PATH : ${binPath} "''${gappsWrapperArgs[@]}"
+      ln -s $out/bin/com.github.robertsanseries.ciano $out/bin/ciano
+    '';
+
+  meta = with lib; {
+    homepage = "https://github.com/robertsanseries/ciano";
+    description = "A multimedia file converter focused on simplicity";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index 1cab19808a1..d8c94c88383 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-M63KFQ+g4b0HiWlv1Kym0ulqZcCMdfU9SoLhpaI4q/o=";
+    sha256 = "sha256-HHeO8mbvD+PLMKjeacjIBNEVeOYjeHjXJHhTkbMMOG4=";
   };
 
   vendorSha256 = "sha256-yP4iF3403WWgWAmBHiuOpDsIAUx4+KR8uKPfjy3qXt8=";
diff --git a/pkgs/applications/misc/geek-life/default.nix b/pkgs/applications/misc/geek-life/default.nix
new file mode 100644
index 00000000000..653c940024a
--- /dev/null
+++ b/pkgs/applications/misc/geek-life/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "geek-life";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "ajaxray";
+    repo = "geek-life";
+    rev = "v${version}";
+    sha256 = "083y2kv5vb217ghy9g2qylqgdgbjjggjj3cq454csnn3cjgq9zfh";
+  };
+
+  vendorSha256 = "05fcnmg2rygccf65r8js6kbijx740vfnvbrc035bjs1jvdw29h9j";
+
+  postInstall = ''
+    mv $out/bin/app $out/bin/geek-life
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/ajaxray/geek-life";
+    description = "The Todo List / Task Manager for Geeks in command line";
+    maintainers = with maintainers; [ noisersup ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 5b4444b1985..f293cc60d2a 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -31,11 +31,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "obsidian";
-  version = "0.12.15";
+  version = "0.12.19";
 
   src = fetchurl {
     url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz";
-    sha256 = "sha256-0pAwTkx89B6S0GPes2XXSRNdByIc+DwiI5HXoUqs/QE=";
+    sha256 = "sha256-M9U67+mCL/CziTprCAhfrZTWl6i7HRfH24l/xqUqkIg=";
   };
 
   nativeBuildInputs = [ makeWrapper graphicsmagick ];
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 53c4145cee2..18de4811af7 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -92,11 +92,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.30.89";
+  version = "1.31.87";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "2fu6Nk/eMLQ9nYy1aZDpjnRg16YosQPqdKtJ2VAYBrw=";
+    sha256 = "lfkTB8oXxZqgbO7d8cdktSd6ivQc3g5kiAYZKyrrLpw=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index a9331041ddd..e88c1fa1b94 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -87,9 +87,7 @@ let
     in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
 
   # https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py
-  gnSystemLibraries = lib.optionals (!chromiumVersionAtLeast "95") [
-    "zlib"
-  ] ++ [
+  gnSystemLibraries = [
     # TODO:
     # "ffmpeg"
     # "snappy"
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 6e890ccb6c3..e48539aab5b 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -18,22 +18,22 @@
     }
   },
   "beta": {
-    "version": "95.0.4638.54",
-    "sha256": "1zb1009gg9962axn2l1krycz7ml20i8z2n3ka2psxpg68pbqivry",
-    "sha256bin64": "06d0kjnrv8z74icc6nahllxbwn3xxwn0vgc7ss47402zrqig8lch",
+    "version": "96.0.4664.18",
+    "sha256": "0z7hplfl9mlbn07svcavzcb2gqn1hchwhhlpz0qykf6kd441kxpf",
+    "sha256bin64": "0pm8za2vkl30fn2nclg7cfq2ywn5irbzqb3blawybf3cv4ws8nbi",
     "deps": {
       "gn": {
-        "version": "2021-08-11",
+        "version": "2021-09-24",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "69ec4fca1fa69ddadae13f9e6b7507efa0675263",
-        "sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0"
+        "rev": "0153d369bbccc908f4da4993b1ba82728055926a",
+        "sha256": "0y4414h8jqsbz5af6pn91c0vkfp4s281s85g992xfyl785c5zbsi"
       }
     }
   },
   "dev": {
-    "version": "96.0.4664.9",
-    "sha256": "0hlniaglnd19cb3k2wi9mmf56ws8i89lm5y2dbjpr7vqnmj6qc39",
-    "sha256bin64": "1crl8gbhjyaa0yhkvm4va0g9dyljra8n5zg9bd1znmjlk0c124x3",
+    "version": "96.0.4664.18",
+    "sha256": "0z7hplfl9mlbn07svcavzcb2gqn1hchwhhlpz0qykf6kd441kxpf",
+    "sha256bin64": "0y09aginw5qg7apm9wvxny7y8nxhsq7gnxp1jmghfjhv5xq7pdn9",
     "deps": {
       "gn": {
         "version": "2021-09-24",
@@ -44,9 +44,9 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "94.0.4606.81",
-    "sha256": "16755mfqxxmvslm9ix060safrnml91ckj5p85960jj5g5hmslwbh",
-    "sha256bin64": "1d3z5np6b6jax7afak7f0yh76kmmdggdjlrzwyhy8hgrv7c7rsdz",
+    "version": "95.0.4638.54",
+    "sha256": "1zb1009gg9962axn2l1krycz7ml20i8z2n3ka2psxpg68pbqivry",
+    "sha256bin64": "0mf9jfzwz6nkz1yg8lndz1gmsvmdh1rxhqkv0vd9nr04h5x9b41a",
     "deps": {
       "gn": {
         "version": "2021-08-11",
@@ -55,8 +55,8 @@
         "sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0"
       },
       "ungoogled-patches": {
-        "rev": "94.0.4606.81-1",
-        "sha256": "113abybh8kkw9a92lj6jww6dl6rc1sv5x7a7a1gjwsihzd2r0cik"
+        "rev": "95.0.4638.54-1",
+        "sha256": "01jkkz5224aaj5cgdmqknf8v73fyaw4q8bzbqa520a0lvl7hwbg5"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index d245e7035a4..e9281547667 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -31,12 +31,12 @@ let
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "2.3.1";
+  version = "2.4.0";
 
   # 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 = "05n64mw9lzzxpxr7lhakbkm9ir3x8p0rwk6vbbg01aqg5iaanyj0";
+    sha256 = "8s2auxTrq/ljBXOy+4RHvhkod3h9xOOWThtV9yqFkuw=";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix
index c46c6ed2630..5efee961b42 100644
--- a/pkgs/applications/networking/cluster/kubecfg/default.nix
+++ b/pkgs/applications/networking/cluster/kubecfg/default.nix
@@ -1,10 +1,8 @@
-{ lib, buildGoPackage, fetchFromGitHub, ... }:
+{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
 
-let version = "0.21.0"; in
-
-buildGoPackage {
+buildGoPackage rec {
   pname = "kubecfg";
-  inherit version;
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "bitnami";
@@ -17,6 +15,14 @@ buildGoPackage {
 
   ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd kubecfg \
+      --bash <($out/bin/kubecfg completion --shell=bash) \
+      --zsh  <($out/bin/kubecfg completion --shell=zsh)
+  '';
+
   meta = {
     description = "A tool for managing Kubernetes resources as code";
     homepage = "https://github.com/bitnami/kubecfg";
diff --git a/pkgs/applications/networking/cluster/nixops/default.nix b/pkgs/applications/networking/cluster/nixops/default.nix
index 4002f7478b3..9eabf0ac1b5 100644
--- a/pkgs/applications/networking/cluster/nixops/default.nix
+++ b/pkgs/applications/networking/cluster/nixops/default.nix
@@ -62,6 +62,7 @@ let
 
   pkg = interpreter.pkgs.nixops.withPlugins(ps: [
     ps.nixops-encrypted-links
+    ps.nixops-hercules-ci
     ps.nixops-virtd
     ps.nixops-aws
     ps.nixops-gcp
diff --git a/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix b/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
index cc40395d6d9..75b9471c9e0 100644
--- a/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
+++ b/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
@@ -41,6 +41,16 @@ self: super: {
     }
   );
 
+  nixops-hercules-ci = super.nixops-hercules-ci.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/hercules-ci/nixops-hercules-ci.git";
+        rev = "e601d5baffd003fd5f22deeaea0cb96444b054dc";
+        sha256 = "0rcpv5hc6l9ia8lq8ivwa80b2pwssmdz8an25lhr4i2472mpx1p0";
+      };
+    }
+  );
+
   nixops-virtd = super.nixops-virtd.overridePythonAttrs (
     _: {
       src = pkgs.fetchgit {
diff --git a/pkgs/applications/networking/cluster/nixops/poetry.lock b/pkgs/applications/networking/cluster/nixops/poetry.lock
index 08e6b714982..87d8fce2f23 100644
--- a/pkgs/applications/networking/cluster/nixops/poetry.lock
+++ b/pkgs/applications/networking/cluster/nixops/poetry.lock
@@ -38,14 +38,14 @@ python-versions = "*"
 
 [[package]]
 name = "boto3"
-version = "1.18.60"
+version = "1.18.64"
 description = "The AWS SDK for Python"
 category = "main"
 optional = false
 python-versions = ">= 3.6"
 
 [package.dependencies]
-botocore = ">=1.21.60,<1.22.0"
+botocore = ">=1.21.64,<1.22.0"
 jmespath = ">=0.7.1,<1.0.0"
 s3transfer = ">=0.5.0,<0.6.0"
 
@@ -54,7 +54,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
 
 [[package]]
 name = "botocore"
-version = "1.21.60"
+version = "1.21.64"
 description = "Low-level, data-driven core of boto 3."
 category = "main"
 optional = false
@@ -66,7 +66,7 @@ python-dateutil = ">=2.1,<3.0.0"
 urllib3 = ">=1.25.4,<1.27"
 
 [package.extras]
-crt = ["awscrt (==0.11.24)"]
+crt = ["awscrt (==0.12.5)"]
 
 [[package]]
 name = "certifi"
@@ -78,7 +78,7 @@ python-versions = "*"
 
 [[package]]
 name = "cffi"
-version = "1.14.6"
+version = "1.15.0"
 description = "Foreign Function Interface for Python calling C code."
 category = "main"
 optional = false
@@ -135,7 +135,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
 [[package]]
 name = "idna"
-version = "3.2"
+version = "3.3"
 description = "Internationalized Domain Names in Applications (IDNA)"
 category = "main"
 optional = false
@@ -270,6 +270,24 @@ reference = "master"
 resolved_reference = "712453027486e62e087b9c91e4a8a171eebb6ddd"
 
 [[package]]
+name = "nixops-hercules-ci"
+version = "0.1.0"
+description = ""
+category = "main"
+optional = false
+python-versions = "^3.8"
+develop = false
+
+[package.dependencies]
+nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"}
+
+[package.source]
+type = "git"
+url = "https://github.com/hercules-ci/nixops-hercules-ci.git"
+reference = "master"
+resolved_reference = "e601d5baffd003fd5f22deeaea0cb96444b054dc"
+
+[[package]]
 name = "nixops-virtd"
 version = "1.0"
 description = "NixOps plugin for virtd"
@@ -583,7 +601,7 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.8"
-content-hash = "bd064837654a0d4a4691b3df01338b92c95a449ff400a9cd49fee843ab13ee92"
+content-hash = "8a294b2745b271983bac54258b4f3a2ab3b2e5b218440329fa7eea482c63774f"
 
 [metadata.files]
 alabaster = [
@@ -603,63 +621,68 @@ boto = [
     {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
 ]
 boto3 = [
-    {file = "boto3-1.18.60-py3-none-any.whl", hash = "sha256:8f3face72d2ac6ad36bd7724410548891ce338b350e6f98574890a7b1d425d78"},
-    {file = "boto3-1.18.60.tar.gz", hash = "sha256:45709a04ec5fb67ce5a8eaade3eb0ab24d6eb08d9a9ca6bdb2153047896197fc"},
+    {file = "boto3-1.18.64-py3-none-any.whl", hash = "sha256:b4d6299dd16a3042b7750cde00fe38d57fd59d3ce242308ba8488618ca931694"},
+    {file = "boto3-1.18.64.tar.gz", hash = "sha256:9223b433b0d3b74f2b9574fb3c384048998343ccd6b608044318a7f9b904f661"},
 ]
 botocore = [
-    {file = "botocore-1.21.60-py3-none-any.whl", hash = "sha256:890a5835ac00415ff78f1c7118a774aae83c0c70742284b68abd1176f9d05761"},
-    {file = "botocore-1.21.60.tar.gz", hash = "sha256:3e746ca75fb7539ba3f001169264fa54dfaded2477ffc8bd979ce1e1df200620"},
+    {file = "botocore-1.21.64-py3-none-any.whl", hash = "sha256:d57287377e4c7c7d7bf6c5fa39e02994de1d99fced9492a58a00e5a54bae1cca"},
+    {file = "botocore-1.21.64.tar.gz", hash = "sha256:0a30dca4dad7d43fd856e671ace95f9afc4726caa1e22f0ae11b654fc76e0c7d"},
 ]
 certifi = [
     {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
     {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
 ]
 cffi = [
-    {file = "cffi-1.14.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c"},
-    {file = "cffi-1.14.6-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:f0c5d1acbfca6ebdd6b1e3eded8d261affb6ddcf2186205518f1428b8569bb99"},
-    {file = "cffi-1.14.6-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99f27fefe34c37ba9875f224a8f36e31d744d8083e00f520f133cab79ad5e819"},
-    {file = "cffi-1.14.6-cp27-cp27m-win32.whl", hash = "sha256:55af55e32ae468e9946f741a5d51f9896da6b9bf0bbdd326843fec05c730eb20"},
-    {file = "cffi-1.14.6-cp27-cp27m-win_amd64.whl", hash = "sha256:7bcac9a2b4fdbed2c16fa5681356d7121ecabf041f18d97ed5b8e0dd38a80224"},
-    {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:ed38b924ce794e505647f7c331b22a693bee1538fdf46b0222c4717b42f744e7"},
-    {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e22dcb48709fc51a7b58a927391b23ab37eb3737a98ac4338e2448bef8559b33"},
-    {file = "cffi-1.14.6-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:aedb15f0a5a5949ecb129a82b72b19df97bbbca024081ed2ef88bd5c0a610534"},
-    {file = "cffi-1.14.6-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:48916e459c54c4a70e52745639f1db524542140433599e13911b2f329834276a"},
-    {file = "cffi-1.14.6-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:f627688813d0a4140153ff532537fbe4afea5a3dffce1f9deb7f91f848a832b5"},
-    {file = "cffi-1.14.6-cp35-cp35m-win32.whl", hash = "sha256:f0010c6f9d1a4011e429109fda55a225921e3206e7f62a0c22a35344bfd13cca"},
-    {file = "cffi-1.14.6-cp35-cp35m-win_amd64.whl", hash = "sha256:57e555a9feb4a8460415f1aac331a2dc833b1115284f7ded7278b54afc5bd218"},
-    {file = "cffi-1.14.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e8c6a99be100371dbb046880e7a282152aa5d6127ae01783e37662ef73850d8f"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:19ca0dbdeda3b2615421d54bef8985f72af6e0c47082a8d26122adac81a95872"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d950695ae4381ecd856bcaf2b1e866720e4ab9a1498cba61c602e56630ca7195"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9dc245e3ac69c92ee4c167fbdd7428ec1956d4e754223124991ef29eb57a09d"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8661b2ce9694ca01c529bfa204dbb144b275a31685a075ce123f12331be790b"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b315d709717a99f4b27b59b021e6207c64620790ca3e0bde636a6c7f14618abb"},
-    {file = "cffi-1.14.6-cp36-cp36m-win32.whl", hash = "sha256:80b06212075346b5546b0417b9f2bf467fea3bfe7352f781ffc05a8ab24ba14a"},
-    {file = "cffi-1.14.6-cp36-cp36m-win_amd64.whl", hash = "sha256:a9da7010cec5a12193d1af9872a00888f396aba3dc79186604a09ea3ee7c029e"},
-    {file = "cffi-1.14.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4373612d59c404baeb7cbd788a18b2b2a8331abcc84c3ba40051fcd18b17a4d5"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:f10afb1004f102c7868ebfe91c28f4a712227fe4cb24974350ace1f90e1febbf"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:fd4305f86f53dfd8cd3522269ed7fc34856a8ee3709a5e28b2836b2db9d4cd69"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d6169cb3c6c2ad50db5b868db6491a790300ade1ed5d1da29289d73bbe40b56"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d4b68e216fc65e9fe4f524c177b54964af043dde734807586cf5435af84045c"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33791e8a2dc2953f28b8d8d300dde42dd929ac28f974c4b4c6272cb2955cb762"},
-    {file = "cffi-1.14.6-cp37-cp37m-win32.whl", hash = "sha256:0c0591bee64e438883b0c92a7bed78f6290d40bf02e54c5bf0978eaf36061771"},
-    {file = "cffi-1.14.6-cp37-cp37m-win_amd64.whl", hash = "sha256:8eb687582ed7cd8c4bdbff3df6c0da443eb89c3c72e6e5dcdd9c81729712791a"},
-    {file = "cffi-1.14.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba6f2b3f452e150945d58f4badd92310449876c4c954836cfb1803bdd7b422f0"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux1_i686.whl", hash = "sha256:64fda793737bc4037521d4899be780534b9aea552eb673b9833b01f945904c2e"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:9f3e33c28cd39d1b655ed1ba7247133b6f7fc16fa16887b120c0c670e35ce346"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26bb2549b72708c833f5abe62b756176022a7b9a7f689b571e74c8478ead51dc"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb687a11f0a7a1839719edd80f41e459cc5366857ecbed383ff376c4e3cc6afd"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2ad4d668a5c0645d281dcd17aff2be3212bc109b33814bbb15c4939f44181cc"},
-    {file = "cffi-1.14.6-cp38-cp38-win32.whl", hash = "sha256:487d63e1454627c8e47dd230025780e91869cfba4c753a74fda196a1f6ad6548"},
-    {file = "cffi-1.14.6-cp38-cp38-win_amd64.whl", hash = "sha256:c33d18eb6e6bc36f09d793c0dc58b0211fccc6ae5149b808da4a62660678b156"},
-    {file = "cffi-1.14.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:06c54a68935738d206570b20da5ef2b6b6d92b38ef3ec45c5422c0ebaf338d4d"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux1_i686.whl", hash = "sha256:f174135f5609428cc6e1b9090f9268f5c8935fddb1b25ccb8255a2d50de6789e"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f3ebe6e73c319340830a9b2825d32eb6d8475c1dac020b4f0aa774ee3b898d1c"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c8d896becff2fa653dc4438b54a5a25a971d1f4110b32bd3068db3722c80202"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4922cd707b25e623b902c86188aca466d3620892db76c0bdd7b99a3d5e61d35f"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9e005e9bd57bc987764c32a1bee4364c44fdc11a3cc20a40b93b444984f2b87"},
-    {file = "cffi-1.14.6-cp39-cp39-win32.whl", hash = "sha256:eb9e2a346c5238a30a746893f23a9535e700f8192a68c07c0258e7ece6ff3728"},
-    {file = "cffi-1.14.6-cp39-cp39-win_amd64.whl", hash = "sha256:818014c754cd3dba7229c0f5884396264d51ffb87ec86e927ef0be140bfdb0d2"},
-    {file = "cffi-1.14.6.tar.gz", hash = "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd"},
+    {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
+    {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
+    {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
+    {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
+    {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
+    {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
+    {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
+    {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
+    {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
+    {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
+    {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
+    {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
+    {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
+    {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
+    {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
+    {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
+    {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
 ]
 charset-normalizer = [
     {file = "charset-normalizer-2.0.7.tar.gz", hash = "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0"},
@@ -676,8 +699,6 @@ cryptography = [
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34dae04a0dce5730d8eb7894eab617d8a70d0c97da76b905de9efb7128ad7085"},
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b"},
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:9965c46c674ba8cc572bc09a03f4c649292ee73e1b683adb1ce81e82e9a6a0fb"},
-    {file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:3c4129fc3fdc0fa8e40861b5ac0c673315b3c902bbdc05fc176764815b43dd1d"},
-    {file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:695104a9223a7239d155d7627ad912953b540929ef97ae0c34c7b8bf30857e89"},
     {file = "cryptography-3.4.8-cp36-abi3-win32.whl", hash = "sha256:21ca464b3a4b8d8e86ba0ee5045e103a1fcfac3b39319727bc0fc58c09c6aff7"},
     {file = "cryptography-3.4.8-cp36-abi3-win_amd64.whl", hash = "sha256:3520667fda779eb788ea00080124875be18f2d8f0848ec00733c0ec3bb8219fc"},
     {file = "cryptography-3.4.8-pp36-pypy36_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d2a6e5ef66503da51d2110edf6c403dc6b494cc0082f85db12f54e9c5d4c3ec5"},
@@ -695,8 +716,8 @@ docutils = [
     {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"},
 ]
 idna = [
-    {file = "idna-3.2-py3-none-any.whl", hash = "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a"},
-    {file = "idna-3.2.tar.gz", hash = "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3"},
+    {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
+    {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
 ]
 imagesize = [
     {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"},
@@ -714,22 +735,12 @@ libvirt-python = [
     {file = "libvirt-python-7.8.0.tar.gz", hash = "sha256:9d07416d66805bf1a17f34491b3ced2ac6c42b6a012ddf9177e0e3ae1b103fd5"},
 ]
 markupsafe = [
-    {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
-    {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
-    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
-    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"},
-    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"},
-    {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"},
-    {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
-    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"},
-    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"},
-    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
@@ -738,21 +749,14 @@ markupsafe = [
     {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
-    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"},
-    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"},
-    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
-    {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
-    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"},
-    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"},
-    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
@@ -762,9 +766,6 @@ markupsafe = [
     {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
-    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"},
-    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"},
-    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
     {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
@@ -773,6 +774,7 @@ nixops = []
 nixops-aws = []
 nixops-encrypted-links = []
 nixops-gcp = []
+nixops-hercules-ci = []
 nixops-virtd = []
 nixopsvbox = []
 nixos-modules-contrib = []
diff --git a/pkgs/applications/networking/cluster/nixops/pyproject.toml b/pkgs/applications/networking/cluster/nixops/pyproject.toml
index 09ffb54fa2b..3cd3025b1fa 100644
--- a/pkgs/applications/networking/cluster/nixops/pyproject.toml
+++ b/pkgs/applications/networking/cluster/nixops/pyproject.toml
@@ -11,6 +11,7 @@ nixops-aws = {git = "https://github.com/NixOS/nixops-aws.git"}
 nixops-gcp = {git = "https://github.com/nix-community/nixops-gce.git"}
 nixopsvbox = {git = "https://github.com/nix-community/nixops-vbox.git"}
 nixops-encrypted-links = {git = "https://github.com/nix-community/nixops-encrypted-links.git"}
+nixops-hercules-ci = {git = "https://github.com/hercules-ci/nixops-hercules-ci.git"}
 nixops-virtd = {git = "https://github.com/nix-community/nixops-libvirtd.git"}
 
 [tool.poetry.dev-dependencies]
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 7be9c9cc742..65b6e421164 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -727,10 +727,10 @@
     "owner": "terraform-providers",
     "provider-source-address": "registry.terraform.io/hashicorp/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.35.0",
-    "sha256": "12acy39cr6pxq8gk483b6i78x463ml9pk10qp9jpz0dr05zcyhqw",
+    "rev": "v4.49.0",
+    "sha256": "1s1gfnj3pi3q11jrdc2qxz9ccdk549nki0qkcnd0s7lxac8xzyfh",
     "vendorSha256": null,
-    "version": "4.35.0"
+    "version": "4.49.0"
   },
   "okta": {
     "owner": "terraform-providers",
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index 1267340c098..52935267cf2 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "teams";
-  version = "1.4.00.13653";
+  version = "1.4.00.26453";
 
   src = fetchurl {
     url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
-    sha256 = "1kx4j837fd344zy90nl0j3r8cdvihy6i6gf56wd5n56zngx1fhjv";
+    sha256 = "0ndqk893l17m42hf5fiiv6mka0v7v8r54kblvb67jsxajdvva5gf";
   };
 
   nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook nodePackages.asar ];
diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix
index 7fffc5abc5b..57997ce7e22 100644
--- a/pkgs/applications/networking/maestral-qt/default.nix
+++ b/pkgs/applications/networking/maestral-qt/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.5.0";
+  version = "1.5.1";
   disabled = python3.pkgs.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "v${version}";
-    sha256 = "sha256-JY7AkTnrH/92IfUx/ujK7jMF3zwLsnEE9+/At4UnTNw=";
+    sha256 = "sha256-LtKFdNX2/wSs9Hxplu7rz6rc1hoijCGgCKyLjlcRQoI=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/networking/mailreaders/bubblemail/default.nix b/pkgs/applications/networking/mailreaders/bubblemail/default.nix
index d415eb4e51f..61276220756 100644
--- a/pkgs/applications/networking/mailreaders/bubblemail/default.nix
+++ b/pkgs/applications/networking/mailreaders/bubblemail/default.nix
@@ -17,14 +17,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "bubblemail";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = "razer";
     repo = "bubblemail";
     rev = "v${version}";
-    sha256 = "FEIdEoZBlM28F5kSMoln7KACwetb8hp+qix1P+DIE8k=";
+    sha256 = "sha256-MPl4pXvdhwCFWTepn/Mxp8ZMs+HCzXC59qdKZp3mHdw=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 23b636458c9..5eeec874dee 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20211015";
+  version = "20211022";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "sha256-ObYeh9Q/WZ1N60pxR2LoDNCU8rP4tQt/oIxnqALqMhs=";
+    sha256 = "sha256-gPMbl+g9tU7YmT3uJoJozCdDBb/4eFyVyvHdREK1Ss0=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 312023566b0..7f48ad2d3b4 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -106,7 +106,6 @@ in stdenv.mkDerivation {
       r @{PROC}/@{pid}/environ,
       r @{PROC}/@{pid}/mounts,
       rwk /tmp/tr_session_id_*,
-      r /run/systemd/resolve/stub-resolv.conf,
 
       r $out/share/transmission/web/**,
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 4b1150159a4..261a9969872 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,16 +4,16 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.18.2";
+      version = "1.18.3";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "1r5vd501p3ydi6rr2k4cqdl3pixdr79lfwpnc90xmd1i6mlyxrma";
+        sha256 = "sha256-wc4+j2kTSwZsxIdJHmznkNIq436p0yNrskchuEJtL5E=";
       };
 
-      vendorSha256 = "1v8hdr2na7bndx6q1kk0dkg1v9149gbhxcva1wq075xjl0kw21ip";
+      vendorSha256 = "sha256-klbAVOHLefxG33zpEYFlPezrKrXfuWOaE+UnIsu462M=";
 
       doCheck = false;
 
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 2f34d8b8c18..c983787d23e 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
 
 let
-  _version = "2.8.6";
-  _build = "455";
+  _version = "2.10.0";
+  _build = "480";
   version = "${_version}-${_build}";
   name = "jameica-${version}";
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "willuhn";
     repo = "jameica";
     rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}";
-    sha256 = "1pndklxsvixy6zyblqr62ki3pqaq8lfrzgasrvhclqxxh76gjlss";
+    sha256 = "0rzhbskzzvr9aan6fwxd2kmzg79ranx7aym5yn1i37z3ra67d1nz";
   };
 
   # there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
diff --git a/pkgs/applications/office/super-productivity/default.nix b/pkgs/applications/office/super-productivity/default.nix
index 2b3ee7ddc23..90608dceba5 100644
--- a/pkgs/applications/office/super-productivity/default.nix
+++ b/pkgs/applications/office/super-productivity/default.nix
@@ -5,11 +5,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "super-productivity";
-  version = "7.5.1";
+  version = "7.6.0";
 
   src = fetchurl {
     url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
-    sha256 = "sha256-ezJN/t0iNk0haMLPioEQSNXU4ugVeJe44GNVGd+cOF4=";
+    sha256 = "f02a451a44f48a8e85a0c1269625d89fb1e0b8a75b7e217d96352064e6464ae5";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/radio/airspyhf/default.nix b/pkgs/applications/radio/airspyhf/default.nix
new file mode 100644
index 00000000000..a54e8441e36
--- /dev/null
+++ b/pkgs/applications/radio/airspyhf/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libusb1 }:
+
+stdenv.mkDerivation rec {
+  pname = "airspyhf";
+  version = "1.6.8";
+
+  src = fetchFromGitHub {
+    owner = "airspy";
+    repo = pname;
+    rev = version;
+    hash = "sha256-RKTMEDPeKcerJZtXTn8eAShxDcZUMgeQg/+7pEpMyVg=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ libusb1 ];
+
+  meta = with lib; {
+    description = "User mode driver for Airspy HF+";
+    homepage = "https://github.com/airspy/airspyhf";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/radio/sdrpp/default.nix b/pkgs/applications/radio/sdrpp/default.nix
new file mode 100644
index 00000000000..2324d400323
--- /dev/null
+++ b/pkgs/applications/radio/sdrpp/default.nix
@@ -0,0 +1,107 @@
+{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
+, libX11, glfw, glew, fftwFloat, volk
+# Sources
+, airspy_source ? true, airspy
+, airspyhf_source ? true, airspyhf
+, bladerf_source ? false, libbladeRF
+, file_source ? true
+, hackrf_source ? true, hackrf
+, limesdr_source ? false, limesuite
+, sddc_source ? false
+, rtl_sdr_source ? true, librtlsdr, libusb1
+, rtl_tcp_source ? true
+, sdrplay_source ? false, sdrplay
+, soapy_source ? true, soapysdr
+, spyserver_source ? true
+, plutosdr_source ? true, libiio, libad9361
+# Sinks
+, audio_sink ? true, rtaudio
+, portaudio_sink ? false, portaudio
+, network_sink ? true
+# Decoders
+, falcon9_decoder ? false
+, m17_decoder ? false, codec2
+, meteor_demodulator ? true
+, radio ? true
+, weather_sat_decoder ? true
+# Misc
+, discord_presence ? true
+, frequency_manager ? true
+, recorder ? true
+, rigctl_server ? true
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sdrpp";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "AlexandreRouma";
+    repo = "SDRPlusPlus";
+    rev = version;
+    hash = "sha256-g9tpWvVRMXRhPfgvOeJhX6IMouF9+tLUr9wo5r35i/c=";
+  };
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr" $out
+    substituteInPlace decoder_modules/m17_decoder/src/m17dsp.h \
+      --replace "codec2.h" "codec2/codec2.h"
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ glfw glew fftwFloat volk ]
+    ++ lib.optional stdenv.isLinux libX11
+    ++ lib.optional airspy_source airspy
+    ++ lib.optional airspyhf_source airspyhf
+    ++ lib.optional bladerf_source libbladeRF
+    ++ lib.optional hackrf_source hackrf
+    ++ lib.optional limesdr_source limesuite
+    ++ lib.optionals rtl_sdr_source [ librtlsdr libusb1 ]
+    ++ lib.optional sdrplay_source sdrplay
+    ++ lib.optional soapy_source soapysdr
+    ++ lib.optionals plutosdr_source [ libiio libad9361 ]
+    ++ lib.optional audio_sink rtaudio
+    ++ lib.optional portaudio_sink portaudio
+    ++ lib.optional m17_decoder codec2;
+
+  cmakeFlags = lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
+    OPT_BUILD_AIRSPY_SOURCE = airspy_source;
+    OPT_BUILD_AIRSPYHF_SOURCE = airspyhf_source;
+    OPT_BUILD_BLADERF_SOURCE = bladerf_source;
+    OPT_BUILD_FILE_SOURCE = file_source;
+    OPT_BUILD_HACKRF_SOURCE = hackrf_source;
+    OPT_BUILD_LIMESDR_SOURCE = limesdr_source;
+    OPT_BUILD_SDDC_SOURCE = sddc_source;
+    OPT_BUILD_RTL_SDR_SOURCE = rtl_sdr_source;
+    OPT_BUILD_RTL_TCP_SOURCE = rtl_tcp_source;
+    OPT_BUILD_SDRPLAY_SOURCE = sdrplay_source;
+    OPT_BUILD_SOAPY_SOURCE = soapy_source;
+    OPT_BUILD_SPYSERVER_SOURCE = spyserver_source;
+    OPT_BUILD_PLUTOSDR_SOURCE = plutosdr_source;
+    OPT_BUILD_AUDIO_SINK = audio_sink;
+    OPT_BUILD_PORTAUDIO_SINK = portaudio_sink;
+    OPT_BUILD_NETWORK_SINK = network_sink;
+    OPT_BUILD_NEW_PORTAUDIO_SINK = portaudio_sink;
+    OPT_BUILD_FALCON9_DECODER = falcon9_decoder;
+    OPT_BUILD_M17_DECODER = m17_decoder;
+    OPT_BUILD_METEOR_DEMODULATOR = meteor_demodulator;
+    OPT_BUILD_RADIO = radio;
+    OPT_BUILD_WEATHER_SAT_DECODER = weather_sat_decoder;
+    OPT_BUILD_DISCORD_PRESENCE = discord_presence;
+    OPT_BUILD_FREQUENCY_MANAGER = frequency_manager;
+    OPT_BUILD_RECORDER = recorder;
+    OPT_BUILD_RIGCTL_SERVER = rigctl_server;
+  };
+
+  NIX_CFLAGS_COMPILE = "-fpermissive";
+
+  meta = with lib; {
+    description = "Cross-Platform SDR Software";
+    homepage = "https://github.com/AlexandreRouma/SDRPlusPlus";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 0c5b81452fd..8de0580a819 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, unzip, zlib, python3, parallel }:
+{ lib, stdenv, fetchFromGitLab, unzip, zlib, python3, parallel }:
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1179";
+  version = "1256";
 
-  src = fetchurl {
-    url = "http://last.cbrc.jp/last-${version}.zip";
-    sha256 = "sha256-949oiE7ZNkCOJuOK/huPkCN0c4TlVaTskkBe0joc0HU=";
+  src = fetchFromGitLab {
+    owner = "mcfrith";
+    repo = "last";
+    rev = version;
+    sha256 = "sha256-lOsU0X4K6jYcbkTzwQV+KAerQh9odE4zCLtSgZrYH6s=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index a5b226bd0a9..4c16413746d 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.26.2";
+  version = "2.26.3";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "sha256-mfqxaZpzX9BIoFl1okN3TxzJnoepsoMR1KqHLQY5BHQ=";
+    sha256 = "sha256-H7VgD75tmAEd01Pj1o6BNT0QaXhd1pUIpAFmKM6OUlo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/logic/tamarin-prover/default.nix b/pkgs/applications/science/logic/tamarin-prover/default.nix
index a77f2dbac44..76dc559cb7a 100644
--- a/pkgs/applications/science/logic/tamarin-prover/default.nix
+++ b/pkgs/applications/science/logic/tamarin-prover/default.nix
@@ -4,12 +4,12 @@
 }:
 
 let
-  version = "1.6.0";
+  version = "1.6.1";
   src = fetchFromGitHub {
     owner  = "tamarin-prover";
     repo   = "tamarin-prover";
     rev    = version;
-    sha256 = "1pl3kz7gyw9g6s4x5j90z4snd10vq6296g3ajlr8d4n53p3c9i3w";
+    sha256 = "sha256:0cz1v7k4d0im749ag632nc34n91b51b0pq4z05rzw1p59a5lza92";
   };
 
   # tamarin has its own dependencies, but they're kept inside the repo,
@@ -85,15 +85,11 @@ mkDerivation (common "tamarin-prover" src // {
 
   executableHaskellDepends = (with haskellPackages; [
     binary-instances binary-orphans blaze-html conduit file-embed
-    gitrev http-types lifted-base monad-control monad-unlift
+    gitrev http-types lifted-base monad-control
     resourcet shakespeare threads wai warp yesod-core yesod-static
   ]) ++ [ tamarin-prover-utils
           tamarin-prover-sapic
           tamarin-prover-term
           tamarin-prover-theory
         ];
-
-  # tamarin-prover 1.6 is incompatible with maude 3.1.
-  hydraPlatforms = lib.platforms.none;
-  broken = true;
 })
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index c26964bb314..dbd2fb095e0 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -119,6 +119,6 @@ stdenv.mkDerivation rec {
 
     platforms = platforms.all;
 
-    maintainers = with maintainers; teams.sage.members;
+    maintainers = with maintainers; [ jbedo ] ++ teams.sage.members;
   };
 }
diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix
index d53947d806d..76bbc90773b 100644
--- a/pkgs/applications/science/math/sage/sagedoc.nix
+++ b/pkgs/applications/science/math/sage/sagedoc.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     networkx
     ipykernel
     ipywidgets
-    jupyter_client
+    jupyter-client
   ]);
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 3088a68ca69..de0e97501fd 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.15.4";
+  version = "1.15.5";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-UsaTA6bI5pr3vbvO3jFn8A8qVRi385fbiJQD09Ut/X0=";
+    sha256 = "sha256-W+czWzo4keTLRPDLcTeYl3JSccwfq+P6k4ELADO9FVM=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 93c3b2203b7..12ca0dfe4cb 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -112,6 +112,15 @@ in stdenv.mkDerivation rec {
       url = "https://github.com/mpv-player/mpv/commit/7c4465cefb27d4e0d07535d368febdf77b579566.patch";
       sha256 = "1yfc6220ak5kc5kf7zklmsa944nr9q0qaa27l507pgrmvcyiyzrx";
     })
+    # TOREMOVE when > 0.33.1
+    # youtube-dl has been abandonned and is now unusable w/
+    # youtube.com. Mpv migrated to yt-dlp since the 0.33.1 but did not
+    # cut a new release yet. See
+    # https://github.com/mpv-player/mpv/pull/9209
+    (fetchpatch {
+      url = "https://github.com/mpv-player/mpv/commit/d1c92bfd79ef81ac804fcc20aee2ed24e8d587aa.patch";
+      sha256 = "1dwxzng3gsrx0gjljm5jmfcjz3pzdss9z2l0n25rmmb4nbcrcx1f";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix
index 5225197772c..984623ed778 100644
--- a/pkgs/applications/video/mpv/wrapper.nix
+++ b/pkgs/applications/video/mpv/wrapper.nix
@@ -3,7 +3,7 @@
 , lib
 , symlinkJoin
 , makeWrapper
-, youtube-dl
+, yt-dlp
 }:
 
 # the unwrapped mpv derivation - 1st argument to `wrapMpv`
@@ -25,7 +25,7 @@ let
     binPath = lib.makeBinPath ([
       mpv.luaEnv
     ] ++ lib.optionals youtubeSupport [
-      youtube-dl
+      yt-dlp
     ] ++ lib.optionals mpv.vapoursynthSupport [
       mpv.vapoursynth.python3
     ]);
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index a945b2c79d7..705e5b5d611 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "3.4.0";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-AeddndkKyUs9i0bg0XO5QCmYgqgWREnHWsmce6VM7Oo=";
+    sha256 = "sha256-+6ALwm1Hc76rYwlQN0r8zX2n+nxBk5iW4AHWBlzAIOc=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix
index c2186cf6bfa..006fc2aff92 100644
--- a/pkgs/build-support/buildenv/default.nix
+++ b/pkgs/build-support/buildenv/default.nix
@@ -62,7 +62,7 @@ runCommand name
         # and otherwise use `meta.outputsToInstall`. The attribute is guaranteed
         # to exist in mkDerivation-created cases. The other cases (e.g. runCommand)
         # aren't expected to have multiple outputs.
-        (if drv.outputUnspecified or false
+        (if (! drv ? outputSpecified || ! drv.outputSpecified)
             && drv.meta.outputsToInstall or null != null
           then map (outName: drv.${outName}) drv.meta.outputsToInstall
           else [ drv ])
diff --git a/pkgs/build-support/fetchgitlab/default.nix b/pkgs/build-support/fetchgitlab/default.nix
index 5b9dbd71c59..9ee0b3ca368 100644
--- a/pkgs/build-support/fetchgitlab/default.nix
+++ b/pkgs/build-support/fetchgitlab/default.nix
@@ -1,7 +1,7 @@
 { fetchgit, fetchzip, lib }:
 
 # gitlab example
-{ owner, repo, rev, domain ? "gitlab.com", name ? "source", group ? null
+{ owner, repo, rev, protocol ? "https", domain ? "gitlab.com", name ? "source", group ? null
 , fetchSubmodules ? false, leaveDotGit ? false, deepClone ? false
 , ... # For hash agility
 } @ args:
@@ -17,10 +17,10 @@ let
 
   fetcherArgs = (if useFetchGit then {
     inherit rev deepClone fetchSubmodules leaveDotGit;
-    url = "https://${domain}/${slug}.git";
+    url = "${protocol}://${domain}/${slug}.git";
   } else {
-    url = "https://${domain}/api/v4/projects/${escapedSlug}/repository/archive.tar.gz?sha=${escapedRev}";
+    url = "${protocol}://${domain}/api/v4/projects/${escapedSlug}/repository/archive.tar.gz?sha=${escapedRev}";
   }) // passthruAttrs // { inherit name; };
 in
 
-fetcher fetcherArgs // { meta.homepage = "https://${domain}/${slug}/"; inherit rev; }
+fetcher fetcherArgs // { meta.homepage = "${protocol}://${domain}/${slug}/"; inherit rev; }
diff --git a/pkgs/data/fonts/atkinson-hyperlegible/default.nix b/pkgs/data/fonts/atkinson-hyperlegible/default.nix
new file mode 100644
index 00000000000..ef7425e12e4
--- /dev/null
+++ b/pkgs/data/fonts/atkinson-hyperlegible/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub }:
+
+let
+  pname = "atkinson-hyperlegible";
+  version = "unstable-2021-04-29";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+
+  owner = "googlefonts";
+  repo = "atkinson-hyperlegible";
+  rev = "1cb311624b2ddf88e9e37873999d165a8cd28b46";
+  sha256 = "sha256-urSTqC3rfDRM8IMG+edwKEe7NPiTuDZph3heGHzLDks=";
+
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -Dm644 -t $out/share/fonts/opentype fonts/otf/*
+  '';
+
+  meta = with lib; {
+    description = "Typeface designed to offer greater legibility and readability for low vision readers";
+    homepage = "https://brailleinstitute.org/freefont";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix
index c9518b78a65..eaf82d412a1 100644
--- a/pkgs/data/fonts/source-code-pro/default.nix
+++ b/pkgs/data/fonts/source-code-pro/default.nix
@@ -1,21 +1,21 @@
 { lib, fetchzip }:
 
 let
-  version = "2.030";
+  version = "2.038";
 in fetchzip {
   name = "source-code-pro-${version}";
 
-  url = "https://github.com/adobe-fonts/source-code-pro/archive/2.030R-ro/1.050R-it.zip";
+  url = "https://github.com/adobe-fonts/source-code-pro/releases/download/${version}R-ro%2F1.058R-it%2F1.018R-VAR/OTF-source-code-pro-${version}R-ro-1.058R-it.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
     unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
   '';
 
-  sha256 = "0d8qwzjgnz264wlm4qim048z3236z4hbblvc6yplw13f6b65j6fv";
+  sha256 = "027cf62zj27q7l3d4sqzdfgz423lzysihdg8cvmkk6z910a1v368";
 
   meta = {
-    description = "A set of monospaced OpenType fonts designed for coding environments";
+    description = "Monospaced font family for user interface and coding environments";
     maintainers = with lib.maintainers; [ relrod ];
     platforms = with lib.platforms; all;
     homepage = "https://adobe-fonts.github.io/source-code-pro/";
diff --git a/pkgs/data/fonts/source-sans-pro/default.nix b/pkgs/data/fonts/source-sans/default.nix
index 7d5c7679ad8..c16d0d2b8b4 100644
--- a/pkgs/data/fonts/source-sans-pro/default.nix
+++ b/pkgs/data/fonts/source-sans/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchzip }:
 
 let
-  version = "3.006";
+  version = "3.046";
 in fetchzip {
-  name = "source-sans-pro-${version}";
+  name = "source-sans-${version}";
 
-  url = "https://github.com/adobe-fonts/source-sans-pro/releases/download/${version}R/source-sans-pro-${version}R.zip";
+  url = "https://github.com/adobe-fonts/source-sans/archive/${version}R.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts/{opentype,truetype,variable}
@@ -14,11 +14,11 @@ in fetchzip {
     unzip -j $downloadedFile "*/VAR/*.otf" -d $out/share/fonts/variable
   '';
 
-  sha256 = "11jd50cqiq2s0z39rclg73iiw2j5yzgs1glfs9psw5wbbisgysmr";
+  sha256 = "1wxdinnliq0xqbjrs0sqykwaggkmyqawfq862d9xn05g1pnxda94";
 
   meta = with lib; {
-    homepage = "https://adobe-fonts.github.io/source-sans-pro/";
-    description = "A set of OpenType fonts designed by Adobe for UIs";
+    homepage = "https://adobe-fonts.github.io/source-sans/";
+    description = "Sans serif font family for user interface environments";
     license = licenses.ofl;
     platforms = platforms.all;
     maintainers = with maintainers; [ ttuegel ];
diff --git a/pkgs/data/fonts/source-serif-pro/default.nix b/pkgs/data/fonts/source-serif-pro/default.nix
deleted file mode 100644
index 86a45b80efd..00000000000
--- a/pkgs/data/fonts/source-serif-pro/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, fetchzip }:
-
-let
-  version = "3.000";
-in fetchzip {
-  name = "source-serif-pro-${version}";
-
-  url = "https://github.com/adobe-fonts/source-serif-pro/releases/download/${version}R/source-serif-pro-${version}R.zip";
-
-  postFetch = ''
-    mkdir -p $out/share/fonts/{opentype,truetype,variable}
-    unzip -j $downloadedFile "OTF/*.otf" -d $out/share/fonts/opentype
-    unzip -j $downloadedFile "TTF/*.ttf" -d $out/share/fonts/truetype
-    unzip -j $downloadedFile "VAR/*.otf" -d $out/share/fonts/variable
-  '';
-
-  sha256 = "06yp8y79mqk02qzp81h8zkmzqqlhicgrkwmzkd0bm338xh8grsiz";
-
-  meta = with lib; {
-    homepage = "https://adobe-fonts.github.io/source-serif-pro/";
-    description = "A set of OpenType fonts to complement Source Sans Pro";
-    license = licenses.ofl;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ttuegel ];
-  };
-}
-
diff --git a/pkgs/data/fonts/source-serif/default.nix b/pkgs/data/fonts/source-serif/default.nix
new file mode 100644
index 00000000000..855fe7e6e9e
--- /dev/null
+++ b/pkgs/data/fonts/source-serif/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchzip }:
+
+let
+  version = "4.004";
+in fetchzip {
+  name = "source-serif-${version}";
+
+  url = "https://github.com/adobe-fonts/source-serif/releases/download/${version}R/source-serif-${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts/{opentype,truetype,variable}
+    unzip -j $downloadedFile "*/OTF/*.otf" -d $out/share/fonts/opentype
+    unzip -j $downloadedFile "*/TTF/*.ttf" -d $out/share/fonts/truetype
+    unzip -j $downloadedFile "*/VAR/*.otf" -d $out/share/fonts/variable
+  '';
+
+  sha256 = "06814hcp20abca6p0ii61f23g6h1ibqyhq30lsva59wbwx5iha0h";
+
+  meta = with lib; {
+    homepage = "https://adobe-fonts.github.io/source-serif/";
+    description = "Typeface for setting text in many sizes, weights, and languages. Designed to complement Source Sans";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index e36f567b5f8..1b6a9025eef 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -22,7 +22,14 @@ stdenv.mkDerivation {
   installPhase = ''
     runHook preInstall
     mkdir -p $out/share/themes/${themeName}
-    cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,index.theme,kde,metacity-1,unity,xfwm4} $out/share/themes/${themeName}
+    cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,index.theme,metacity-1,unity,xfwm4} $out/share/themes/${themeName}
+
+    cp -a kde/{color-schemes,plasma} $out/share/
+    cp -a kde/kvantum $out/share/Kvantum
+    mkdir -p $out/share/aurorae/themes
+    cp -a kde/aurorae/* $out/share/aurorae/themes/
+    mkdir -p $out/share/sddm/themes
+    cp -a kde/sddm/* $out/share/sddm/themes/
     runHook postInstall
   '';
 
@@ -31,6 +38,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/dracula/gtk";
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ alexarice vonfry ];
+    maintainers = with maintainers; [ alexarice ];
   };
 }
diff --git a/pkgs/data/themes/kde-gruvbox/default.nix b/pkgs/data/themes/kde-gruvbox/default.nix
new file mode 100644
index 00000000000..e0f478a53cb
--- /dev/null
+++ b/pkgs/data/themes/kde-gruvbox/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "kde-gruvbox";
+  version = "unstable-2015-08-09";
+
+  src = fetchFromGitHub {
+    owner = "printesoi";
+    repo = pname;
+    rev = "2dd95283076d7194345a460edb3630cfd020759c";
+    sha256 = "sha256-ppAeEfwoHZg7XEj3zGc+uq4Z6hUgJNM2EjuDsc8pFQo=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/{plasma/desktoptheme,yakuake/kns_skins}
+    cp -R color-schemes konsole $out/share
+    cp -R plasma5/gruvbox $out/share/plasma/desktoptheme
+    cp -R yakuake/breeze-gruvbox-dark $out/share/yakuake/kns_skins
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A suite of themes for KDE applications that match the retro gruvbox colorscheme";
+    homepage = "https://github.com/printesoi/kde-gruvbox";
+    license = licenses.mit;
+    maintainers = [ maintainers.ymarkus ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/themes/marwaita/default.nix b/pkgs/data/themes/marwaita/default.nix
index 1eb6a5f39e6..be107047799 100644
--- a/pkgs/data/themes/marwaita/default.nix
+++ b/pkgs/data/themes/marwaita/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita";
-  version = "11.2";
+  version = "11.2.1";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "1krfjk76yjyzsxkhymc1dpy3y7ykawdxzwb282wgbb480dpg8s05";
+    sha256 = "1bc9pj5k0zwc5fspp7b2i2sfrd6qbbi4kyxggc8kxrgv1sdgw3ff";
   };
 
   buildInputs = [
diff --git a/pkgs/data/themes/whitesur/default.nix b/pkgs/data/themes/whitesur/default.nix
index 83764e3c8bc..46594e4f5e1 100644
--- a/pkgs/data/themes/whitesur/default.nix
+++ b/pkgs/data/themes/whitesur/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "whitesur-gtk-theme";
-  version = "2021-09-24";
+  version = "2021-10-21";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "12dwmgq0kadjfky5bjm62vwgdlw3nmrrhqqs5iw15w0pn3mbmd5c";
+    sha256 = "1rbwf6z2bda647kw00q2fp349gjzvdc4gyk986fkjli0nr0jh8hp";
   };
 
   nativeBuildInputs = [
@@ -33,7 +33,9 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    find -name "*.sh" -print0 | while IFS= read -r -d ''' file; do patchShebangs "$file"; done
+    find -name "*.sh" -print0 | while IFS= read -r -d ''' file; do
+      patchShebangs "$file"
+    done
 
     # Do not provide `sudo`, as it is not needed in our use case of the install script
     substituteInPlace lib-core.sh --replace '$(which sudo)' false
diff --git a/pkgs/desktops/gnome/apps/file-roller/default.nix b/pkgs/desktops/gnome/apps/file-roller/default.nix
index a2642865200..c4c489dae08 100644
--- a/pkgs/desktops/gnome/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome/apps/file-roller/default.nix
@@ -1,6 +1,30 @@
-{ lib, stdenv, fetchurl, glib, gtk3, meson, ninja, pkg-config, gnome, gettext, itstool, libxml2, libarchive
-, file, json-glib, python3, wrapGAppsHook, desktop-file-utils, libnotify, nautilus, glibcLocales
-, unzip, cpio }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, desktop-file-utils
+, gettext
+, glibcLocales
+, itstool
+, libxml2
+, meson
+, ninja
+, pkg-config
+, python3
+, wrapGAppsHook
+, cpio
+, file
+, glib
+, gnome
+, gtk3
+, json-glib
+, libarchive
+, libnotify
+, nautilus
+, pantheon
+, unzip
+, withPantheon ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "file-roller";
@@ -11,11 +35,43 @@ stdenv.mkDerivation rec {
     sha256 = "039w1dcpa5ypmv6sm634alk9vbcdkyvy595vkh5gn032jsiqca2a";
   };
 
+  patches = lib.optionals withPantheon [
+    # Make this respect dark mode settings from Pantheon
+    # https://github.com/elementary/fileroller/
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/elementary/fileroller/f183eac36c68c9c9441e72294d4e305cf5fe36ed/fr-application-prefers-color-scheme.patch";
+      sha256 = "sha256-d/sqf4Oen9UrzYqru7Ck15o/6g6WfxRDH/iAGFXgYAA=";
+    })
+  ];
+
   LANG = "en_US.UTF-8"; # postinstall.py
 
-  nativeBuildInputs = [ meson ninja gettext itstool pkg-config libxml2 python3 wrapGAppsHook glibcLocales desktop-file-utils ];
+  nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    glibcLocales
+    itstool
+    libxml2
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
 
-  buildInputs = [ glib gtk3 json-glib libarchive file gnome.adwaita-icon-theme libnotify nautilus cpio ];
+  buildInputs = [
+    cpio
+    file
+    glib
+    gnome.adwaita-icon-theme
+    gtk3
+    json-glib
+    libarchive
+    libnotify
+    nautilus
+  ] ++ lib.optionals withPantheon [
+    pantheon.granite
+  ];
 
   PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
 
@@ -44,6 +100,6 @@ stdenv.mkDerivation rec {
     description = "Archive manager for the GNOME desktop environment";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = teams.gnome.members;
+    maintainers = teams.gnome.members ++ teams.pantheon.members;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index cfa77fadb79..e486279508c 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -33,6 +33,14 @@ stdenv.mkDerivation rec {
     sha256 = "1r94880d4khbjhhfnhaba3y3d4hv2bri82rzfzxn27s5iybpqras";
   };
 
+  patches = [
+    # fix build race bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257667
+    (fetchpatch {
+      url = "https://cgit.freebsd.org/ports/patch/?id=a4faaf6cf7835014b5f69a337b544ea4ee7f9655";
+      sha256 = "sha256-IMBfqtrqBw3DdmJG0qchZFR6Am1PICMnM5P6BcS8oqI=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix b/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix
index d57ccdcff83..8332d0afa4a 100644
--- a/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix
+++ b/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-night-theme-switcher";
-  version = "50";
+  version = "53";
 
   src = fetchFromGitLab {
     owner = "rmnvgr";
     repo = "nightthemeswitcher-gnome-shell-extension";
-    rev = "v${version}";
-    sha256 = "0rs08kr3wizs1vpkmm6pbcvnn7rz47yrq7vnb1s8d58yda9a850d";
+    rev = version;
+    sha256 = "0dgnh1aj0y89jzfkpj8zs4gdbmyc1v8lbki2q30gld17ljv4l6lh";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/desktops/gnome/extensions/system-monitor/default.nix b/pkgs/desktops/gnome/extensions/system-monitor/default.nix
index 439f02622a6..d770acfec16 100644
--- a/pkgs/desktops/gnome/extensions/system-monitor/default.nix
+++ b/pkgs/desktops/gnome/extensions/system-monitor/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome }:
+{ lib, stdenv, substituteAll, fetchFromGitHub, fetchpatch, glib, glib-networking, libgtop, gnome }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-system-monitor";
-  version = "unstable-2021-06-19";
+  version = "unstable-2021-09-07";
 
   src = fetchFromGitHub {
     owner = "paradoxxxzero";
     repo = "gnome-shell-system-monitor-applet";
-    rev = "bece7be22352b81d3d81e64e18a385812851b8de";
-    sha256 = "08nnsg7z3cqk25hfgy4wm02hd2wpz13kig498kn4mf5f1q4hslmx";
+    rev = "133f9f32bca5d159515d709bbdee81bf497ebdc5";
+    sha256 = "1vz1s1x22xmmzaayrzv5jyzlmxslhfaybbnv959szvfp4mdrhch9";
   };
 
   buildInputs = [
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
       gtop_path = "${libgtop}/lib/girepository-1.0";
       glib_net_path = "${glib-networking}/lib/girepository-1.0";
     })
+    # Support GNOME 41
+    (fetchpatch {
+      url = "https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet/pull/718/commits/f4ebc29afa707326b977230329e634db169f55b1.patch";
+      sha256 = "0ndnla41mvrww6ldf9d55ar1ibyj8ak5pp1dkjg75jii9slgzjqb";
+    })
   ];
 
   buildPhase = ''
@@ -47,7 +52,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Display system informations in gnome shell status bar";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ tiramiseb ];
+    maintainers = with maintainers; [ andersk ];
     homepage = "https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet";
   };
 }
diff --git a/pkgs/desktops/lumina/lumina/default.nix b/pkgs/desktops/lumina/lumina/default.nix
index d31f16e235a..b56e9c4bc2f 100644
--- a/pkgs/desktops/lumina/lumina/default.nix
+++ b/pkgs/desktops/lumina/lumina/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , fluxbox
 , libarchive
+, linux-pam
 , numlockx
 , qmake
 , qtbase
@@ -17,13 +18,13 @@
 
 mkDerivation rec {
   pname = "lumina";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "lumina-desktop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bvs12c9pkc6fnkfcr7rrxc8jfbzbslch4nlfjrzwi203fcv4avw";
+    sha256 = "0wc8frhw1yv07n05r33c4zilq5lgn5gw07a9n37g6nyn5sgrbp4f";
   };
 
   nativeBuildInputs = [
@@ -35,6 +36,7 @@ mkDerivation rec {
   buildInputs = [
     fluxbox # window manager for Lumina DE
     libarchive # make `bsdtar` available for lumina-archiver
+    linux-pam
     numlockx # required for changing state of numlock at login
     qtbase
     qtmultimedia
@@ -49,7 +51,6 @@ mkDerivation rec {
   ];
 
   patches = [
-    ./avoid-absolute-path-on-sessdir.patch
     ./LuminaOS-NixOS.cpp.patch
   ];
 
@@ -60,6 +61,14 @@ mkDerivation rec {
   '';
 
   postPatch = ''
+    # Avoid absolute path on sessdir
+    substituteInPlace src-qt5/OS-detect.pri \
+      --replace L_SESSDIR=/usr/share/xsessions '#L_SESSDIR=/usr/share/xsessions'
+
+    # Do not set special permission
+    substituteInPlace src-qt5/core/lumina-checkpass/lumina-checkpass.pro \
+      --replace "chmod 4555" "chmod 555"
+
     # Fix plugin dir
     substituteInPlace src-qt5/core/lumina-theme-engine/lthemeengine.pri \
       --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index 668638c1bfe..61436ba57ae 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -73,6 +73,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   evince = pkgs.evince.override { withPantheon = true; };
 
+  file-roller = pkgs.gnome.file-roller.override { withPantheon = true; };
+
   sideload = callPackage ./apps/sideload { };
 
   #### DESKTOP
diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix
index 38c2fae6034..3080873bb96 100644
--- a/pkgs/development/compilers/dotnet/build-dotnet.nix
+++ b/pkgs/development/compilers/dotnet/build-dotnet.nix
@@ -21,17 +21,16 @@ let
     "dotnet-runtime"
   else
     "dotnet-sdk";
-  platform = if stdenv.isDarwin then "osx" else "linux";
-  suffix = {
-    x86_64-linux = "x64";
-    aarch64-linux = "arm64";
-    x86_64-darwin = "x64";
-  }."${stdenv.hostPlatform.system}" or (throw
-    "Unsupported system: ${stdenv.hostPlatform.system}");
+  platform = {
+    x86_64-linux = "linux-x64";
+    aarch64-linux = "linux-arm64";
+    x86_64-darwin = "osx-x64";
+    aarch64-darwin = "osx-arm64";
+  }.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
   urls = {
-    aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
-    runtime = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
-    sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
+    aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-${platform}.tar.gz";
+    runtime = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-${platform}.tar.gz";
+    sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-${platform}.tar.gz";
   };
   descriptions = {
     aspnetcore = "ASP.NET Core Runtime ${version}";
@@ -85,7 +84,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://dotnet.github.io/";
     description = builtins.getAttr type descriptions;
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    platforms = builtins.attrNames sha512;
     maintainers = with maintainers; [ kuznero ];
     license = licenses.mit;
   };
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
index 5b4740c22e5..1b34a5953c8 100644
--- a/pkgs/development/compilers/dotnet/default.nix
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -78,4 +78,36 @@ rec {
       x86_64-darwin = "eca773f407314123fd5b2017f68520c0647651f53e546583c4145b596c230c42898b3e56355cd5ace76b793df4aca3cd7ff9142718c86eedeabbabb70b393d0e";
     };
   };
+
+  # v6.0 (RC)
+
+  aspnetcore_6_0 = buildAspNetCore {
+    version = "6.0.0-rc.2.21480.10";
+    sha512 = {
+      x86_64-linux = "d48895237644a3999663b2e16baa2303d8b77f66385a04d8edb5601fdffacce18b1b1318827d09f74f6b133ff2c179ef659bd21cf8460289b5f81f404fa8b326";
+      aarch64-linux = "3a92e93a8cb0c186f1c4a822d46a37604bc470599dbcbe05a7f1ea7c7d1dd9c0e6571de524de8729d19d237078742a0b4e3a1daa11b5eb5f8cce74b69710ada4";
+      x86_64-darwin = "ed1cad94acf207d0f18201af1e0e6c386466f94b8fd0474dc8d59f47d8f3c456f3a55de392dda126e0e1f4f934249b0e17b7b86f6bc7c510dc475324ee1395f0";
+      aarch64-darwin = "688879db73aa6b7556da70907920f3e443dff54bf8624030352ed5ba3896cceda69040ef359dacf55d50cc52fc2c75057d259a1cc11a2258d4446ebbd2200820";
+    };
+  };
+
+  runtime_6_0 = buildNetRuntime {
+    version = "6.0.0-rc.2.21480.5";
+    sha512 = {
+      x86_64-linux = "45062417c6111af4d635868927e8f69d43f66c9e0f111cb71c1861eaf5ceda4aefa99d97c6ce3b13fac2bc7c57c435e6f8b2d43c51a3bb3304b42081d98f7047";
+      aarch64-linux = "b0f8128d994b0de0c72b9dd8083a7350218adfafedc643c59b497fa605420602004d9e21e8acb488d92bc498f9783a3240cfcafa77443eb6f08b66aadc4f5b65";
+      x86_64-darwin = "0f702645719af5a4f1e720c0f2a0c67c7a4a84fac525b3ac6ce6357ca6d44405aeca674d04d8a976a7338ddf8782350debd53dce85e614c837106ffadf84cfb9";
+      aarch64-darwin = "747abb8eaad53e0ca7e5b2908b620076fa68a75c5e822361483ed13f7544e31def26bbf67bb85f47633e2dddde9cb095503bf70d1a4b0b2f33c6ef6f887d95fa";
+    };
+  };
+
+  sdk_6_0 = buildNetSdk {
+    version = "6.0.100-rc.2.21505.57";
+    sha512 = {
+      x86_64-linux = "0a8f85a2757f61ca7f9b8c546af4554c2aac9cdb06f6d62879a60de6f2a3d37ea7136f48896c9c85828a2d55df354e7b9b5b4dc22896c927f0c6370a5ade1b9c";
+      aarch64-linux = "14aa96f47f7f3520075e41753c705bdbf7f84fd7cff7cc2add1095a13e3e3c44eaaf2d822551902f05a6ad0c9acd7f7424190b7c09c397004c632eddc8acd5ac";
+      x86_64-darwin = "6a896f2d1e8e2d00b52641e8b1aee88888a2b30e0f18e499b1eaf4ae7dbdaa24ea5af0dbd4a6a1cee715738e6e91cecdbc02c2c7d3d4c71d4c9af3e04f1b4fc9";
+      aarch64-darwin = "c96c8a86e36ca16a0e10f635250472d5c8eda290dc505ed8eb4bd6a68b8e6ae6b2770236f5bda1573bc3124229531b3ed7dd71f60a821e39aaaa6697a82fdf8a";
+    };
+  };
 }
diff --git a/pkgs/development/compilers/go/1.15.nix b/pkgs/development/compilers/go/1.15.nix
index f9bba06d633..8908c6afceb 100644
--- a/pkgs/development/compilers/go/1.15.nix
+++ b/pkgs/development/compilers/go/1.15.nix
@@ -124,7 +124,6 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
-  '' + lib.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
diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix
index acd04c24a3b..433d3f9af7a 100644
--- a/pkgs/development/compilers/go/1.16.nix
+++ b/pkgs/development/compilers/go/1.16.nix
@@ -126,7 +126,6 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
-  '' + lib.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
diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix
index 2f62c450c2e..279be309427 100644
--- a/pkgs/development/compilers/go/1.17.nix
+++ b/pkgs/development/compilers/go/1.17.nix
@@ -125,7 +125,6 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
-  '' + lib.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
diff --git a/pkgs/development/compilers/koka/default.nix b/pkgs/development/compilers/koka/default.nix
index 26c855e4ddb..9e4e446b123 100644
--- a/pkgs/development/compilers/koka/default.nix
+++ b/pkgs/development/compilers/koka/default.nix
@@ -4,12 +4,12 @@
 , parsec, process, regex-compat, text, time }:
 
 let
-  version = "2.3.1";
+  version = "2.3.2";
   src = fetchFromGitHub {
     owner = "koka-lang";
     repo = "koka";
     rev = "v${version}";
-    sha256 = "18f4hsqgc6c0cnayabj311n438fjhf217j1kjaysa8w4k4pxl58z";
+    sha256 = "sha256-+w99Jvsd1tccUUYaP2TRgCNyGnMINWamuNRumHGzFWA=";
     fetchSubmodules = true;
   };
   kklib = stdenv.mkDerivation {
diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix
index f9b8020c924..9a6764191d6 100644
--- a/pkgs/development/compilers/ligo/default.nix
+++ b/pkgs/development/compilers/ligo/default.nix
@@ -6,16 +6,16 @@
 
 coq.ocamlPackages.buildDunePackage rec {
   pname = "ligo";
-  version = "0.26.0";
+  version = "0.27.0";
   src = fetchFromGitLab {
     owner = "ligolang";
     repo = "ligo";
-    rev = "d48098c6724bc0a62170c2f9ff73c792c71c8452";
-    sha256 = "sha256-uu5985llYsi/9ExKZetk48FqU0sJQB1EirdT/pUw0DA=";
+    rev = version;
+    sha256 = "sha256-OUrjMlAWxTPs56ltMt0I/XR9GScD6upXU2arT99u8hk=";
   };
 
   # The build picks this up for ligo --version
-  LIGO_VERSION=version;
+  LIGO_VERSION = version;
 
   useDune2 = true;
 
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
index 657a465a3fe..d74aa519b76 100644
--- a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
@@ -58,8 +58,7 @@ stdenv.mkDerivation {
     ./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15
     ./gnu-install-dirs.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
-  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
+  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.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
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/10/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/10/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix
index 690328b26ae..8bd7e937e7d 100644
--- a/pkgs/development/compilers/llvm/10/default.nix
+++ b/pkgs/development/compilers/llvm/10/default.nix
@@ -63,14 +63,14 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     # disabled until recommonmark supports sphinx 3
     #Llvm-manpages = lowPrio (tools.libllvm.override {
diff --git a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
index 1111f14f9be..4968c8bcfbd 100644
--- a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
@@ -59,8 +59,7 @@ stdenv.mkDerivation {
     # extra `/`.
     ./normalize-var.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
-  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
+  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
 
   preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
diff --git a/pkgs/development/compilers/llvm/11/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/11/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/11/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix
index 9834ce30cdd..ebd0dc672aa 100644
--- a/pkgs/development/compilers/llvm/11/default.nix
+++ b/pkgs/development/compilers/llvm/11/default.nix
@@ -65,21 +65,21 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libllvm-polly = callPackage ./llvm {
       inherit llvm_meta;
       enablePolly = true;
     };
 
-    llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; };
+    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     clang-polly-unwrapped = callPackage ./clang {
       inherit llvm_meta;
diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
index 5f2cf9fd3fb..13c611ca8cc 100644
--- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
@@ -58,8 +58,7 @@ stdenv.mkDerivation {
     # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
     # extra `/`.
     ./normalize-var.patch
-  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
+  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.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
diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/12/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/12/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix
index 388c7d95f69..e68522faea0 100644
--- a/pkgs/development/compilers/llvm/12/default.nix
+++ b/pkgs/development/compilers/llvm/12/default.nix
@@ -66,14 +66,14 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     # disabled until recommonmark supports sphinx 3
     #Llvm-manpages = lowPrio (tools.libllvm.override {
diff --git a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
index 403924547bf..e30db5fcd95 100644
--- a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
@@ -60,8 +60,7 @@ stdenv.mkDerivation {
     # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
     # extra `/`.
     ./normalize-var.patch
-  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    # Prevent a compilation error on darwin
+  ] # Prevent a compilation error on darwin
     ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch
     ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
diff --git a/pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix
index 9fd4cd98901..13be7396714 100644
--- a/pkgs/development/compilers/llvm/13/default.nix
+++ b/pkgs/development/compilers/llvm/13/default.nix
@@ -68,14 +68,14 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     llvm-manpages = lowPrio (tools.libllvm.override {
       enableManpages = true;
diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
index c684437cefd..874540dd8c3 100644
--- a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
@@ -55,10 +55,10 @@ stdenv.mkDerivation {
     # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
     ../../common/compiler-rt/glibc.patch
     ./gnu-install-dirs.patch
-  ] ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ lib.optional (stdenv.hostPlatform.libc == "glibc") ./sys-ustat.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch
-    ++ [ ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch ];
+
+    ./sys-ustat.patch
+    ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
+  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.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
diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/5/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index c9ddfe45c89..00000000000
--- a/pkgs/development/compilers/llvm/5/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,370 +0,0 @@
-From 3e1fcb7d4909db8f0f7dd0109b2eee20115c8be3 Mon Sep 17 00:00:00 2001
-From: "Jory A. Pratt" <anarchy@gentoo.org>
-Date: Sat, 9 Sep 2017 08:31:15 -0500
-Subject: [PATCH] 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 +-
- .../sanitizer_common_interceptors_ioctl.inc        |  4 +--
- lib/sanitizer_common/sanitizer_common_syscalls.inc |  2 +-
- lib/sanitizer_common/sanitizer_linux_libcdep.cc    | 12 +++----
- lib/sanitizer_common/sanitizer_platform.h          |  7 ++++
- .../sanitizer_platform_interceptors.h              |  2 +-
- .../sanitizer_platform_limits_posix.cc             | 40 +++++++++++++---------
- lib/tsan/rtl/tsan_platform_linux.cc                |  2 +-
- 11 files changed, 47 insertions(+), 32 deletions(-)
-
-diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
-index 6d47ba432..c58dd4864 100644
---- a/lib/asan/asan_linux.cc
-+++ b/lib/asan/asan_linux.cc
-@@ -39,7 +39,7 @@
- #include <sys/link_elf.h>
- #endif
- 
--#if SANITIZER_ANDROID || SANITIZER_FREEBSD
-+#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_NONGNU
- #include <ucontext.h>
- extern "C" void* _DYNAMIC;
- #else
-@@ -86,7 +86,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 6e908ac01..76c1688ce 100644
---- a/lib/interception/interception_linux.cc
-+++ b/lib/interception/interception_linux.cc
-@@ -24,7 +24,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
-   return real == wrapper;
- }
- 
--#if !defined(__ANDROID__)  // android does not have dlvsym
-+#if !defined(__ANDROID__) && defined(__GLIBC__)  // android does not have dlvsym
- 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 27a66c882..f60c38991 100644
---- a/lib/interception/interception_linux.h
-+++ b/lib/interception/interception_linux.h
-@@ -34,7 +34,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
-       (::__interception::uptr) & (func),                                   \
-       (::__interception::uptr) & WRAP(func))
- 
--#if !defined(__ANDROID__)  // android does not have dlvsym
-+#if !defined(__ANDROID__) && !SANITIZER_NONGNU // android does not have dlvsym
- #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 0a687f620..0852d97d7 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
-+#if SANITIZER_FREEBSD || SANITIZER_LINUX && !SANITIZER_NONGNU
- 
- #include "msan.h"
- #include "msan_thread.h"
-diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-index 4ed9afedf..64f584e93 100644
---- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-@@ -100,7 +100,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);
-@@ -361,7 +361,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_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
-index 52196db12..045d9331f 100644
---- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
-+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
-@@ -148,7 +148,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
- #endif
- }
- 
--#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
-+#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
- static uptr g_tls_size;
- 
- #ifdef __i386__
-@@ -176,11 +176,11 @@ void InitTlsSize() {
- }
- #else
- void InitTlsSize() { }
--#endif  // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
-+#endif  // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
- 
- #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
-     || defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
--    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
-+    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
- // sizeof(struct pthread) from glibc.
- static atomic_uintptr_t kThreadDescriptorSize;
- 
-@@ -335,7 +335,7 @@ uptr ThreadSelf() {
- 
- #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();
-@@ -362,7 +362,7 @@ static void GetTls(uptr *addr, uptr *size) {
-     *addr = (uptr) dtv[2];
-     *size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]);
-   }
--#elif SANITIZER_ANDROID
-+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
-   *addr = 0;
-   *size = 0;
- #else
-@@ -373,7 +373,7 @@ static void GetTls(uptr *addr, uptr *size) {
- 
- #if !SANITIZER_GO
- uptr GetTlsSize() {
--#if SANITIZER_FREEBSD || SANITIZER_ANDROID
-+#if SANITIZER_FREEBSD || SANITIZER_ANDROID || 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 396f7c934..5af6f1ed5 100644
---- a/lib/sanitizer_common/sanitizer_platform.h
-+++ b/lib/sanitizer_common/sanitizer_platform.h
-@@ -175,6 +175,13 @@
- # define SANITIZER_ARM 0
- #endif
- 
-+
-+#if defined(__linux__) && !defined(__GLIBC__)
-+# define SANITIZER_NONGNU 1
-+#else
-+# define SANITIZER_NONGNU 0
-+#endif
-+
- // By default we allow to use SizeClassAllocator64 on 64-bit platform.
- // But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
- // does not work well and we need to fallback to SizeClassAllocator32.
-diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
-index 0380cee92..0a39abbd0 100644
---- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -31,7 +31,7 @@
- # define SI_POSIX 0
- #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
-diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-index 83f4fd22f..fa8c1b8bd 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
-@@ -159,7 +164,8 @@ typedef struct user_fpregs elf_fpregset_t;
- # include <sys/procfs.h>
- #endif
- #include <sys/user.h>
--#include <sys/ustat.h>
-+// #include <sys/ustat.h>
-+#include <sys/statfs.h>
- #include <linux/cyclades.h>
- #include <linux/if_eql.h>
- #include <linux/if_plip.h>
-@@ -251,7 +257,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
-   unsigned struct_ustat_sz = sizeof(struct ustat);
-   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
-   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
-@@ -309,7 +315,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
-@@ -403,7 +409,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);
-@@ -453,7 +459,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)
-@@ -821,7 +827,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;
-@@ -976,7 +982,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);
-@@ -1010,6 +1016,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);
-@@ -1023,6 +1030,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
- 
- COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
- CHECK_SIZE_AND_OFFSET(dirent, d_ino);
-@@ -1125,7 +1133,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);
-@@ -1186,7 +1194,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
- 
-@@ -1236,7 +1244,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);
-@@ -1255,7 +1263,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 ead1e5704..2c020e3fe 100644
---- a/lib/tsan/rtl/tsan_platform_linux.cc
-+++ b/lib/tsan/rtl/tsan_platform_linux.cc
-@@ -284,7 +284,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.16.2
-
diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix
index 8205c67da77..4593580b72f 100644
--- a/pkgs/development/compilers/llvm/5/default.nix
+++ b/pkgs/development/compilers/llvm/5/default.nix
@@ -39,21 +39,21 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libllvm-polly = callPackage ./llvm {
       inherit llvm_meta;
       enablePolly = true;
     };
 
-    llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; };
+    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     llvm-manpages = lowPrio (tools.libllvm.override {
       enableManpages = true;
diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix b/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
index 74c17fd3e64..41442a2f183 100644
--- a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
@@ -56,8 +56,7 @@ stdenv.mkDerivation {
     ../../common/compiler-rt/glibc.patch
     ./gnu-install-dirs.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
-  ] ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
+  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.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
diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/6/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 6266eb1958d..00000000000
--- a/pkgs/development/compilers/llvm/6/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,413 +0,0 @@
-From 7b4b3333a2718628b1d510ec1d8438ad67308299 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Fri, 29 Jun 2018 09:48:59 -0500
-Subject: [PATCH] Ported to 6.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         |  3 +-
- 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(+), 35 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 c991550a4..2b706418b 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
-+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !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 98fe51b85..c13302b98 100644
---- a/lib/interception/interception_linux.h
-+++ b/lib/interception/interception_linux.h
-@@ -35,8 +35,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
-       (::__interception::uptr) & (func),                                   \
-       (::__interception::uptr) & WRAP(func))
- 
--// Android and Solaris do not have dlvsym
--#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
-+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !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 4e6321fcb..4d50feb82 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_thread.h"
-diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
-index fc4f7a75a..76cf4f769 100644
---- a/lib/sanitizer_common/sanitizer_allocator.cc
-+++ b/lib/sanitizer_common/sanitizer_allocator.cc
-@@ -23,7 +23,7 @@ namespace __sanitizer {
- 
- // 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 24e7548a5..20259b1d6 100644
---- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-@@ -102,7 +102,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);
-@@ -363,7 +363,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 6c83e8db4..542c4fe64 100644
---- a/lib/sanitizer_common/sanitizer_linux.cc
-+++ b/lib/sanitizer_common/sanitizer_linux.cc
-@@ -522,13 +522,13 @@ const char *GetEnv(const char *name) {
- #endif
- }
- 
--#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD
-+#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !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
- static void ReadNullSepFileToArray(const char *path, char ***arr,
-                                    int arr_size) {
-   char *buff;
-@@ -569,6 +569,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
- #elif SANITIZER_NETBSD
-   *argv = __ps_strings->ps_argvstr;
-   *argv = __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
- #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 56fdfc870..a932d5db1 100644
---- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
-+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
-@@ -174,7 +174,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
- }
- 
- #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
--    !SANITIZER_NETBSD && !SANITIZER_SOLARIS
-+    !SANITIZER_NETBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
- static uptr g_tls_size;
- 
- #ifdef __i386__
-@@ -207,7 +207,7 @@ void InitTlsSize() { }
- 
- #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
-     || defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
--    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
-+    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
- // sizeof(struct pthread) from glibc.
- static atomic_uintptr_t kThreadDescriptorSize;
- 
-@@ -391,7 +391,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();
-@@ -432,7 +432,7 @@ static void GetTls(uptr *addr, uptr *size) {
-       *addr = (uptr)tcb->tcb_dtv[1];
-     }
-   }
--#elif SANITIZER_ANDROID
-+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
-   *addr = 0;
-   *size = 0;
- #elif SANITIZER_SOLARIS
-@@ -448,7 +448,7 @@ static void GetTls(uptr *addr, uptr *size) {
- #if !SANITIZER_GO
- uptr GetTlsSize() {
- #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
--    SANITIZER_SOLARIS
-+    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 334903c26..fc2afac2c 100644
---- a/lib/sanitizer_common/sanitizer_platform.h
-+++ b/lib/sanitizer_common/sanitizer_platform.h
-@@ -195,6 +195,12 @@
- # define SANITIZER_SOLARIS32 0
- #endif
- 
-+#if defined(__linux__) && !defined(__GLIBC__)
-+# define SANITIZER_NONGNU 1
-+#else
-+# define SANITIZER_NONGNU 0
-+#endif
-+
- // By default we allow to use SizeClassAllocator64 on 64-bit platform.
- // But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
- // does not work well and we need to fallback to SizeClassAllocator32.
-diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
-index b99ac4480..628d226a1 100644
---- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -38,7 +38,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
-@@ -291,7 +291,7 @@
-   (SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID)
- #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
- #define SANITIZER_INTERCEPT_SHMCTL                       \
--  (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
-+  (SI_NETBSD || SI_SOLARIS || ((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 feb7bad6f..4e89ab2a6 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
- 
- COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
- CHECK_SIZE_AND_OFFSET(dirent, d_ino);
-@@ -1138,7 +1145,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);
-@@ -1199,7 +1206,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
- 
-@@ -1249,7 +1256,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);
-@@ -1268,7 +1275,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 e14d5f575..389a3bc88 100644
---- a/lib/tsan/rtl/tsan_platform_linux.cc
-+++ b/lib/tsan/rtl/tsan_platform_linux.cc
-@@ -285,7 +285,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.18.0
-
diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix
index 7651b5ab13d..9b1caf410bc 100644
--- a/pkgs/development/compilers/llvm/6/default.nix
+++ b/pkgs/development/compilers/llvm/6/default.nix
@@ -39,21 +39,21 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libllvm-polly = callPackage ./llvm {
       inherit llvm_meta;
       enablePolly = true;
     };
 
-    llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; };
+    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     llvm-manpages = lowPrio (tools.libllvm.override {
       enableManpages = true;
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix b/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
index 6ea1280a403..4937577c7b1 100644
--- a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
@@ -59,7 +59,6 @@ stdenv.mkDerivation {
     ./gnu-install-dirs.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
   ] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
-    ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
     ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/7/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/7/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix
index 6864353424f..d014c043a80 100644
--- a/pkgs/development/compilers/llvm/7/default.nix
+++ b/pkgs/development/compilers/llvm/7/default.nix
@@ -63,21 +63,21 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libllvm-polly = callPackage ./llvm {
       inherit llvm_meta;
       enablePolly = true;
     };
 
-    llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; };
+    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     clang-polly-unwrapped = callPackage ./clang {
       inherit llvm_meta;
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix b/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
index 62672b336ff..9ff81a32dbc 100644
--- a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
@@ -58,8 +58,7 @@ stdenv.mkDerivation {
     ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
     ./gnu-install-dirs.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
-  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
+  ] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
     ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/8/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/8/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix
index 34f204be331..7252b75a339 100644
--- a/pkgs/development/compilers/llvm/8/default.nix
+++ b/pkgs/development/compilers/llvm/8/default.nix
@@ -63,21 +63,21 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libllvm-polly = callPackage ./llvm {
       inherit llvm_meta;
       enablePolly = true;
     };
 
-    llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; };
+    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     clang-polly-unwrapped = callPackage ./clang {
       inherit llvm_meta;
diff --git a/pkgs/development/compilers/llvm/9/compiler-rt/default.nix b/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
index 83a75f516a0..7e13b7f6216 100644
--- a/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
@@ -58,8 +58,7 @@ stdenv.mkDerivation {
     ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
     ./gnu-install-dirs.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
-  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
+  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.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
diff --git a/pkgs/development/compilers/llvm/9/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/9/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/9/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/9/default.nix b/pkgs/development/compilers/llvm/9/default.nix
index 8468fc36381..9126a614b10 100644
--- a/pkgs/development/compilers/llvm/9/default.nix
+++ b/pkgs/development/compilers/llvm/9/default.nix
@@ -63,21 +63,21 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libllvm-polly = callPackage ./llvm {
       inherit llvm_meta;
       enablePolly = true;
     };
 
-    llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; };
+    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit clang-tools-extra_src llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     clang-polly-unwrapped = callPackage ./clang {
       inherit llvm_meta;
diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
index 9557f9d2d80..5874a91e03c 100644
--- a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
@@ -59,8 +59,7 @@ stdenv.mkDerivation {
     # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
     # extra `/`.
     ./normalize-var.patch
-  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    # Prevent a compilation error on darwin
+  ] # Prevent a compilation error on darwin
     ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch
     ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/git/compiler-rt/sanitizers-nongnu.patch
deleted file mode 100644
index 1f2ac97818e..00000000000
--- a/pkgs/development/compilers/llvm/git/compiler-rt/sanitizers-nongnu.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-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/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index 300de57b696..fb2baf0e29a 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -68,14 +68,14 @@ let
     };
 
     # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm.out // { outputUnspecified = true; };
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputSpecified = false; };
 
     libclang = callPackage ./clang {
       inherit llvm_meta;
     };
 
-    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
 
     llvm-manpages = lowPrio (tools.libllvm.override {
       enableManpages = true;
diff --git a/pkgs/development/compilers/lobster/default.nix b/pkgs/development/compilers/lobster/default.nix
index 34b45f49ec6..cc36a7b50b6 100644
--- a/pkgs/development/compilers/lobster/default.nix
+++ b/pkgs/development/compilers/lobster/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lobster";
-  version = "unstable-2021-06-18";
+  version = "2021.3";
 
   src = fetchFromGitHub {
     owner = "aardappel";
-    repo = pname;
-    rev = "a785316e44b1690da56a3646f90971a72f470a49";
-    sha256 = "eY/8mhJ4SUH5QYWqykl0u+8W7AU0FVVya3GNTEUSOP4=";
+    repo = "lobster";
+    rev = "v${version}";
+    sha256 = "sha256-ENs2Jy2l6fogZdCSaIyfV9wQm57qaZfx5HVHOnQBrRk=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -44,17 +44,14 @@ stdenv.mkDerivation rec {
       xorg.libXext
     ];
 
-  preConfigure = "cd dev";
+  preConfigure = ''
+    cd dev
+  '';
 
-  passthru = {
-    tests.can-run-hello-world = callPackage ./test-can-run-hello-world.nix {};
-    updateScript = unstableGitUpdater {
-      url = "https://github.com/aardappel/lobster";
-    };
-  };
+  passthru.tests.can-run-hello-world = callPackage ./test-can-run-hello-world.nix {};
 
   meta = with lib; {
-    homepage = "http://strlen.com/lobster";
+    homepage = "https://strlen.com/lobster/";
     description = "The Lobster programming language";
     longDescription = ''
       Lobster is a programming language that tries to combine the advantages of
diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix
new file mode 100644
index 00000000000..857f7c75c1d
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/17.nix
@@ -0,0 +1,162 @@
+{ stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio
+, file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib
+, libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst
+, libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk17-bootstrap
+, setJavaClassPath
+, headless ? false
+, enableJavaFX ? openjfx.meta.available, openjfx
+, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
+}:
+
+let
+  version = {
+    feature = "17";
+    interim = ".0.1";
+    build = "12";
+  };
+
+  openjdk = stdenv.mkDerivation {
+    pname = "openjdk" + lib.optionalString headless "-headless";
+    version = "${version.feature}${version.interim}+${version.build}";
+
+    src = fetchFromGitHub {
+      owner = "openjdk";
+      repo = "jdk${version.feature}u";
+      rev = "jdk-${version.feature}${version.interim}+${version.build}";
+      sha256 = "1l1jgbz8q7zq66npfg88r0l5xga427vrz35iys09j44b6qllrldd";
+    };
+
+    nativeBuildInputs = [ pkg-config autoconf unzip ];
+    buildInputs = [
+      cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib
+      libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
+      libXi libXinerama libXcursor libXrandr fontconfig openjdk17-bootstrap
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      gtk3 gnome_vfs GConf glib
+    ];
+
+    patches = [
+      ./fix-java-home-jdk10.patch
+      ./read-truststore-from-env-jdk10.patch
+      ./currency-date-range-jdk10.patch
+      ./increase-javadoc-heap-jdk13.patch
+      ./ignore-LegalNoticeFilePlugin.patch
+
+      # -Wformat etc. are stricter in newer gccs, per
+      # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677
+      # so grab the work-around from
+      # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24
+      (fetchurl {
+        url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch";
+        sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r";
+      })
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      ./swing-use-gtk-jdk13.patch
+    ];
+
+    postPatch = ''
+      chmod +x configure
+      patchShebangs --build configure
+    '';
+
+    configureFlags = [
+      "--with-boot-jdk=${openjdk17-bootstrap.home}"
+      "--with-version-build=${version.build}"
+      "--with-version-opt=nixos"
+      "--with-version-pre="
+      "--enable-unlimited-crypto"
+      "--with-native-debug-symbols=internal"
+      "--with-libjpeg=system"
+      "--with-giflib=system"
+      "--with-libpng=system"
+      "--with-zlib=system"
+      "--with-lcms=system"
+      "--with-stdc++lib=dynamic"
+    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
+      ++ lib.optional headless "--enable-headless-only"
+      ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
+
+    separateDebugInfo = true;
+
+    NIX_CFLAGS_COMPILE = "-Wno-error";
+
+    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 = [ "images" ];
+
+    installPhase = ''
+      mkdir -p $out/lib
+
+      mv build/*/images/jdk $out/lib/openjdk
+
+      # Remove some broken manpages.
+      rm -rf $out/lib/openjdk/man/ja*
+
+      # Mirror some stuff in top-level.
+      mkdir -p $out/share
+      ln -s $out/lib/openjdk/include $out/include
+      ln -s $out/lib/openjdk/man $out/share/man
+
+      # IDEs use the provided src.zip to navigate the Java codebase (https://github.com/NixOS/nixpkgs/pull/95081)
+      ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/linux/*_md.h $out/include/
+
+      # Remove crap from the installation.
+      rm -rf $out/lib/openjdk/demo
+      ${lib.optionalString headless ''
+        rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
+      ''}
+
+      ln -s $out/lib/openjdk/bin $out/bin
+    '';
+
+    preFixup = ''
+      # Propagate the setJavaClassPath setup hook so that any package
+      # that depends on the JDK has $CLASSPATH set up properly.
+      mkdir -p $out/nix-support
+      #TODO or printWords?  cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
+      echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs
+
+      # 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
+      EOF
+    '';
+
+    postFixup = ''
+      # Build the set of output library directories to rpath against
+      LIBDIRS=""
+      for output in $outputs; do
+        if [ "$output" = debug ]; then continue; fi
+        LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS"
+      done
+      # Add the local library paths to remove dependencies on the bootstrap
+      for output in $outputs; do
+        if [ "$output" = debug ]; then continue; fi
+        OUTPUTDIR=$(eval echo \$$output)
+        BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
+        echo "$BINLIBS" | while read i; do
+          patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
+          patchelf --shrink-rpath "$i" || true
+        done
+      done
+    '';
+
+    disallowedReferences = [ openjdk17-bootstrap ];
+
+    meta = import ./meta.nix lib;
+
+    passthru = {
+      architecture = "";
+      home = "${openjdk}/lib/openjdk";
+      inherit gtk3;
+    };
+  };
+in openjdk
diff --git a/pkgs/development/compilers/openjdk/ignore-LegalNoticeFilePlugin.patch b/pkgs/development/compilers/openjdk/ignore-LegalNoticeFilePlugin.patch
new file mode 100644
index 00000000000..3bb610ee35c
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/ignore-LegalNoticeFilePlugin.patch
@@ -0,0 +1,21 @@
+--- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/LegalNoticeFilePlugin.java
++++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/LegalNoticeFilePlugin.java
+@@ -112,18 +112,6 @@
+             .filter(e -> Arrays.equals(e.contentBytes(), entry.contentBytes()))
+             .findFirst();
+         if (!otarget.isPresent()) {
+-            if (errorIfNotSameContent) {
+-                // all legal notices of the same file name are expected
+-                // to contain the same content
+-                Optional<ResourcePoolEntry> ores =
+-                    entries.stream().filter(e -> e.linkedTarget() == null)
+-                           .findAny();
+-
+-                if (ores.isPresent()) {
+-                    throw new PluginException(ores.get().path() + " " +
+-                        entry.path() + " contain different content");
+-                }
+-            }
+             entries.add(entry);
+         } else {
+             entries.add(ResourcePoolEntry.createSymLink(entry.path(),
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index 7fc2485da01..764c2c93dae 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -252,6 +252,7 @@ stdenv.mkDerivation {
     # LLVM toolchain patches.
     patch -p1 -d llvm-project/clang -i ${./patches/0005-clang-toolchain-dir.patch}
     patch -p1 -d llvm-project/clang -i ${./patches/0006-clang-purity.patch}
+    patch -p1 -d llvm-project/compiler-rt -i ${../llvm/common/compiler-rt/libsanitizer-no-cyclades-11.patch}
     substituteInPlace llvm-project/clang/lib/Driver/ToolChains/Linux.cpp \
       --replace 'SysRoot + "/lib' '"${glibc}/lib" "' \
       --replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "' \
diff --git a/pkgs/development/coq-modules/addition-chains/default.nix b/pkgs/development/coq-modules/addition-chains/default.nix
index f2ddacf2e30..929d23c8186 100644
--- a/pkgs/development/coq-modules/addition-chains/default.nix
+++ b/pkgs/development/coq-modules/addition-chains/default.nix
@@ -6,12 +6,14 @@ mkCoqDerivation {
   pname = "addition-chains";
   repo = "hydra-battles";
 
-  release."0.4".sha256 = "sha256:1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
+  release."0.4".sha256 = "1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
+  release."0.5".sha256 = "121pcbn6v59l0c165ha9n00whbddpy11npx2y9cn7g879sfk2nqk";
   releaseRev = (v: "v${v}");
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.11"; out = "0.4"; }
+    { case = range "8.13" "8.14"; out = "0.5"; }
+    { case = range "8.11" "8.12"; out = "0.4"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp-ssreflect mathcomp-algebra paramcoq ];
diff --git a/pkgs/development/coq-modules/deriving/default.nix b/pkgs/development/coq-modules/deriving/default.nix
new file mode 100644
index 00000000000..5f572387093
--- /dev/null
+++ b/pkgs/development/coq-modules/deriving/default.nix
@@ -0,0 +1,29 @@
+{ lib, mkCoqDerivation, coq, version ? null
+, ssreflect
+}:
+with lib;
+
+mkCoqDerivation {
+  pname = "deriving";
+  owner = "arthuraa";
+
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.11" "8.14"; out = "0.1.0"; }
+  ] null;
+
+  releaseRev = v: "v${v}";
+
+  release."0.1.0".sha256 = "sha256:11crnjm8hyis1qllkks3d7r07s1rfzwvyvpijya3s6iqfh8c7xwh";
+
+  propagatedBuildInputs = [ ssreflect ];
+
+  mlPlugin = true;
+
+  meta = {
+    description = "Generic instances of MathComp classes";
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/coq-modules/extructures/default.nix b/pkgs/development/coq-modules/extructures/default.nix
new file mode 100644
index 00000000000..c34fa76f6e0
--- /dev/null
+++ b/pkgs/development/coq-modules/extructures/default.nix
@@ -0,0 +1,33 @@
+{ lib, mkCoqDerivation, coq, version ? null
+, ssreflect
+, deriving
+}:
+with lib;
+
+(mkCoqDerivation {
+  pname = "extructures";
+  owner = "arthuraa";
+
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.11" "8.14"; out = "0.3.0"; }
+    { case = range "8.10" "8.12"; out = "0.2.2"; }
+  ] null;
+
+  releaseRev = v: "v${v}";
+
+  release."0.3.0".sha256 = "sha256:14rm0726f1732ldds495qavg26gsn30w6dfdn36xb12g5kzavp38";
+  release."0.2.2".sha256 = "sha256:1clzza73gccy6p6l95n6gs0adkqd3h4wgl4qg5l0qm4q140grvm7";
+
+  propagatedBuildInputs = [ ssreflect ];
+
+  meta = {
+    description = "Finite data structures with extensional reasoning";
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
+  };
+
+}).overrideAttrs (o: {
+  propagatedBuildInputs = o.propagatedBuildInputs
+  ++ optional (versionAtLeast o.version "0.3.0") deriving;
+})
diff --git a/pkgs/development/coq-modules/gaia-hydras/default.nix b/pkgs/development/coq-modules/gaia-hydras/default.nix
new file mode 100644
index 00000000000..c20c503d73b
--- /dev/null
+++ b/pkgs/development/coq-modules/gaia-hydras/default.nix
@@ -0,0 +1,33 @@
+{ lib, mkCoqDerivation, coq, hydra-battles, gaia, mathcomp-zify, version ? null }:
+
+with lib; mkCoqDerivation rec {
+  pname = "gaia-hydras";
+  repo = "hydra-battles";
+
+  release."0.5".sha256 = "121pcbn6v59l0c165ha9n00whbddpy11npx2y9cn7g879sfk2nqk";
+  releaseRev = (v: "v${v}");
+
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.13" "8.14"; out = "0.5"; }
+  ] null;
+
+  propagatedBuildInputs = [
+    hydra-battles
+    gaia
+    mathcomp-zify
+  ];
+
+  useDune2 = true;
+
+  meta = {
+    description = "Comparison between ordinals in Gaia and Hydra battles";
+    longDescription = ''
+      The Gaia and Hydra battles projects develop different notions of ordinals.
+      This development bridges the different notions.
+    '';
+    maintainers = with maintainers; [ Zimmi48 ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/coq-modules/hydra-battles/default.nix b/pkgs/development/coq-modules/hydra-battles/default.nix
index 6c3c9d88e0c..faec5d3e330 100644
--- a/pkgs/development/coq-modules/hydra-battles/default.nix
+++ b/pkgs/development/coq-modules/hydra-battles/default.nix
@@ -5,12 +5,14 @@ mkCoqDerivation {
   pname = "hydra-battles";
   owner = "coq-community";
 
-  release."0.4".sha256 = "sha256:1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
+  release."0.4".sha256 = "1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
+  release."0.5".sha256 = "121pcbn6v59l0c165ha9n00whbddpy11npx2y9cn7g879sfk2nqk";
   releaseRev = (v: "v${v}");
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.11"; out = "0.4"; }
+    { case = range "8.13" "8.14"; out = "0.5"; }
+    { case = range "8.11" "8.12"; out = "0.4"; }
   ] null;
 
   propagatedBuildInputs = [ equations ];
diff --git a/pkgs/development/coq-modules/paramcoq/default.nix b/pkgs/development/coq-modules/paramcoq/default.nix
index e39fdc25eab..d73d14c84a0 100644
--- a/pkgs/development/coq-modules/paramcoq/default.nix
+++ b/pkgs/development/coq-modules/paramcoq/default.nix
@@ -4,12 +4,15 @@ with lib; mkCoqDerivation {
   pname = "paramcoq";
   inherit version;
   defaultVersion = with versions; switch coq.version [
-    { case = range "8.13" "8.14"; out = "1.1.3+coq${coq.coq-version}"; }
+    { case = range "8.10" "8.14"; out = "1.1.3+coq${coq.coq-version}"; }
     { case = range "8.7"  "8.13"; out = "1.1.2+coq${coq.coq-version}"; }
   ] null;
   displayVersion = { paramcoq = "..."; };
   release."1.1.3+coq8.14".sha256 = "00zqq9dc2p5v0ib1jgizl25xkwxrs9mrlylvy0zvb96dpridjc71";
   release."1.1.3+coq8.13".sha256 = "06ndly736k4pmdn4baqa7fblp6lx7a9pxm9gvz1vzd6ic51825wp";
+  release."1.1.3+coq8.12".sha256 = "sha256:10j23ws8ymqpxhapni75sxbzz0dl4n9sgasrx618i7s7b705y2rh";
+  release."1.1.3+coq8.11".sha256 = "sha256:1wbvcmkr7q106418bvvc2rj2d7s03wdhhxar0hicy1rr267w2bs6";
+  release."1.1.3+coq8.10".sha256 = "sha256:0kv3k3y2fck1qz83pqmihyh98swicnpx0n6fzkis1n2g39qjfz91";
   release."1.1.2+coq8.13".sha256 = "02vnf8p04ynf3qk8myvjzsbga15395235mpdpj54pvxis3h5qq22";
   release."1.1.2+coq8.12".sha256 = "0qd72r45if4h7c256qdfiimv75zyrs0w0xqij3m866jxaq591v4i";
   release."1.1.2+coq8.11".sha256 = "09c6813988nvq4fpa45s33k70plnhxsblhm7cxxkg0i37mhvigsa";
diff --git a/pkgs/development/coq-modules/serapi/8.10.0+0.7.2.patch b/pkgs/development/coq-modules/serapi/8.10.0+0.7.2.patch
new file mode 100644
index 00000000000..c3434f697ff
--- /dev/null
+++ b/pkgs/development/coq-modules/serapi/8.10.0+0.7.2.patch
@@ -0,0 +1,34 @@
+diff --git a/serapi/serapi_paths.ml b/serapi/serapi_paths.ml
+index 17cbb98..1fd85a0 100644
+--- a/serapi/serapi_paths.ml
++++ b/serapi/serapi_paths.ml
+@@ -23,10 +23,10 @@
+ let coq_loadpath_default ~implicit ~coq_path =
+   let open Mltop in
+   let mk_path prefix = coq_path ^ "/" ^ prefix in
+-  let mk_lp ~ml ~root ~dir ~implicit =
++  let mk_lp ~ml ~root ~dir ~implicit ~absolute =
+     { recursive = true;
+       path_spec = VoPath {
+-          unix_path = mk_path dir;
++          unix_path = if absolute then dir else mk_path dir;
+           coq_path  = root;
+           has_ml    = ml;
+           implicit;
+@@ -35,10 +35,12 @@ let coq_loadpath_default ~implicit ~coq_path =
+   (* in 8.8 we can use Libnames.default_* *)
+   let coq_root     = Names.DirPath.make [Libnames.coq_root] in
+   let default_root = Libnames.default_root_prefix in
+-  [mk_lp ~ml:AddRecML ~root:coq_root     ~implicit       ~dir:"plugins";
+-   mk_lp ~ml:AddNoML  ~root:coq_root     ~implicit       ~dir:"theories";
+-   mk_lp ~ml:AddRecML ~root:default_root ~implicit:false ~dir:"user-contrib";
+-  ]
++  [mk_lp ~ml:AddRecML ~root:coq_root     ~implicit       ~dir:"plugins" ~absolute:false;
++   mk_lp ~ml:AddNoML  ~root:coq_root     ~implicit       ~dir:"theories" ~absolute:false;
++   mk_lp ~ml:AddRecML ~root:default_root ~implicit:false ~dir:"user-contrib" ~absolute:false;
++  ] @
++  List.map (fun dir -> mk_lp ~ml:AddRecML ~root:default_root ~implicit:false ~dir ~absolute:true)
++    Envars.coqpath
+ 
+ (******************************************************************************)
+ (* Generate a module name given a file                                        *)
diff --git a/pkgs/development/coq-modules/serapi/8.11.0+0.11.1.patch b/pkgs/development/coq-modules/serapi/8.11.0+0.11.1.patch
new file mode 100644
index 00000000000..c10bf5c3142
--- /dev/null
+++ b/pkgs/development/coq-modules/serapi/8.11.0+0.11.1.patch
@@ -0,0 +1,33 @@
+diff --git a/serapi/serapi_paths.ml b/serapi/serapi_paths.ml
+index a9c5074..eed92e3 100644
+--- a/serapi/serapi_paths.ml
++++ b/serapi/serapi_paths.ml
+@@ -23,10 +23,10 @@
+ let coq_loadpath_default ~implicit ~coq_path =
+   let open Loadpath in
+   let mk_path prefix = coq_path ^ "/" ^ prefix in
+-  let mk_lp ~ml ~root ~dir ~implicit =
++  let mk_lp ~ml ~root ~dir ~implicit ~absolute =
+     { recursive = true;
+       path_spec = VoPath {
+-          unix_path = mk_path dir;
++          unix_path = if absolute then dir else mk_path dir;
+           coq_path  = root;
+           has_ml    = ml;
+           implicit;
+@@ -35,11 +35,11 @@ let coq_loadpath_default ~implicit ~coq_path =
+   (* in 8.8 we can use Libnames.default_* *)
+   let coq_root     = Names.DirPath.make [Libnames.coq_root] in
+   let default_root = Libnames.default_root_prefix in
+-  [mk_lp ~ml:AddRecML ~root:coq_root     ~implicit       ~dir:"plugins";
+-   mk_lp ~ml:AddNoML  ~root:coq_root     ~implicit       ~dir:"theories";
+-   mk_lp ~ml:AddRecML ~root:default_root ~implicit:false ~dir:"user-contrib";
++  [mk_lp ~ml:AddRecML ~root:coq_root     ~implicit       ~dir:"plugins" ~absolute:false;
++   mk_lp ~ml:AddNoML  ~root:coq_root     ~implicit       ~dir:"theories" ~absolute:false;
++   mk_lp ~ml:AddRecML ~root:default_root ~implicit:false ~dir:"user-contrib" ~absolute:false;
+   ] @
+-  List.map (fun dir -> mk_lp ~ml:AddRecML ~root:default_root ~implicit:false ~dir)
++  List.map (fun dir -> mk_lp ~ml:AddRecML ~root:default_root ~implicit:false ~dir ~absolute:true)
+     Envars.coqpath
+ 
+ (******************************************************************************)
diff --git a/pkgs/development/coq-modules/serapi/8.12.0+0.12.1.patch b/pkgs/development/coq-modules/serapi/8.12.0+0.12.1.patch
new file mode 100644
index 00000000000..9eb70b670a1
--- /dev/null
+++ b/pkgs/development/coq-modules/serapi/8.12.0+0.12.1.patch
@@ -0,0 +1,29 @@
+diff --git a/serapi/serapi_paths.ml b/serapi/serapi_paths.ml
+index b71fa60..0bec8c2 100644
+--- a/serapi/serapi_paths.ml
++++ b/serapi/serapi_paths.ml
+@@ -24,8 +24,8 @@ let coq_loadpath_default ~implicit ~coq_path =
+   let open Loadpath in
+   let mk_path prefix = coq_path ^ "/" ^ prefix in
+   (* let mk_ml = () in *)
+-  let mk_vo ~has_ml ~coq_path ~dir ~implicit =
+-    { unix_path = mk_path dir
++  let mk_vo ~has_ml ~coq_path ~dir ~implicit ~absolute =
++    { unix_path = if absolute then dir else mk_path dir
+     ; coq_path
+     ; has_ml
+     ; recursive = true
+@@ -40,10 +40,10 @@ let coq_loadpath_default ~implicit ~coq_path =
+     List.map fst plugins_dirs
+   in
+   ml_paths ,
+-  [ mk_vo ~has_ml:false ~coq_path:coq_root     ~implicit       ~dir:"theories"
+-  ; mk_vo ~has_ml:true  ~coq_path:default_root ~implicit:false ~dir:"user-contrib";
++  [ mk_vo ~has_ml:false ~coq_path:coq_root     ~implicit       ~dir:"theories" ~absolute:false
++  ; mk_vo ~has_ml:true  ~coq_path:default_root ~implicit:false ~dir:"user-contrib" ~absolute:false;
+   ] @
+-  List.map (fun dir -> mk_vo ~has_ml:true ~coq_path:default_root ~implicit:false ~dir)
++  List.map (fun dir -> mk_vo ~has_ml:true ~coq_path:default_root ~implicit:false ~dir ~absolute:true)
+     Envars.coqpath
+ 
+ (******************************************************************************)
diff --git a/pkgs/development/coq-modules/serapi/default.nix b/pkgs/development/coq-modules/serapi/default.nix
index 1f6e995703c..01954dff655 100644
--- a/pkgs/development/coq-modules/serapi/default.nix
+++ b/pkgs/development/coq-modules/serapi/default.nix
@@ -75,4 +75,19 @@ in
         }.tbz";
     sha256 = release."${version}".sha256;
   };
+
+  patches =
+    if version == "8.10.0+0.7.2"
+    then [
+      ./8.10.0+0.7.2.patch
+    ]
+    else if version == "8.11.0+0.11.1"
+    then [
+      ./8.11.0+0.11.1.patch
+    ]
+    else if version == "8.12.0+0.12.1" || version == "8.13.0+0.13.0"
+    then [
+      ./8.12.0+0.12.1.patch
+    ]
+    else [];
 })
diff --git a/pkgs/development/embedded/platformio/core.nix b/pkgs/development/embedded/platformio/core.nix
index 169ff4cd5a8..aa495abda55 100644
--- a/pkgs/development/embedded/platformio/core.nix
+++ b/pkgs/development/embedded/platformio/core.nix
@@ -9,54 +9,23 @@
 let
   python = python3.override {
     packageOverrides = self: super: {
-      aiofiles = super.aiofiles.overridePythonAttrs (oldAttrs: rec {
-        pname = "aiofiles";
-        version = "0.6.0";
+      asgiref = super.asgiref.overridePythonAttrs (oldAttrs: rec {
+        version = "3.4.1";
         src = fetchFromGitHub {
-          owner = "Tinche";
-          repo = pname;
-          rev = "v${version}";
-          sha256 = "0w23d88q65m06884pfcps661clr11w9wm701ihx6kfxjwga6fkzf";
-        };
-        doCheck = false;
-      });
-
-      ajsonrpc = super.ajsonrpc.overridePythonAttrs (oldAttrs: rec {
-        pname = "ajsonrpc";
-        version = "1.1.0";
-        src = fetchPypi {
-          inherit pname version;
-          sha256 = "sha256-CgHCtW0gxZho7ZavvEaODNc+KbFW4sAsHtM2Xk5Cuaw=";
-        };
-      });
-
-      click = super.click.overridePythonAttrs (oldAttrs: rec {
-        version = "7.1.2";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj";
-        };
-      });
-
-      starlette = super.starlette.overridePythonAttrs (oldAttrs: rec {
-        pname = "starlette";
-        version = "0.14.2";
-        src = fetchFromGitHub {
-          owner = "encode";
-          repo = pname;
+          owner = "django";
+          repo = "asgiref";
           rev = version;
-          sha256 = "sha256-Ki5jTEr5w6CrGK6F60E9uvdUlGx8pxdHMpxHvj9D4js=";
+          sha256 = "0440321alpqb1cdsmfzmiiy8rpq0ic0wvraalzk39cgrl7mghw39";
         };
-        doCheck = false;
       });
 
       uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: rec {
-        version = "0.13.2";
+        version = "0.15.0";
         src = fetchFromGitHub {
           owner = "encode";
           repo = "uvicorn";
           rev = version;
-          sha256 = "04zgmp9z46k72ay6cz7plga6d3w3a6x41anabm7ramp7jdqf6na9";
+          sha256 = "074smp3448wcazlhc7sb8r54l4kfavr6yks3w5x60zl1qpijf52r";
         };
       });
     };
@@ -67,6 +36,7 @@ with python.pkgs; buildPythonApplication rec {
   inherit version src;
 
   propagatedBuildInputs = [
+    aiofiles
     ajsonrpc
     bottle
     click
diff --git a/pkgs/development/embedded/platformio/default.nix b/pkgs/development/embedded/platformio/default.nix
index 312c2d1044b..35615a4de1f 100644
--- a/pkgs/development/embedded/platformio/default.nix
+++ b/pkgs/development/embedded/platformio/default.nix
@@ -4,14 +4,14 @@
 let
   callPackage = newScope self;
 
-  version = "5.1.1";
+  version = "5.2.1";
 
   # pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
   src = fetchFromGitHub {
     owner = "platformio";
     repo = "platformio-core";
     rev = "v${version}";
-    sha256 = "1m9vq5r4g04n3ckmb3hrrc4ar5v31k6isc76bw4glrn2xb7r8c00";
+    sha256 = "1kmwr21djcz1qnpbsk0za244rp6rkh0vp6wss1vjks4waambiqnl";
   };
 
   self = {
diff --git a/pkgs/development/embedded/platformio/use-local-spdx-license-list.patch b/pkgs/development/embedded/platformio/use-local-spdx-license-list.patch
index e0016adcf7d..156600595f9 100644
--- a/pkgs/development/embedded/platformio/use-local-spdx-license-list.patch
+++ b/pkgs/development/embedded/platformio/use-local-spdx-license-list.patch
@@ -6,7 +6,7 @@ index addc4c5..514b0ad 100644
      @staticmethod
      @memoized(expire="1h")
      def load_spdx_licenses():
--        version = "3.12"
+-        version = "3.14"
 -        spdx_data_url = (
 -            "https://raw.githubusercontent.com/spdx/license-list-data/"
 -            "v%s/json/licenses.json" % version
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index df75a233fff..7d7a216b2fb 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, graalvm11-ce, glibcLocales }:
+{ lib, stdenv, fetchurl, graalvm11-ce, glibcLocales, writeScript }:
 
 stdenv.mkDerivation rec {
   pname = "babashka";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-s0fZzx/sEAUwXY2cx2ODDhwIrJb5LykFgHBcscsZQO0=";
+    sha256 = "sha256-exNOdm17Xg4HVpjX2avoftww/flejL4mB7kSIAJUSco=";
   };
 
   dontUnpack = true;
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     runHook preBuild
 
-    # https://github.com/babashka/babashka/blob/v0.6.1/script/compile#L41-L52
+    # https://github.com/babashka/babashka/blob/v0.6.2/script/compile#L41-L52
     args=("-jar" "$BABASHKA_JAR"
           "-H:CLibraryPath=${graalvm11-ce.lib}/lib"
           # Required to build babashka on darwin. Do not remove.
@@ -58,6 +58,21 @@ stdenv.mkDerivation rec {
     $out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | grep '[1 2]'
   '';
 
+  passthru.updateScript = writeScript "update-babashka" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl common-updater-scripts jq
+
+    set -euo pipefail
+
+    readonly latest_version="$(curl \
+      ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
+      -s "https://api.github.com/repos/babashka/babashka/releases/latest" \
+      | jq -r '.tag_name')"
+
+    # v0.6.2 -> 0.6.2
+    update-source-version babashka "''${latest_version/v/}"
+  '';
+
   meta = with lib; {
     description = "A Clojure babushka for the grey areas of Bash";
     longDescription = ''
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 4ce8cacb845..371700bd363 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, installShellFiles, jdk, rlwrap, makeWrapper }:
+{ lib, stdenv, fetchurl, installShellFiles, jdk, rlwrap, makeWrapper, writeScript }:
 
 stdenv.mkDerivation rec {
   pname = "clojure";
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "1xhfp186mk9h3jdl9bpkigqrrrgdhgij7ba65j6783nh11llpa3x";
+    sha256 = "fahLaQjQDnSMLEatI+OD7eWc8YvzrkSbHDDNalC4DvY=";
   };
 
   nativeBuildInputs = [
@@ -48,12 +48,29 @@ stdenv.mkDerivation rec {
     '';
 
   doInstallCheck = true;
+
   installCheckPhase = ''
     CLJ_CONFIG=$TMPDIR CLJ_CACHE=$TMPDIR/.clj_cache $out/bin/clojure \
       -Spath \
       -Sverbose \
       -Scp $out/libexec/clojure-tools-${version}.jar
   '';
+
+  passthru.updateScript = writeScript "update-clojure" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl common-updater-scripts jq
+
+    set -euo pipefail
+
+    # `jq -r '.[0].name'` results in `v0.0`
+    readonly latest_version="$(curl \
+      ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
+      -s "https://api.github.com/repos/clojure/brew-install/tags" \
+      | jq -r '.[1].name')"
+
+    update-source-version clojure "$latest_version"
+  '';
+
   meta = with lib; {
     description = "A Lisp dialect for the JVM";
     homepage = "https://clojure.org/";
diff --git a/pkgs/development/interpreters/kona/default.nix b/pkgs/development/interpreters/kona/default.nix
index 15ce9321a8d..ff5929745ba 100644
--- a/pkgs/development/interpreters/kona/default.nix
+++ b/pkgs/development/interpreters/kona/default.nix
@@ -1,11 +1,14 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "kona";
-  version = "3.21";
-  src = fetchurl {
-    url = "https://github.com/kevinlawler/kona/archive/Win.${version}-64.tar.gz";
-    sha256 = "0c1yf3idqkfq593xgqb25r2ykmfmp83zzh3q7kb8095a069gvri3";
+  version = "20201009";
+
+  src = fetchFromGitHub {
+    owner = "kevinlawler";
+    repo = "kona";
+    rev = "Win64-${version}";
+    sha256 = "0v252zds61y01cf29hxznz1zc1724vxmzy059k9jiri4r73k679v";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/development/interpreters/ngn-k/default.nix b/pkgs/development/interpreters/ngn-k/default.nix
new file mode 100644
index 00000000000..e70ac299214
--- /dev/null
+++ b/pkgs/development/interpreters/ngn-k/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, stdenvNoLibs
+, fetchFromGitea
+, runtimeShell
+, doCheck ? stdenv.hostPlatform == stdenv.buildPlatform
+}:
+
+let
+  # k itself is compiled with -ffreestanding, but tests require a libc
+  useStdenv = if doCheck then stdenv else stdenvNoLibs;
+in
+
+useStdenv.mkDerivation {
+  pname = "ngn-k";
+  version = "unstable-2021-08-30";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "ngn";
+    repo = "k";
+    rev = "3e2bcb81c723e268015818570f2805547114b5dd";
+    sha256 = "0b16971xgf0sgx7qf41dilrpz02jnas61gfwkyvbxv18874w5vap";
+  };
+
+  patches = [
+    ./repl-license-path.patch
+  ];
+
+  postPatch = ''
+    # make self-reference for LICENSE
+    substituteAllInPlace repl.k
+
+    # don't use hardcoded /bin/sh
+    for f in repl.k m.c;do
+      substituteInPlace "$f" --replace "/bin/sh" "${runtimeShell}"
+    done
+  '';
+
+  makeFlags = [ "-e" ];
+  buildFlags = [ "k" ];
+  checkTarget = "t";
+  inherit doCheck;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 k "$out/bin/k"
+    install -Dm755 repl.k "$out/bin/k-repl"
+    install -Dm644 LICENSE -t "$out/share/ngn-k"
+    substituteInPlace "$out/bin/k-repl" --replace "#!k" "#!$out/bin/k"
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "A simple fast vector programming language";
+    homepage = "https://codeberg.org/ngn/k";
+    license = lib.licenses.agpl3Only;
+    maintainers = [ lib.maintainers.sternenseemann ];
+    platforms = [ "x86_64-linux" "x86_64-freebsd" ];
+  };
+}
diff --git a/pkgs/development/interpreters/ngn-k/repl-license-path.patch b/pkgs/development/interpreters/ngn-k/repl-license-path.patch
new file mode 100644
index 00000000000..1b0ce708f0c
--- /dev/null
+++ b/pkgs/development/interpreters/ngn-k/repl-license-path.patch
@@ -0,0 +1,14 @@
+diff --git a/repl.k b/repl.k
+index e4071e6..70ae276 100755
+--- a/repl.k
++++ b/repl.k
+@@ -3,8 +3,7 @@ repl.banner:"ngn/k, (c) 2019-2021 ngn, GNU AGPLv3. type \\ for more info\n"
+ repl.prompt:," "
+ repl.cmds:""!()
+ repl.cmds["vf"]:{` 0:($!h),'":",'`k'. h:(&(x~"v")=^`o`p`q`r`u`v`w?@'h)#h:``repl_.:0#`}
+-repl.cmds["a"]:{` 1:1:repl.basename[`argv 0],"/LICENSE";}
+-repl.basename:{$[#x:"/"/-1_"/"\x;x;,"."]}
++repl.cmds["a"]:{` 1:1:"@out@/share/ngn-k/LICENSE";}
+ repl.fmt:{$[x~(::);"";(`A~@x)&1<#x;"(",("\n "/`k'x),")\n";`k[x],"\n"]}
+ repl.line:{$[#x;;:0];x:-1_x;$[(3>#x)&("\\"=*x)&~^(!repl.cmds)?x 1;repl.cmds[x 1]x 1;.[` 1:repl.fmt@.:;,x;`epr@]];` 1:repl.prompt;1}
+ {repl.cmds[x[1]1]:{y;` 0:x}2_x}'{(&x~\:80#"-")_x:(1+*&x~\:,"/")_-1_x}@0:`argv 1;
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index ba132acf722..b6010cf32d1 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -26,7 +26,6 @@ let
   generic = { version, sha256 }: let
     ver = version;
     tag = ver.gitTag;
-    atLeast27 = lib.versionAtLeast ver.majMin "2.7";
     atLeast30 = lib.versionAtLeast ver.majMin "3.0";
     baseruby = self.override {
       useRailsExpress = false;
@@ -105,7 +104,7 @@ let
             inherit patchSet useRailsExpress ops fetchpatch;
             patchLevel = ver.patchLevel;
           }).${ver.majMinTiny}
-          ++ op atLeast27 ./do-not-regenerate-revision.h.patch
+          ++ [ ./do-not-regenerate-revision.h.patch ]
           ++ op (atLeast30 && useRailsExpress) ./do-not-update-gems-baseruby.patch
           # Ruby prior to 3.0 has a bug the installer (tools/rbinstall.rb) but
           # the resulting error was swallowed. Newer rubygems no longer swallows
@@ -252,14 +251,6 @@ let
     ) args; in self;
 
 in {
-  ruby_2_6 = generic {
-    version = rubyVersion "2" "6" "8" "";
-    sha256 = {
-      src = "0vfam28ifl6h2wxi6p70j0hm3f1pvsp432hf75m5j25wfy2vf1qq";
-      git = "0rc3n6sk8632r0libpv8jwslc7852hgk64rvbdrspc9razjwx21c";
-    };
-  };
-
   ruby_2_7 = generic {
     version = rubyVersion "2" "7" "4" "";
     sha256 = {
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index 5c2992bb859..3ea358c349a 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -1,11 +1,6 @@
 { patchSet, useRailsExpress, ops, patchLevel, fetchpatch }:
 
 {
-  "2.6.8" = 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.4" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.7/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
     "${patchSet}/patches/ruby/2.7/head/railsexpress/02-improve-gc-stats.patch"
diff --git a/pkgs/development/libraries/codec2/default.nix b/pkgs/development/libraries/codec2/default.nix
index a860470af31..9f15f9e16d4 100644
--- a/pkgs/development/libraries/codec2/default.nix
+++ b/pkgs/development/libraries/codec2/default.nix
@@ -2,17 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "codec2";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "drowe67";
     repo = "codec2";
     rev = "v${version}";
-    sha256 = "sha256-R4H6gwmc8nPgRfhNms7n7jMCHhkzX7i/zfGT4CYSsY8=";
+    sha256 = "05xjsb67dzwncl2rnhg6fqih8krf38b7vmvzlsb7y9g6d1b085wg";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  # Swap keyword order to satisfy SWIG parser
+  postFixup = ''
+    sed -r -i 's/(\<_Complex)(\s+)(float|double)/\3\2\1/' $out/include/$pname/freedv_api.h
+  '';
+
   meta = with lib; {
     description = "Speech codec designed for communications quality speech at low data rates";
     homepage = "http://www.rowetel.com/blog/?page_id=452";
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix
index 71a466067ad..5f62acf2dc0 100644
--- a/pkgs/development/libraries/duckdb/default.nix
+++ b/pkgs/development/libraries/duckdb/default.nix
@@ -5,19 +5,19 @@
 
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.2.9";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
-    owner = "cwida";
-    repo = "duckdb";
+    owner = pname;
+    repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ID65xpNSDyi19OcOs9Gdf5xpK++UVWclp8pVggIWQNU=";
+    sha256 = "sha256-SvihG6PdHQ+03JAXdkuzvGug4lw0ngcxYigS7R7yK9g=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
-    homepage = "https://github.com/cwida/duckdb";
+    homepage = "https://github.com/duckdb/duckdb";
     description = "Embeddable SQL OLAP Database Management System";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/hpx/default.nix b/pkgs/development/libraries/hpx/default.nix
index 73d1eea988d..0474fd3bc48 100644
--- a/pkgs/development/libraries/hpx/default.nix
+++ b/pkgs/development/libraries/hpx/default.nix
@@ -1,17 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, boost, cmake, hwloc, gperftools, pkg-config, python3 }:
+{ lib, stdenv, fetchFromGitHub, asio, boost, cmake, hwloc, gperftools, ninja
+, pkg-config, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "hpx";
-  version = "1.6.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "STEllAR-GROUP";
     repo = "hpx";
     rev = version;
-    sha256 = "sha256-Fkntfk5AaWtS1x0fXfLSWW/9tvKcCBi1COqgNxurPmk=";
+    sha256 = "1knx7kr8iw4b7nh116ygd00y68y84jjb4fj58jkay7n5qlrxh604";
   };
 
-  buildInputs = [ boost hwloc gperftools ];
+  buildInputs = [ asio boost hwloc gperftools ];
   nativeBuildInputs = [ cmake pkg-config python3 ];
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/libad9361/default.nix b/pkgs/development/libraries/libad9361/default.nix
new file mode 100644
index 00000000000..74707897bd0
--- /dev/null
+++ b/pkgs/development/libraries/libad9361/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, cmake, libiio }:
+
+stdenv.mkDerivation rec {
+  pname = "libad9361";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "analogdevicesinc";
+    repo = "libad9361-iio";
+    rev = "v${version}";
+    hash = "sha256-dYoFWRnREvlOC514ZpmmvoS37DmIkVqfq7JPpTXqXd8=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ libiio ];
+
+  meta = with lib; {
+    description = "IIO AD9361 library for filter design and handling, multi-chip sync, etc";
+    homepage = "http://analogdevicesinc.github.io/libad9361-iio/";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libwpe/fdo.nix b/pkgs/development/libraries/libwpe/fdo.nix
index 6f9356a6ad8..e9c0e3c7f44 100644
--- a/pkgs/development/libraries/libwpe/fdo.nix
+++ b/pkgs/development/libraries/libwpe/fdo.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wpebackend-fdo";
-  version = "1.7.1";
+  version = "1.10.0";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1xf6akagvpyh0nyxkfijrx5avp6ravnivy28dhk64dsfx9rhm64v";
+    sha256 = "sha256-uJ39NQCk3scREyzXv/clmeZ9VqQZ0ABzDhS7mVR1Ccw=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/olm/default.nix b/pkgs/development/libraries/olm/default.nix
index e7642e16c95..252bebd9eff 100644
--- a/pkgs/development/libraries/olm/default.nix
+++ b/pkgs/development/libraries/olm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.2.4";
+  version = "3.2.6";
 
   src = fetchFromGitLab {
     domain = "gitlab.matrix.org";
     owner = "matrix-org";
     repo = pname;
     rev = version;
-    sha256 = "1rl7j26li1irb1lqnnkzan7jrj38kvmdn69rlwbbp390v3z15lvh";
+    sha256 = "1srmw36nxi0z2y5d9adks09p950qm0fscbnrq1fl37fdypvjl1sk";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index 6c89a8496e8..6d60321a304 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -4,11 +4,11 @@ let
   archiveVersion = import ./archive-version.nix lib;
   mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.35.5";
+    version = "3.36.0";
 
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2021/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "049vdpk50sba786345ibmlxnkzk5zp4xj859658ancswb6jyrgpl";
+      sha256 = "092khwfm0m0i80sjb4fc5569jj0kilm6pa867w0akcv6h38bk8r5";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index b71ad69a46b..4b3ecb1a0f0 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -24,8 +24,8 @@ let lispPackages = rec {
       quicklispdist = pkgs.fetchurl {
         # Will usually be replaced with a fresh version anyway, but needs to be
         # a valid distinfo.txt
-        url = "http://beta.quicklisp.org/dist/quicklisp/2021-08-07/distinfo.txt";
-        sha256 = "sha256:05hby6rbsxk3pisjzr9gqjw0cdk2rq8hc4j544hqf11y6451k37v";
+        url = "http://beta.quicklisp.org/dist/quicklisp/2021-10-21/distinfo.txt";
+        sha256 = "sha256:0ihi3p6fvagzfzkkyzs6b3jrz5yidj4f5dcgnh73qas19mk345ai";
       };
       buildPhase = "true; ";
       postInstall = ''
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
index 2142081704c..ad02d8c1baa 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-ansi-text";
-  version = "20210124-git";
+  version = "20211020-git";
 
   description = "ANSI control string characters, focused on color";
 
   deps = [ args."alexandria" args."cl-colors2" args."cl-ppcre" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-01-24/cl-ansi-text-20210124-git.tgz";
-    sha256 = "1l7slqk26xznfyn0zpp5l32v6xfpj4qj42h4x4ds5s1yncq306cm";
+    url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz";
+    sha256 = "1lmxmdf4sm7apkczp0y07rlsayc5adyv2i85r6p7s60w6sianjr6";
   };
 
   packageName = "cl-ansi-text";
@@ -20,11 +20,11 @@ rec {
 }
 /* (SYSTEM cl-ansi-text DESCRIPTION
     ANSI control string characters, focused on color SHA256
-    1l7slqk26xznfyn0zpp5l32v6xfpj4qj42h4x4ds5s1yncq306cm URL
-    http://beta.quicklisp.org/archive/cl-ansi-text/2021-01-24/cl-ansi-text-20210124-git.tgz
-    MD5 76f54998b056919978737815468e31b6 NAME cl-ansi-text FILENAME
+    1lmxmdf4sm7apkczp0y07rlsayc5adyv2i85r6p7s60w6sianjr6 URL
+    http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz
+    MD5 5411766beeb4180218b449454b67837f NAME cl-ansi-text FILENAME
     cl-ansi-text DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME cl-colors2 FILENAME cl-colors2) (NAME cl-ppcre FILENAME cl-ppcre))
-    DEPENDENCIES (alexandria cl-colors2 cl-ppcre) VERSION 20210124-git SIBLINGS
+    DEPENDENCIES (alexandria cl-colors2 cl-ppcre) VERSION 20211020-git SIBLINGS
     (cl-ansi-text.test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
index 00345eb2d63..c250b53675a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-async-repl";
-  version = "cl-async-20210531-git";
+  version = "cl-async-20211020-git";
 
   description = "REPL integration for CL-ASYNC.";
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-async" args."cl-async-base" args."cl-async-util" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."vom" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-async/2021-05-31/cl-async-20210531-git.tgz";
-    sha256 = "0hvgxkdvz1hz9ysyajlsnckcypfqka6h5payy3chxbnbvis4kkqw";
+    url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+    sha256 = "1b3bwqvzw2pc83m4x8vbbxyriq58g0j3738mzq68v689zl071dl0";
   };
 
   packageName = "cl-async-repl";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-async-repl DESCRIPTION REPL integration for CL-ASYNC. SHA256
-    0hvgxkdvz1hz9ysyajlsnckcypfqka6h5payy3chxbnbvis4kkqw URL
-    http://beta.quicklisp.org/archive/cl-async/2021-05-31/cl-async-20210531-git.tgz
-    MD5 bf2b1337e09df5ecca329c3e92622376 NAME cl-async-repl FILENAME
+    1b3bwqvzw2pc83m4x8vbbxyriq58g0j3738mzq68v689zl071dl0 URL
+    http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz
+    MD5 0e0cd11758e93a91b39ad726fb1051cc NAME cl-async-repl FILENAME
     cl-async-repl DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -40,5 +40,5 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-async
      cl-async-base cl-async-util cl-libuv cl-ppcre fast-io static-vectors
      trivial-features trivial-gray-streams vom)
-    VERSION cl-async-20210531-git SIBLINGS
+    VERSION cl-async-20211020-git SIBLINGS
     (cl-async-ssl cl-async-test cl-async) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
index 5a6c9052beb..14430f53695 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-async-ssl";
-  version = "cl-async-20210531-git";
+  version = "cl-async-20211020-git";
 
   description = "SSL Wrapper around cl-async socket implementation.";
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-async" args."cl-async-base" args."cl-async-util" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."vom" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-async/2021-05-31/cl-async-20210531-git.tgz";
-    sha256 = "0hvgxkdvz1hz9ysyajlsnckcypfqka6h5payy3chxbnbvis4kkqw";
+    url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+    sha256 = "1b3bwqvzw2pc83m4x8vbbxyriq58g0j3738mzq68v689zl071dl0";
   };
 
   packageName = "cl-async-ssl";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM cl-async-ssl DESCRIPTION
     SSL Wrapper around cl-async socket implementation. SHA256
-    0hvgxkdvz1hz9ysyajlsnckcypfqka6h5payy3chxbnbvis4kkqw URL
-    http://beta.quicklisp.org/archive/cl-async/2021-05-31/cl-async-20210531-git.tgz
-    MD5 bf2b1337e09df5ecca329c3e92622376 NAME cl-async-ssl FILENAME
+    1b3bwqvzw2pc83m4x8vbbxyriq58g0j3738mzq68v689zl071dl0 URL
+    http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz
+    MD5 0e0cd11758e93a91b39ad726fb1051cc NAME cl-async-ssl FILENAME
     cl-async-ssl DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -41,5 +41,5 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-async
      cl-async-base cl-async-util cl-libuv cl-ppcre fast-io static-vectors
      trivial-features trivial-gray-streams vom)
-    VERSION cl-async-20210531-git SIBLINGS
+    VERSION cl-async-20211020-git SIBLINGS
     (cl-async-repl cl-async-test cl-async) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
index 0ef54803974..ff57643ed56 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-async";
-  version = "20210531-git";
+  version = "20211020-git";
 
   parasites = [ "cl-async-base" "cl-async-util" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."uiop" args."vom" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-async/2021-05-31/cl-async-20210531-git.tgz";
-    sha256 = "0hvgxkdvz1hz9ysyajlsnckcypfqka6h5payy3chxbnbvis4kkqw";
+    url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+    sha256 = "1b3bwqvzw2pc83m4x8vbbxyriq58g0j3738mzq68v689zl071dl0";
   };
 
   packageName = "cl-async";
@@ -21,9 +21,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-async DESCRIPTION Asynchronous operations for Common Lisp. SHA256
-    0hvgxkdvz1hz9ysyajlsnckcypfqka6h5payy3chxbnbvis4kkqw URL
-    http://beta.quicklisp.org/archive/cl-async/2021-05-31/cl-async-20210531-git.tgz
-    MD5 bf2b1337e09df5ecca329c3e92622376 NAME cl-async FILENAME cl-async DEPS
+    1b3bwqvzw2pc83m4x8vbbxyriq58g0j3738mzq68v689zl071dl0 URL
+    http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz
+    MD5 0e0cd11758e93a91b39ad726fb1051cc NAME cl-async FILENAME cl-async DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
@@ -38,5 +38,5 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-libuv
      cl-ppcre fast-io static-vectors trivial-features trivial-gray-streams uiop
      vom)
-    VERSION 20210531-git SIBLINGS (cl-async-repl cl-async-ssl cl-async-test)
+    VERSION 20211020-git SIBLINGS (cl-async-repl cl-async-ssl cl-async-test)
     PARASITES (cl-async-base cl-async-util)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors2.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors2.nix
index a354c564be0..b9a55128d91 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors2.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors2.nix
@@ -2,15 +2,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-colors2";
-  version = "20210630-git";
+  version = "20211020-git";
+
+  parasites = [ "cl-colors2/tests" ];
 
   description = "Simple color library for Common Lisp";
 
-  deps = [ args."alexandria" args."cl-ppcre" ];
+  deps = [ args."alexandria" args."cl-ppcre" args."clunit2" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-colors2/2021-06-30/cl-colors2-20210630-git.tgz";
-    sha256 = "00mb239p4r30fm7b0qwfg1vfyp83h2h87igk3hqqgvadp6infi7g";
+    url = "http://beta.quicklisp.org/archive/cl-colors2/2021-10-20/cl-colors2-20211020-git.tgz";
+    sha256 = "1vkhcyflp173szwnd1xg7hk0h1f3144qzwnsdv6a16rlxjz9h804";
   };
 
   packageName = "cl-colors2";
@@ -19,10 +21,11 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-colors2 DESCRIPTION Simple color library for Common Lisp SHA256
-    00mb239p4r30fm7b0qwfg1vfyp83h2h87igk3hqqgvadp6infi7g URL
-    http://beta.quicklisp.org/archive/cl-colors2/2021-06-30/cl-colors2-20210630-git.tgz
-    MD5 50a5885e2b55239d5904b0a0134e0be3 NAME cl-colors2 FILENAME cl-colors2
+    1vkhcyflp173szwnd1xg7hk0h1f3144qzwnsdv6a16rlxjz9h804 URL
+    http://beta.quicklisp.org/archive/cl-colors2/2021-10-20/cl-colors2-20211020-git.tgz
+    MD5 13fd422daa03328c909d1578d65f6222 NAME cl-colors2 FILENAME cl-colors2
     DEPS
-    ((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre))
-    DEPENDENCIES (alexandria cl-ppcre) VERSION 20210630-git SIBLINGS NIL
-    PARASITES NIL) */
+    ((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME clunit2 FILENAME clunit2))
+    DEPENDENCIES (alexandria cl-ppcre clunit2) VERSION 20211020-git SIBLINGS
+    NIL PARASITES (cl-colors2/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
index a691ed2ba54..9185445b359 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-dbi";
-  version = "20210228-git";
+  version = "20211020-git";
 
   description = "System lacks description";
 
   deps = [ args."alexandria" args."bordeaux-threads" args."closer-mop" args."dbi" args."split-sequence" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz";
-    sha256 = "0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk";
+    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+    sha256 = "1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr";
   };
 
   packageName = "cl-dbi";
@@ -19,13 +19,13 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-dbi DESCRIPTION System lacks description SHA256
-    0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk URL
-    http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz
-    MD5 7cfb5ad172bc30906ae32ca620099a1f NAME cl-dbi FILENAME cl-dbi DEPS
+    1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr URL
+    http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz
+    MD5 565a1f32b2d924ad59876afcdc5cf263 NAME cl-dbi FILENAME cl-dbi DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME closer-mop FILENAME closer-mop) (NAME dbi FILENAME dbi)
      (NAME split-sequence FILENAME split-sequence))
     DEPENDENCIES (alexandria bordeaux-threads closer-mop dbi split-sequence)
-    VERSION 20210228-git SIBLINGS
+    VERSION 20211020-git SIBLINGS
     (dbd-mysql dbd-postgres dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-digraph.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-digraph.nix
index 513d4537c12..e1fda552afd 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-digraph.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-digraph.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-digraph";
-  version = "20210411-hg";
+  version = "20211020-hg";
 
   description = "Simple directed graphs for Common Lisp.";
 
   deps = [ ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-digraph/2021-04-11/cl-digraph-20210411-hg.tgz";
-    sha256 = "1g9l3dzw4ykvprl3id7xv4brpzz86jk70z4wfw5lkq8vpxv397fi";
+    url = "http://beta.quicklisp.org/archive/cl-digraph/2021-10-20/cl-digraph-20211020-hg.tgz";
+    sha256 = "0iqzqy322xywmal7y7vhn1myhdglr78fj89maiwfx6yjppcyd1i1";
   };
 
   packageName = "cl-digraph";
@@ -19,8 +19,8 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-digraph DESCRIPTION Simple directed graphs for Common Lisp.
-    SHA256 1g9l3dzw4ykvprl3id7xv4brpzz86jk70z4wfw5lkq8vpxv397fi URL
-    http://beta.quicklisp.org/archive/cl-digraph/2021-04-11/cl-digraph-20210411-hg.tgz
-    MD5 c7c947fb7471213b24505bff1e9287de NAME cl-digraph FILENAME cl-digraph
-    DEPS NIL DEPENDENCIES NIL VERSION 20210411-hg SIBLINGS
+    SHA256 0iqzqy322xywmal7y7vhn1myhdglr78fj89maiwfx6yjppcyd1i1 URL
+    http://beta.quicklisp.org/archive/cl-digraph/2021-10-20/cl-digraph-20211020-hg.tgz
+    MD5 737c3640b4b079ce0ee730525aa8b6de NAME cl-digraph FILENAME cl-digraph
+    DEPS NIL DEPENDENCIES NIL VERSION 20211020-hg SIBLINGS
     (cl-digraph.dot cl-digraph.test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-environments.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-environments.nix
index 223da7f670f..5638404470d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-environments.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-environments.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-environments";
-  version = "20210807-git";
+  version = "20211020-git";
 
   parasites = [ "cl-environments/test" ];
 
@@ -13,8 +13,8 @@ rec {
   deps = [ args."alexandria" args."anaphora" args."closer-mop" args."collectors" args."fiveam" args."iterate" args."optima" args."parse-declarations-1_dot_0" args."symbol-munger" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-environments/2021-08-07/cl-environments-20210807-git.tgz";
-    sha256 = "1i544zz9v49b0mdv96sr17ivnz4s84lgw4vypq9v9w6cmhz5v8am";
+    url = "http://beta.quicklisp.org/archive/cl-environments/2021-10-20/cl-environments-20211020-git.tgz";
+    sha256 = "0aryb40nmmw34xl6h0fp8i43d2x7zlwysim365c171mcyxh3w9lr";
   };
 
   packageName = "cl-environments";
@@ -26,9 +26,9 @@ rec {
     Implements the CLTL2 environment access functionality
                 for implementations which do not provide the
                 functionality to the programmer.
-    SHA256 1i544zz9v49b0mdv96sr17ivnz4s84lgw4vypq9v9w6cmhz5v8am URL
-    http://beta.quicklisp.org/archive/cl-environments/2021-08-07/cl-environments-20210807-git.tgz
-    MD5 6884f21f315c5082fd6db7233497497d NAME cl-environments FILENAME
+    SHA256 0aryb40nmmw34xl6h0fp8i43d2x7zlwysim365c171mcyxh3w9lr URL
+    http://beta.quicklisp.org/archive/cl-environments/2021-10-20/cl-environments-20211020-git.tgz
+    MD5 a796decf21a5b595ff591ffca378994a NAME cl-environments FILENAME
     cl-environments DEPS
     ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
      (NAME closer-mop FILENAME closer-mop)
@@ -39,4 +39,4 @@ rec {
     DEPENDENCIES
     (alexandria anaphora closer-mop collectors fiveam iterate optima
      parse-declarations-1.0 symbol-munger)
-    VERSION 20210807-git SIBLINGS NIL PARASITES (cl-environments/test)) */
+    VERSION 20211020-git SIBLINGS NIL PARASITES (cl-environments/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-form-types.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-form-types.nix
index b2cb1243e61..24ba2fecf0c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-form-types.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-form-types.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-form-types";
-  version = "20210807-git";
+  version = "20211020-git";
 
   parasites = [ "cl-form-types/test" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."closer-mop" args."collectors" args."fiveam" args."introspect-environment" args."iterate" args."optima" args."parse-declarations-1_dot_0" args."symbol-munger" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-form-types/2021-08-07/cl-form-types-20210807-git.tgz";
-    sha256 = "1hv78ygnzf67f8ww22bmc2nx2gmw3lg7qc3navmd541jivx6v0lp";
+    url = "http://beta.quicklisp.org/archive/cl-form-types/2021-10-20/cl-form-types-20211020-git.tgz";
+    sha256 = "1f5wni1jrd5jbra2z2smw4vdw4k3bkbas8n676y3g3yv10lhddg8";
   };
 
   packageName = "cl-form-types";
@@ -22,9 +22,9 @@ rec {
 }
 /* (SYSTEM cl-form-types DESCRIPTION
     Library for determining types of Common Lisp forms. SHA256
-    1hv78ygnzf67f8ww22bmc2nx2gmw3lg7qc3navmd541jivx6v0lp URL
-    http://beta.quicklisp.org/archive/cl-form-types/2021-08-07/cl-form-types-20210807-git.tgz
-    MD5 1b1415794a4e9cd6716ee3b5eb0f658a NAME cl-form-types FILENAME
+    1f5wni1jrd5jbra2z2smw4vdw4k3bkbas8n676y3g3yv10lhddg8 URL
+    http://beta.quicklisp.org/archive/cl-form-types/2021-10-20/cl-form-types-20211020-git.tgz
+    MD5 53e67d9fd55ac6a382635b119aeb5431 NAME cl-form-types FILENAME
     cl-form-types DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -39,4 +39,4 @@ rec {
     (agutil alexandria anaphora arrows cl-environments closer-mop collectors
      fiveam introspect-environment iterate optima parse-declarations-1.0
      symbol-munger)
-    VERSION 20210807-git SIBLINGS NIL PARASITES (cl-form-types/test)) */
+    VERSION 20211020-git SIBLINGS NIL PARASITES (cl-form-types/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix
index 7a697402f22..16da7b56b31 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-pdf.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-pdf";
-  version = "20210531-git";
+  version = "20211020-git";
 
   description = "Common Lisp PDF Generation Library";
 
   deps = [ args."iterate" args."uiop" args."zpb-ttf" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-pdf/2021-05-31/cl-pdf-20210531-git.tgz";
-    sha256 = "0f5flqci615ck0ncq4f7x67x31m9715750r0wg3gx6qrdpi0k1cx";
+    url = "http://beta.quicklisp.org/archive/cl-pdf/2021-10-20/cl-pdf-20211020-git.tgz";
+    sha256 = "0wyh7iv86sqzdn5xj5crrip8iri5a64qzc6cczgbj1gkv65i28bk";
   };
 
   packageName = "cl-pdf";
@@ -19,10 +19,10 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-pdf DESCRIPTION Common Lisp PDF Generation Library SHA256
-    0f5flqci615ck0ncq4f7x67x31m9715750r0wg3gx6qrdpi0k1cx URL
-    http://beta.quicklisp.org/archive/cl-pdf/2021-05-31/cl-pdf-20210531-git.tgz
-    MD5 675d3498976f4cb118dc72fa71829f5c NAME cl-pdf FILENAME cl-pdf DEPS
+    0wyh7iv86sqzdn5xj5crrip8iri5a64qzc6cczgbj1gkv65i28bk URL
+    http://beta.quicklisp.org/archive/cl-pdf/2021-10-20/cl-pdf-20211020-git.tgz
+    MD5 c8a9cfd5d65eae217bd55d786d31dca9 NAME cl-pdf FILENAME cl-pdf DEPS
     ((NAME iterate FILENAME iterate) (NAME uiop FILENAME uiop)
      (NAME zpb-ttf FILENAME zpb-ttf))
-    DEPENDENCIES (iterate uiop zpb-ttf) VERSION 20210531-git SIBLINGS
+    DEPENDENCIES (iterate uiop zpb-ttf) VERSION 20211020-git SIBLINGS
     (cl-pdf-parser) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
index 1ba3f0f93cf..729e6eeaba6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-postgres";
-  version = "postmodern-20210807-git";
+  version = "postmodern-20211020-git";
 
   parasites = [ "cl-postgres/simple-date-tests" "cl-postgres/tests" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."alexandria" args."bordeaux-threads" args."cl-base64" args."cl-ppcre" args."fiveam" args."ironclad" args."md5" args."simple-date" args."simple-date_slash_postgres-glue" args."split-sequence" args."uax-15" args."uiop" args."usocket" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz";
-    sha256 = "01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp";
+    url = "http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz";
+    sha256 = "0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6";
   };
 
   packageName = "cl-postgres";
@@ -21,9 +21,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-postgres DESCRIPTION Low-level client library for PostgreSQL
-    SHA256 01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp URL
-    http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz
-    MD5 aa951f2ad4ce59fce588a62afa34f3ec NAME cl-postgres FILENAME cl-postgres
+    SHA256 0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6 URL
+    http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz
+    MD5 84f4ad8ce7ac0f7f78cbfcf2f0bd3aa4 NAME cl-postgres FILENAME cl-postgres
     DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -37,5 +37,5 @@ rec {
     DEPENDENCIES
     (alexandria bordeaux-threads cl-base64 cl-ppcre fiveam ironclad md5
      simple-date simple-date/postgres-glue split-sequence uax-15 uiop usocket)
-    VERSION postmodern-20210807-git SIBLINGS (postmodern s-sql simple-date)
+    VERSION postmodern-20211020-git SIBLINGS (postmodern s-sql simple-date)
     PARASITES (cl-postgres/simple-date-tests cl-postgres/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smt-lib.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smt-lib.nix
index 62d77dfa7c2..23a11c5176e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smt-lib.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smt-lib.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-smt-lib";
-  version = "20210630-git";
+  version = "20211020-git";
 
   description = "SMT object supporting SMT-LIB communication over input and output streams";
 
   deps = [ args."asdf-package-system" args."named-readtables" args."trivial-gray-streams" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-smt-lib/2021-06-30/cl-smt-lib-20210630-git.tgz";
-    sha256 = "0vrqzp6im2nvq6yfv4ysq4zv3m80v33apggzqq8r8j1zvbjjzrvm";
+    url = "http://beta.quicklisp.org/archive/cl-smt-lib/2021-10-20/cl-smt-lib-20211020-git.tgz";
+    sha256 = "1x2d79xcc0c56cb02axly6c10y6dmvxcpr3f16qry02rpfqys3qm";
   };
 
   packageName = "cl-smt-lib";
@@ -20,12 +20,12 @@ rec {
 }
 /* (SYSTEM cl-smt-lib DESCRIPTION
     SMT object supporting SMT-LIB communication over input and output streams
-    SHA256 0vrqzp6im2nvq6yfv4ysq4zv3m80v33apggzqq8r8j1zvbjjzrvm URL
-    http://beta.quicklisp.org/archive/cl-smt-lib/2021-06-30/cl-smt-lib-20210630-git.tgz
-    MD5 a10f913b43ba0ca99ee87a66e2f508ac NAME cl-smt-lib FILENAME cl-smt-lib
+    SHA256 1x2d79xcc0c56cb02axly6c10y6dmvxcpr3f16qry02rpfqys3qm URL
+    http://beta.quicklisp.org/archive/cl-smt-lib/2021-10-20/cl-smt-lib-20211020-git.tgz
+    MD5 f22b48a87b78fb5b38b35d780d34cd77 NAME cl-smt-lib FILENAME cl-smt-lib
     DEPS
     ((NAME asdf-package-system FILENAME asdf-package-system)
      (NAME named-readtables FILENAME named-readtables)
      (NAME trivial-gray-streams FILENAME trivial-gray-streams))
     DEPENDENCIES (asdf-package-system named-readtables trivial-gray-streams)
-    VERSION 20210630-git SIBLINGS NIL PARASITES NIL) */
+    VERSION 20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-webkit2.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-webkit2.nix
index de1f93a8f2f..4ce813119b4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-webkit2.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-webkit2.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl-webkit2";
-  version = "cl-webkit-20210807-git";
+  version = "cl-webkit-20211020-git";
 
   description = "An FFI binding to WebKit2GTK+";
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl-cffi-gtk" args."cl-cffi-gtk-cairo" args."cl-cffi-gtk-gdk" args."cl-cffi-gtk-gdk-pixbuf" args."cl-cffi-gtk-gio" args."cl-cffi-gtk-glib" args."cl-cffi-gtk-gobject" args."cl-cffi-gtk-pango" args."closer-mop" args."iterate" args."trivial-features" args."trivial-garbage" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-webkit/2021-08-07/cl-webkit-20210807-git.tgz";
-    sha256 = "12n2zjl8kpji5b24jj1jhnlw16ylkxw4czc1dynx3ligj17qf1an";
+    url = "http://beta.quicklisp.org/archive/cl-webkit/2021-10-20/cl-webkit-20211020-git.tgz";
+    sha256 = "0kx9mjk8zgzkm60g0469mp53mj2jzxdb2baqr7sj0rkijc609821";
   };
 
   packageName = "cl-webkit2";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-webkit2 DESCRIPTION An FFI binding to WebKit2GTK+ SHA256
-    12n2zjl8kpji5b24jj1jhnlw16ylkxw4czc1dynx3ligj17qf1an URL
-    http://beta.quicklisp.org/archive/cl-webkit/2021-08-07/cl-webkit-20210807-git.tgz
-    MD5 25b73593e97d7c075cb791a896e5b1d1 NAME cl-webkit2 FILENAME cl-webkit2
+    0kx9mjk8zgzkm60g0469mp53mj2jzxdb2baqr7sj0rkijc609821 URL
+    http://beta.quicklisp.org/archive/cl-webkit/2021-10-20/cl-webkit-20211020-git.tgz
+    MD5 fc73d56d8289729e93dd8c4793ea82e4 NAME cl-webkit2 FILENAME cl-webkit2
     DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -41,4 +41,4 @@ rec {
      cl-cffi-gtk-gdk cl-cffi-gtk-gdk-pixbuf cl-cffi-gtk-gio cl-cffi-gtk-glib
      cl-cffi-gtk-gobject cl-cffi-gtk-pango closer-mop iterate trivial-features
      trivial-garbage)
-    VERSION cl-webkit-20210807-git SIBLINGS NIL PARASITES NIL) */
+    VERSION cl-webkit-20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
index 4efee4ae452..4520d367b38 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
@@ -2,15 +2,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "cl_plus_ssl";
-  version = "cl+ssl-20210807-git";
+  version = "cl+ssl-20211020-git";
+
+  parasites = [ "cl+ssl/config" ];
 
   description = "Common Lisp interface to OpenSSL.";
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."flexi-streams" args."split-sequence" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."uiop" args."usocket" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl+ssl/2021-08-07/cl+ssl-20210807-git.tgz";
-    sha256 = "04kk392r7w5xq414vaf3wnkrlhczdn863x3jj3vmrp7ppr9cwy57";
+    url = "http://beta.quicklisp.org/archive/cl+ssl/2021-10-20/cl+ssl-20211020-git.tgz";
+    sha256 = "05yzc736lnsaniv76753flsbzvip0sma4jy3fl124r704gknsvsl";
   };
 
   packageName = "cl+ssl";
@@ -19,9 +21,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl+ssl DESCRIPTION Common Lisp interface to OpenSSL. SHA256
-    04kk392r7w5xq414vaf3wnkrlhczdn863x3jj3vmrp7ppr9cwy57 URL
-    http://beta.quicklisp.org/archive/cl+ssl/2021-08-07/cl+ssl-20210807-git.tgz
-    MD5 d2267b96fcd5ee4ad2f9fc11a7a3f0b2 NAME cl+ssl FILENAME cl_plus_ssl DEPS
+    05yzc736lnsaniv76753flsbzvip0sma4jy3fl124r704gknsvsl URL
+    http://beta.quicklisp.org/archive/cl+ssl/2021-10-20/cl+ssl-20211020-git.tgz
+    MD5 2122250563c6454ba1abdd36e9432f0c NAME cl+ssl FILENAME cl_plus_ssl DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME flexi-streams FILENAME flexi-streams)
@@ -33,4 +35,5 @@ rec {
     DEPENDENCIES
     (alexandria babel bordeaux-threads cffi flexi-streams split-sequence
      trivial-features trivial-garbage trivial-gray-streams uiop usocket)
-    VERSION cl+ssl-20210807-git SIBLINGS (cl+ssl.test) PARASITES NIL) */
+    VERSION cl+ssl-20211020-git SIBLINGS (cl+ssl.test) PARASITES
+    (cl+ssl/config)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
index 20986c1fdd3..4df32e3cc2b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "closer-mop";
-  version = "20210807-git";
+  version = "20211020-git";
 
   description = "Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.";
 
   deps = [ ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/closer-mop/2021-08-07/closer-mop-20210807-git.tgz";
-    sha256 = "1b3h6fw4wh11brmvi9p0j50zynbp7bgbhshcbngmd0ffdpinkh15";
+    url = "http://beta.quicklisp.org/archive/closer-mop/2021-10-20/closer-mop-20211020-git.tgz";
+    sha256 = "1m5ri5br262li2w4qljbplrgk6pm1w5vil5qa71bc1h7fbl0qh07";
   };
 
   packageName = "closer-mop";
@@ -20,7 +20,7 @@ rec {
 }
 /* (SYSTEM closer-mop DESCRIPTION
     Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.
-    SHA256 1b3h6fw4wh11brmvi9p0j50zynbp7bgbhshcbngmd0ffdpinkh15 URL
-    http://beta.quicklisp.org/archive/closer-mop/2021-08-07/closer-mop-20210807-git.tgz
-    MD5 02b29c503d823ca9701b231c23bbd3cd NAME closer-mop FILENAME closer-mop
-    DEPS NIL DEPENDENCIES NIL VERSION 20210807-git SIBLINGS NIL PARASITES NIL) */
+    SHA256 1m5ri5br262li2w4qljbplrgk6pm1w5vil5qa71bc1h7fbl0qh07 URL
+    http://beta.quicklisp.org/archive/closer-mop/2021-10-20/closer-mop-20211020-git.tgz
+    MD5 09606b3803a2b3d727fb94cc59313bd8 NAME closer-mop FILENAME closer-mop
+    DEPS NIL DEPENDENCIES NIL VERSION 20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clunit2.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clunit2.nix
index 576b25062ab..2c1a1b39236 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clunit2.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clunit2.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "clunit2";
-  version = "20210630-git";
+  version = "20211020-git";
 
   description = "CLUnit is a Common Lisp unit testing framework.";
 
   deps = [ ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/clunit2/2021-06-30/clunit2-20210630-git.tgz";
-    sha256 = "0vrjgf8rcdhvap9fvq4k543276ybjs5jqxj6zxbhrkfw2p26s445";
+    url = "http://beta.quicklisp.org/archive/clunit2/2021-10-20/clunit2-20211020-git.tgz";
+    sha256 = "0qly5gk1fn0bd0kx6spdhmnsf58gdg19py46w10p5vvs41vvriy3";
   };
 
   packageName = "clunit2";
@@ -19,7 +19,7 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM clunit2 DESCRIPTION CLUnit is a Common Lisp unit testing framework.
-    SHA256 0vrjgf8rcdhvap9fvq4k543276ybjs5jqxj6zxbhrkfw2p26s445 URL
-    http://beta.quicklisp.org/archive/clunit2/2021-06-30/clunit2-20210630-git.tgz
-    MD5 d76550549dec0dca9207970919a8b952 NAME clunit2 FILENAME clunit2 DEPS NIL
-    DEPENDENCIES NIL VERSION 20210630-git SIBLINGS NIL PARASITES NIL) */
+    SHA256 0qly5gk1fn0bd0kx6spdhmnsf58gdg19py46w10p5vvs41vvriy3 URL
+    http://beta.quicklisp.org/archive/clunit2/2021-10-20/clunit2-20211020-git.tgz
+    MD5 0ee5b2d53c81e9640d3aa8c904b0b236 NAME clunit2 FILENAME clunit2 DEPS NIL
+    DEPENDENCIES NIL VERSION 20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
index 24d2db0e741..7518845bd11 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "clx";
-  version = "20210630-git";
+  version = "20211020-git";
 
   parasites = [ "clx/test" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."fiasco" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/clx/2021-06-30/clx-20210630-git.tgz";
-    sha256 = "0pr4majs7d6d14p52zapn5knvf7hhwm6s8abkn3xbfxgzi9np556";
+    url = "http://beta.quicklisp.org/archive/clx/2021-10-20/clx-20211020-git.tgz";
+    sha256 = "1mgqcqakbm8s4w2r9831xzhy9lyifcl2b3rhl5p76s5vpnjmp88k";
   };
 
   packageName = "clx";
@@ -22,8 +22,8 @@ rec {
 }
 /* (SYSTEM clx DESCRIPTION
     An implementation of the X Window System protocol in Lisp. SHA256
-    0pr4majs7d6d14p52zapn5knvf7hhwm6s8abkn3xbfxgzi9np556 URL
-    http://beta.quicklisp.org/archive/clx/2021-06-30/clx-20210630-git.tgz MD5
-    095657b0f48ff5602525faa2d4ff7a3e NAME clx FILENAME clx DEPS
-    ((NAME fiasco FILENAME fiasco)) DEPENDENCIES (fiasco) VERSION 20210630-git
+    1mgqcqakbm8s4w2r9831xzhy9lyifcl2b3rhl5p76s5vpnjmp88k URL
+    http://beta.quicklisp.org/archive/clx/2021-10-20/clx-20211020-git.tgz MD5
+    ac10db96a6426cf462f8d417a7797621 NAME clx FILENAME clx DEPS
+    ((NAME fiasco FILENAME fiasco)) DEPENDENCIES (fiasco) VERSION 20211020-git
     SIBLINGS NIL PARASITES (clx/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
index 5dbcbd5c07b..c3c80c73a0d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "dbd-mysql";
-  version = "cl-dbi-20210228-git";
+  version = "cl-dbi-20211020-git";
 
   description = "Database driver for MySQL.";
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl-mysql" args."closer-mop" args."dbi" args."split-sequence" args."trivial-features" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz";
-    sha256 = "0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk";
+    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+    sha256 = "1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr";
   };
 
   packageName = "dbd-mysql";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbd-mysql DESCRIPTION Database driver for MySQL. SHA256
-    0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk URL
-    http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz
-    MD5 7cfb5ad172bc30906ae32ca620099a1f NAME dbd-mysql FILENAME dbd-mysql DEPS
+    1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr URL
+    http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz
+    MD5 565a1f32b2d924ad59876afcdc5cf263 NAME dbd-mysql FILENAME dbd-mysql DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cl-mysql FILENAME cl-mysql)
@@ -31,5 +31,5 @@ rec {
     DEPENDENCIES
     (alexandria babel bordeaux-threads cffi cl-mysql closer-mop dbi
      split-sequence trivial-features)
-    VERSION cl-dbi-20210228-git SIBLINGS
+    VERSION cl-dbi-20211020-git SIBLINGS
     (cl-dbi dbd-postgres dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
index c99fcc6a25c..2ad35f6053b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "dbd-postgres";
-  version = "cl-dbi-20210228-git";
+  version = "cl-dbi-20211020-git";
 
   description = "Database driver for PostgreSQL.";
 
   deps = [ args."alexandria" args."bordeaux-threads" args."cl-base64" args."cl-postgres" args."cl-ppcre" args."closer-mop" args."dbi" args."ironclad" args."md5" args."split-sequence" args."trivial-garbage" args."uax-15" args."usocket" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz";
-    sha256 = "0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk";
+    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+    sha256 = "1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr";
   };
 
   packageName = "dbd-postgres";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbd-postgres DESCRIPTION Database driver for PostgreSQL. SHA256
-    0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk URL
-    http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz
-    MD5 7cfb5ad172bc30906ae32ca620099a1f NAME dbd-postgres FILENAME
+    1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr URL
+    http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz
+    MD5 565a1f32b2d924ad59876afcdc5cf263 NAME dbd-postgres FILENAME
     dbd-postgres DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -35,5 +35,5 @@ rec {
     DEPENDENCIES
     (alexandria bordeaux-threads cl-base64 cl-postgres cl-ppcre closer-mop dbi
      ironclad md5 split-sequence trivial-garbage uax-15 usocket)
-    VERSION cl-dbi-20210228-git SIBLINGS
+    VERSION cl-dbi-20211020-git SIBLINGS
     (cl-dbi dbd-mysql dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
index c006de4305f..05f939e608e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "dbd-sqlite3";
-  version = "cl-dbi-20210228-git";
+  version = "cl-dbi-20211020-git";
 
   description = "Database driver for SQLite3.";
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."closer-mop" args."dbi" args."iterate" args."split-sequence" args."sqlite" args."trivial-features" args."trivial-garbage" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz";
-    sha256 = "0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk";
+    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+    sha256 = "1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr";
   };
 
   packageName = "dbd-sqlite3";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbd-sqlite3 DESCRIPTION Database driver for SQLite3. SHA256
-    0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk URL
-    http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz
-    MD5 7cfb5ad172bc30906ae32ca620099a1f NAME dbd-sqlite3 FILENAME dbd-sqlite3
+    1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr URL
+    http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz
+    MD5 565a1f32b2d924ad59876afcdc5cf263 NAME dbd-sqlite3 FILENAME dbd-sqlite3
     DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -34,5 +34,5 @@ rec {
     DEPENDENCIES
     (alexandria babel bordeaux-threads cffi closer-mop dbi iterate
      split-sequence sqlite trivial-features trivial-garbage)
-    VERSION cl-dbi-20210228-git SIBLINGS
+    VERSION cl-dbi-20211020-git SIBLINGS
     (cl-dbi dbd-mysql dbd-postgres dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi-test.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi-test.nix
index 6d945d61815..8c06ed915fb 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi-test.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi-test.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "dbi-test";
-  version = "cl-dbi-20210228-git";
+  version = "cl-dbi-20211020-git";
 
   description = "System lacks description";
 
   deps = [ args."alexandria" args."bordeaux-threads" args."closer-mop" args."dbi" args."dissect" args."rove" args."split-sequence" args."trivial-gray-streams" args."trivial-types" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz";
-    sha256 = "0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk";
+    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+    sha256 = "1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr";
   };
 
   packageName = "dbi-test";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbi-test DESCRIPTION System lacks description SHA256
-    0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk URL
-    http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz
-    MD5 7cfb5ad172bc30906ae32ca620099a1f NAME dbi-test FILENAME dbi-test DEPS
+    1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr URL
+    http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz
+    MD5 565a1f32b2d924ad59876afcdc5cf263 NAME dbi-test FILENAME dbi-test DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME closer-mop FILENAME closer-mop) (NAME dbi FILENAME dbi)
@@ -32,5 +32,5 @@ rec {
     DEPENDENCIES
     (alexandria bordeaux-threads closer-mop dbi dissect rove split-sequence
      trivial-gray-streams trivial-types)
-    VERSION cl-dbi-20210228-git SIBLINGS
+    VERSION cl-dbi-20211020-git SIBLINGS
     (cl-dbi dbd-mysql dbd-postgres dbd-sqlite3 dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
index 381fd8e7025..98346b51b90 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "dbi";
-  version = "cl-20210228-git";
+  version = "cl-20211020-git";
 
   parasites = [ "dbi/test" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."alexandria" args."bordeaux-threads" args."cl-mysql" args."cl-postgres" args."closer-mop" args."dbd-mysql" args."dbd-postgres" args."dbd-sqlite3" args."dbi-test" args."rove" args."split-sequence" args."sqlite" args."trivial-garbage" args."trivial-types" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz";
-    sha256 = "0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk";
+    url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+    sha256 = "1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr";
   };
 
   packageName = "dbi";
@@ -21,9 +21,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbi DESCRIPTION Database independent interface for Common Lisp
-    SHA256 0yfs7k6samv6q0n1bvscvcck7qg3c4g03qn7i81619q7g2f98jdk URL
-    http://beta.quicklisp.org/archive/cl-dbi/2021-02-28/cl-dbi-20210228-git.tgz
-    MD5 7cfb5ad172bc30906ae32ca620099a1f NAME dbi FILENAME dbi DEPS
+    SHA256 1khvf4b2pa9wv8blcwb77byi5nyb8g8bnaq4ml20g674iwgvvvmr URL
+    http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz
+    MD5 565a1f32b2d924ad59876afcdc5cf263 NAME dbi FILENAME dbi DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cl-mysql FILENAME cl-mysql) (NAME cl-postgres FILENAME cl-postgres)
@@ -38,5 +38,5 @@ rec {
     (alexandria bordeaux-threads cl-mysql cl-postgres closer-mop dbd-mysql
      dbd-postgres dbd-sqlite3 dbi-test rove split-sequence sqlite
      trivial-garbage trivial-types)
-    VERSION cl-20210228-git SIBLINGS
+    VERSION cl-20211020-git SIBLINGS
     (cl-dbi dbd-mysql dbd-postgres dbd-sqlite3 dbi-test) PARASITES (dbi/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbus.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbus.nix
index 40d89b3769c..a39f4989922 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbus.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbus.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "dbus";
-  version = "20200610-git";
+  version = "20211020-git";
 
   description = "A D-BUS client library for Common Lisp";
 
-  deps = [ args."alexandria" args."asdf-package-system" args."babel" args."cl-xmlspam" args."flexi-streams" args."ieee-floats" args."iolib" args."ironclad" args."trivial-garbage" ];
+  deps = [ args."alexandria" args."asdf-package-system" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-ppcre" args."cl-xmlspam" args."closure-common" args."cxml" args."flexi-streams" args."idna" args."ieee-floats" args."iolib" args."iolib_dot_asdf" args."iolib_dot_base" args."iolib_dot_common-lisp" args."iolib_dot_conf" args."ironclad" args."puri" args."split-sequence" args."swap-bytes" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/dbus/2020-06-10/dbus-20200610-git.tgz";
-    sha256 = "1njwjf1z9xngsfmlddmbcan49vcjqvvxfkhbi62xcxwbn9rgqn79";
+    url = "http://beta.quicklisp.org/archive/dbus/2021-10-20/dbus-20211020-git.tgz";
+    sha256 = "1h0qa609qplq3grjf3n31h1bcdj154ww2dn29mjxlkm76n5asz14";
   };
 
   packageName = "dbus";
@@ -19,17 +19,33 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbus DESCRIPTION A D-BUS client library for Common Lisp SHA256
-    1njwjf1z9xngsfmlddmbcan49vcjqvvxfkhbi62xcxwbn9rgqn79 URL
-    http://beta.quicklisp.org/archive/dbus/2020-06-10/dbus-20200610-git.tgz MD5
-    421fb481812b2da62fa5ee424f607b12 NAME dbus FILENAME dbus DEPS
+    1h0qa609qplq3grjf3n31h1bcdj154ww2dn29mjxlkm76n5asz14 URL
+    http://beta.quicklisp.org/archive/dbus/2021-10-20/dbus-20211020-git.tgz MD5
+    f3fb2ad37c197d99d9c446f556a12bdb NAME dbus FILENAME dbus DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME asdf-package-system FILENAME asdf-package-system)
-     (NAME babel FILENAME babel) (NAME cl-xmlspam FILENAME cl-xmlspam)
-     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cffi-toolchain FILENAME cffi-toolchain)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-xmlspam FILENAME cl-xmlspam)
+     (NAME closure-common FILENAME closure-common) (NAME cxml FILENAME cxml)
+     (NAME flexi-streams FILENAME flexi-streams) (NAME idna FILENAME idna)
      (NAME ieee-floats FILENAME ieee-floats) (NAME iolib FILENAME iolib)
-     (NAME ironclad FILENAME ironclad)
-     (NAME trivial-garbage FILENAME trivial-garbage))
+     (NAME iolib.asdf FILENAME iolib_dot_asdf)
+     (NAME iolib.base FILENAME iolib_dot_base)
+     (NAME iolib.common-lisp FILENAME iolib_dot_common-lisp)
+     (NAME iolib.conf FILENAME iolib_dot_conf)
+     (NAME ironclad FILENAME ironclad) (NAME puri FILENAME puri)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME swap-bytes FILENAME swap-bytes)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-garbage FILENAME trivial-garbage)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
     DEPENDENCIES
-    (alexandria asdf-package-system babel cl-xmlspam flexi-streams ieee-floats
-     iolib ironclad trivial-garbage)
-    VERSION 20200610-git SIBLINGS NIL PARASITES NIL) */
+    (alexandria asdf-package-system babel bordeaux-threads cffi cffi-grovel
+     cffi-toolchain cl-ppcre cl-xmlspam closure-common cxml flexi-streams idna
+     ieee-floats iolib iolib.asdf iolib.base iolib.common-lisp iolib.conf
+     ironclad puri split-sequence swap-bytes trivial-features trivial-garbage
+     trivial-gray-streams)
+    VERSION 20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/djula.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/djula.nix
index 34ffaccf165..59c249bcc45 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/djula.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/djula.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "djula";
-  version = "20210630-git";
+  version = "20211020-git";
 
   description = "An implementation of Django templates for Common Lisp.";
 
   deps = [ args."access" args."alexandria" args."anaphora" args."arnesi" args."babel" args."cl-annot" args."cl-interpol" args."cl-locale" args."cl-ppcre" args."cl-slice" args."cl-syntax" args."cl-syntax-annot" args."cl-unicode" args."closer-mop" args."collectors" args."flexi-streams" args."gettext" args."iterate" args."let-plus" args."local-time" args."named-readtables" args."parser-combinators" args."split-sequence" args."symbol-munger" args."trivial-backtrace" args."trivial-features" args."trivial-gray-streams" args."trivial-types" args."yacc" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/djula/2021-06-30/djula-20210630-git.tgz";
-    sha256 = "083psy8x9ni2d5pzmz46pcp0z3kysr8wbnankd656p4ilvajcgbj";
+    url = "http://beta.quicklisp.org/archive/djula/2021-10-20/djula-20211020-git.tgz";
+    sha256 = "1izz1bl5yjcfx7hldj2scdwwr6fybxrw2h4wwkpkwisadh42b648";
   };
 
   packageName = "djula";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM djula DESCRIPTION
     An implementation of Django templates for Common Lisp. SHA256
-    083psy8x9ni2d5pzmz46pcp0z3kysr8wbnankd656p4ilvajcgbj URL
-    http://beta.quicklisp.org/archive/djula/2021-06-30/djula-20210630-git.tgz
-    MD5 ec46616b626ece388bba77671d2aa321 NAME djula FILENAME djula DEPS
+    1izz1bl5yjcfx7hldj2scdwwr6fybxrw2h4wwkpkwisadh42b648 URL
+    http://beta.quicklisp.org/archive/djula/2021-10-20/djula-20211020-git.tgz
+    MD5 0b6464f786f65c14d71499fc0114733d NAME djula FILENAME djula DEPS
     ((NAME access FILENAME access) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arnesi FILENAME arnesi)
      (NAME babel FILENAME babel) (NAME cl-annot FILENAME cl-annot)
@@ -51,4 +51,4 @@ rec {
      named-readtables parser-combinators split-sequence symbol-munger
      trivial-backtrace trivial-features trivial-gray-streams trivial-types
      yacc)
-    VERSION 20210630-git SIBLINGS (djula-demo djula-test) PARASITES NIL) */
+    VERSION 20211020-git SIBLINGS (djula-demo djula-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
index 4b159018275..933d116b507 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "esrap";
-  version = "20201220-git";
+  version = "20211020-git";
 
   parasites = [ "esrap/tests" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."alexandria" args."fiveam" args."trivial-with-current-source-form" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/esrap/2020-12-20/esrap-20201220-git.tgz";
-    sha256 = "0yhi4ay98i81nqv9yjlj321azwmiylsw0afdd6y1c1zflfcrzkrk";
+    url = "http://beta.quicklisp.org/archive/esrap/2021-10-20/esrap-20211020-git.tgz";
+    sha256 = "06cqvalqsid82an8c4acbf13y65gw8nb4pckm8gv8fknvh4k1x7h";
   };
 
   packageName = "esrap";
@@ -22,11 +22,11 @@ rec {
 }
 /* (SYSTEM esrap DESCRIPTION
     A Packrat / Parsing Grammar / TDPL parser for Common Lisp. SHA256
-    0yhi4ay98i81nqv9yjlj321azwmiylsw0afdd6y1c1zflfcrzkrk URL
-    http://beta.quicklisp.org/archive/esrap/2020-12-20/esrap-20201220-git.tgz
-    MD5 cc33cc8dbc236403f6b285c8eae0ce3b NAME esrap FILENAME esrap DEPS
+    06cqvalqsid82an8c4acbf13y65gw8nb4pckm8gv8fknvh4k1x7h URL
+    http://beta.quicklisp.org/archive/esrap/2021-10-20/esrap-20211020-git.tgz
+    MD5 9657755b3fe896c1252dc7fdd22320b7 NAME esrap FILENAME esrap DEPS
     ((NAME alexandria FILENAME alexandria) (NAME fiveam FILENAME fiveam)
      (NAME trivial-with-current-source-form FILENAME
       trivial-with-current-source-form))
     DEPENDENCIES (alexandria fiveam trivial-with-current-source-form) VERSION
-    20201220-git SIBLINGS NIL PARASITES (esrap/tests)) */
+    20211020-git SIBLINGS NIL PARASITES (esrap/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl.nix
index 3ae2bf9a995..62232d46545 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl";
-  version = "20210807-git";
+  version = "20211020-git";
 
   parasites = [ "generic-cl/test" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-custom-hash-table" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."fiveam" args."generic-cl_dot_arithmetic" args."generic-cl_dot_collector" args."generic-cl_dot_comparison" args."generic-cl_dot_container" args."generic-cl_dot_internal" args."generic-cl_dot_iterator" args."generic-cl_dot_lazy-seq" args."generic-cl_dot_map" args."generic-cl_dot_math" args."generic-cl_dot_object" args."generic-cl_dot_sequence" args."generic-cl_dot_set" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl";
@@ -22,9 +22,9 @@ rec {
 }
 /* (SYSTEM generic-cl DESCRIPTION
     Standard Common Lisp functions implemented using generic functions. SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl FILENAME generic-cl
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl FILENAME generic-cl
     DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -68,7 +68,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION 20210807-git SIBLINGS
+    VERSION 20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl.collector generic-cl.comparison
      generic-cl.container generic-cl.internal generic-cl.iterator
      generic-cl.lazy-seq generic-cl.map generic-cl.math generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_arithmetic.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_arithmetic.nix
index deb7281460c..a4d00c345c9 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_arithmetic.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_arithmetic.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_arithmetic";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic arithmetic function interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_comparison" args."generic-cl_dot_internal" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.arithmetic";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM generic-cl.arithmetic DESCRIPTION
     Generic arithmetic function interface SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.arithmetic FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.arithmetic FILENAME
     generic-cl_dot_arithmetic DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -52,7 +52,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl generic-cl.collector generic-cl.comparison generic-cl.container
      generic-cl.internal generic-cl.iterator generic-cl.lazy-seq generic-cl.map
      generic-cl.math generic-cl.object generic-cl.sequence generic-cl.set
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_collector.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_collector.nix
index 483483d3037..cfbe247641a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_collector.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_collector.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_collector";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic collector interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_comparison" args."generic-cl_dot_container" args."generic-cl_dot_internal" args."generic-cl_dot_iterator" args."generic-cl_dot_object" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.collector";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.collector DESCRIPTION Generic collector interface SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.collector FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.collector FILENAME
     generic-cl_dot_collector DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -54,7 +54,7 @@ rec {
      lisp-namespace optima parse-declarations-1.0 static-dispatch symbol-munger
      trivia trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.comparison
      generic-cl.container generic-cl.internal generic-cl.iterator
      generic-cl.lazy-seq generic-cl.map generic-cl.math generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_comparison.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_comparison.nix
index 5e95d58a91e..b73000b48c0 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_comparison.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_comparison.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_comparison";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic comparison interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_internal" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.comparison";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.comparison DESCRIPTION Generic comparison interface
-    SHA256 0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.comparison FILENAME
+    SHA256 0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.comparison FILENAME
     generic-cl_dot_comparison DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -49,7 +49,7 @@ rec {
      lisp-namespace optima parse-declarations-1.0 static-dispatch symbol-munger
      trivia trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector generic-cl.container
      generic-cl.internal generic-cl.iterator generic-cl.lazy-seq generic-cl.map
      generic-cl.math generic-cl.object generic-cl.sequence generic-cl.set
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_container.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_container.nix
index 32e0a827783..9a74523c581 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_container.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_container.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_container";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic container interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_comparison" args."generic-cl_dot_internal" args."generic-cl_dot_object" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.container";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.container DESCRIPTION Generic container interface SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.container FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.container FILENAME
     generic-cl_dot_container DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -52,7 +52,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.internal generic-cl.iterator
      generic-cl.lazy-seq generic-cl.map generic-cl.math generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_internal.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_internal.nix
index c80b7d49500..dd1a3a6e18e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_internal.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_internal.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_internal";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Utilities used internally by generic-cl";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.internal";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM generic-cl.internal DESCRIPTION
     Utilities used internally by generic-cl SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.internal FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.internal FILENAME
     generic-cl_dot_internal DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -49,7 +49,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.iterator
      generic-cl.lazy-seq generic-cl.map generic-cl.math generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_iterator.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_iterator.nix
index 9d53f30f341..1640b13e8a4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_iterator.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_iterator.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_iterator";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic iterator interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_comparison" args."generic-cl_dot_container" args."generic-cl_dot_internal" args."generic-cl_dot_object" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.iterator";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.iterator DESCRIPTION Generic iterator interface SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.iterator FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.iterator FILENAME
     generic-cl_dot_iterator DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -53,7 +53,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.internal
      generic-cl.lazy-seq generic-cl.map generic-cl.math generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_lazy-seq.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_lazy-seq.nix
index b757a541405..383de5cce3c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_lazy-seq.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_lazy-seq.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_lazy-seq";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Lazy sequences";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-custom-hash-table" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_collector" args."generic-cl_dot_comparison" args."generic-cl_dot_container" args."generic-cl_dot_internal" args."generic-cl_dot_iterator" args."generic-cl_dot_map" args."generic-cl_dot_object" args."generic-cl_dot_sequence" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.lazy-seq";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.lazy-seq DESCRIPTION Lazy sequences SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.lazy-seq FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.lazy-seq FILENAME
     generic-cl_dot_lazy-seq DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -60,7 +60,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.internal
      generic-cl.iterator generic-cl.map generic-cl.math generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_map.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_map.nix
index 2b908dc7f04..d44389239c7 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_map.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_map.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_map";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic map and hash-table interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-custom-hash-table" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_collector" args."generic-cl_dot_comparison" args."generic-cl_dot_container" args."generic-cl_dot_internal" args."generic-cl_dot_iterator" args."generic-cl_dot_object" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.map";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.map DESCRIPTION Generic map and hash-table interface
-    SHA256 0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.map FILENAME
+    SHA256 0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.map FILENAME
     generic-cl_dot_map DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -57,7 +57,7 @@ rec {
      lisp-namespace optima parse-declarations-1.0 static-dispatch symbol-munger
      trivia trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.internal
      generic-cl.iterator generic-cl.lazy-seq generic-cl.math generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_math.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_math.nix
index 5b03f096f90..f834513f085 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_math.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_math.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_math";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic math function interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_arithmetic" args."generic-cl_dot_comparison" args."generic-cl_dot_internal" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.math";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.math DESCRIPTION Generic math function interface SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.math FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.math FILENAME
     generic-cl_dot_math DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -52,7 +52,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.internal
      generic-cl.iterator generic-cl.lazy-seq generic-cl.map generic-cl.object
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_object.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_object.nix
index 08bbce0d51e..98991384829 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_object.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_object.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_object";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic object copying and type conversion interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_comparison" args."generic-cl_dot_internal" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.object";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM generic-cl.object DESCRIPTION
     Generic object copying and type conversion interface SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.object FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.object FILENAME
     generic-cl_dot_object DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -52,7 +52,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.internal
      generic-cl.iterator generic-cl.lazy-seq generic-cl.map generic-cl.math
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_sequence.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_sequence.nix
index a4f5e8f2f14..3aae58b2ff4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_sequence.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_sequence.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_sequence";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic sequence operations";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-custom-hash-table" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_collector" args."generic-cl_dot_comparison" args."generic-cl_dot_container" args."generic-cl_dot_internal" args."generic-cl_dot_iterator" args."generic-cl_dot_map" args."generic-cl_dot_object" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.sequence";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.sequence DESCRIPTION Generic sequence operations SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.sequence FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.sequence FILENAME
     generic-cl_dot_sequence DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -59,7 +59,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.internal
      generic-cl.iterator generic-cl.lazy-seq generic-cl.map generic-cl.math
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_set.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_set.nix
index 38c26661f3a..27b3fdf2f63 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_set.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/generic-cl_dot_set.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "generic-cl_dot_set";
-  version = "generic-cl-20210807-git";
+  version = "generic-cl-20211020-git";
 
   description = "Generic set interface";
 
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-custom-hash-table" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."generic-cl_dot_arithmetic" args."generic-cl_dot_collector" args."generic-cl_dot_comparison" args."generic-cl_dot_container" args."generic-cl_dot_internal" args."generic-cl_dot_iterator" args."generic-cl_dot_map" args."generic-cl_dot_object" args."generic-cl_dot_sequence" args."introspect-environment" args."iterate" args."lisp-namespace" args."optima" args."parse-declarations-1_dot_0" args."static-dispatch" args."symbol-munger" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz";
-    sha256 = "0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b";
+    url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+    sha256 = "0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa";
   };
 
   packageName = "generic-cl.set";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM generic-cl.set DESCRIPTION Generic set interface SHA256
-    0jn1hw0m3906iyyg337kb6dfnmyj95l7s9lx1glvgcas450wkk0b URL
-    http://beta.quicklisp.org/archive/generic-cl/2021-08-07/generic-cl-20210807-git.tgz
-    MD5 38e30f287963d66f4d56b48918f71568 NAME generic-cl.set FILENAME
+    0jryfmxwqhrarmpbb643b7iv5rlib5pcx4i4jcd6h2rscnrbj8sa URL
+    http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz
+    MD5 ce42f45dd7c5be44de45ee259a46d7b8 NAME generic-cl.set FILENAME
     generic-cl_dot_set DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -61,7 +61,7 @@ rec {
      parse-declarations-1.0 static-dispatch symbol-munger trivia
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION generic-cl-20210807-git SIBLINGS
+    VERSION generic-cl-20211020-git SIBLINGS
     (generic-cl.arithmetic generic-cl generic-cl.collector
      generic-cl.comparison generic-cl.container generic-cl.internal
      generic-cl.iterator generic-cl.lazy-seq generic-cl.map generic-cl.math
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchensocket.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchensocket.nix
new file mode 100644
index 00000000000..7aa4f50c57d
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchensocket.nix
@@ -0,0 +1,48 @@
+/* Generated file. */
+args @ { fetchurl, ... }:
+rec {
+  baseName = "hunchensocket";
+  version = "20180711-git";
+
+  parasites = [ "hunchensocket-tests" ];
+
+  description = "WebSockets for Hunchentoot";
+
+  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."fiasco" args."flexi-streams" args."hunchentoot" args."ironclad" args."md5" args."rfc2388" args."split-sequence" args."trivial-backtrace" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."trivial-utf-8" args."usocket" ];
+
+  src = fetchurl {
+    url = "http://beta.quicklisp.org/archive/hunchensocket/2018-07-11/hunchensocket-20180711-git.tgz";
+    sha256 = "03igrp8svb4gkwhhhgmxwrnp5vq5ndp15mxqsafyi065xj3ppw48";
+  };
+
+  packageName = "hunchensocket";
+
+  asdFilesToKeep = ["hunchensocket.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM hunchensocket DESCRIPTION WebSockets for Hunchentoot SHA256
+    03igrp8svb4gkwhhhgmxwrnp5vq5ndp15mxqsafyi065xj3ppw48 URL
+    http://beta.quicklisp.org/archive/hunchensocket/2018-07-11/hunchensocket-20180711-git.tgz
+    MD5 bf6cd52c13e3b1f464c8a45a8bac85b8 NAME hunchensocket FILENAME
+    hunchensocket DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (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 fiasco FILENAME fiasco) (NAME flexi-streams FILENAME flexi-streams)
+     (NAME hunchentoot FILENAME hunchentoot) (NAME ironclad FILENAME ironclad)
+     (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 trivial-utf-8 FILENAME trivial-utf-8)
+     (NAME usocket FILENAME usocket))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi chunga cl+ssl cl-base64 cl-fad
+     cl-ppcre fiasco flexi-streams hunchentoot ironclad md5 rfc2388
+     split-sequence trivial-backtrace trivial-features trivial-garbage
+     trivial-gray-streams trivial-utf-8 usocket)
+    VERSION 20180711-git SIBLINGS NIL PARASITES (hunchensocket-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
index b6f602387e1..66d3614a9c0 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
@@ -2,17 +2,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "ironclad";
-  version = "v0.55";
+  version = "v0.56";
 
-  parasites = [ "ironclad/tests" ];
+  parasites = [ "ironclad/aead/eax" "ironclad/aead/etm" "ironclad/aead/gcm" "ironclad/aeads" "ironclad/cipher/aes" "ironclad/cipher/arcfour" "ironclad/cipher/aria" "ironclad/cipher/blowfish" "ironclad/cipher/camellia" "ironclad/cipher/cast5" "ironclad/cipher/chacha" "ironclad/cipher/des" "ironclad/cipher/idea" "ironclad/cipher/kalyna" "ironclad/cipher/keystream" "ironclad/cipher/kuznyechik" "ironclad/cipher/misty1" "ironclad/cipher/rc2" "ironclad/cipher/rc5" "ironclad/cipher/rc6" "ironclad/cipher/salsa20" "ironclad/cipher/seed" "ironclad/cipher/serpent" "ironclad/cipher/sm4" "ironclad/cipher/sosemanuk" "ironclad/cipher/square" "ironclad/cipher/tea" "ironclad/cipher/threefish" "ironclad/cipher/twofish" "ironclad/cipher/xchacha" "ironclad/cipher/xor" "ironclad/cipher/xsalsa20" "ironclad/cipher/xtea" "ironclad/ciphers" "ironclad/core" "ironclad/digest/adler32" "ironclad/digest/blake2" "ironclad/digest/blake2s" "ironclad/digest/crc24" "ironclad/digest/crc32" "ironclad/digest/groestl" "ironclad/digest/jh" "ironclad/digest/kupyna" "ironclad/digest/md2" "ironclad/digest/md4" "ironclad/digest/md5" "ironclad/digest/ripemd-128" "ironclad/digest/ripemd-160" "ironclad/digest/sha1" "ironclad/digest/sha256" "ironclad/digest/sha3" "ironclad/digest/sha512" "ironclad/digest/skein" "ironclad/digest/sm3" "ironclad/digest/streebog" "ironclad/digest/tiger" "ironclad/digest/tree-hash" "ironclad/digest/whirlpool" "ironclad/digests" "ironclad/kdf/argon2" "ironclad/kdf/bcrypt" "ironclad/kdf/hmac" "ironclad/kdf/password-hash" "ironclad/kdf/pkcs5" "ironclad/kdf/scrypt" "ironclad/kdfs" "ironclad/mac/blake2-mac" "ironclad/mac/blake2s-mac" "ironclad/mac/cmac" "ironclad/mac/gmac" "ironclad/mac/hmac" "ironclad/mac/poly1305" "ironclad/mac/siphash" "ironclad/mac/skein-mac" "ironclad/macs" "ironclad/prng/fortuna" "ironclad/prngs" "ironclad/public-key/curve25519" "ironclad/public-key/curve448" "ironclad/public-key/dsa" "ironclad/public-key/ed25519" "ironclad/public-key/ed448" "ironclad/public-key/elgamal" "ironclad/public-key/rsa" "ironclad/public-key/secp256k1" "ironclad/public-key/secp256r1" "ironclad/public-key/secp384r1" "ironclad/public-key/secp521r1" "ironclad/public-keys" "ironclad/tests" ];
 
-  description = "A cryptographic toolkit written in pure Common Lisp";
+  description = "System lacks description";
 
   deps = [ args."alexandria" args."bordeaux-threads" args."rt" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/ironclad/2021-04-11/ironclad-v0.55.tgz";
-    sha256 = "0vdqaad9i3dkz6z2y1iqmh6m77kc9jy49xh9bysgywl0gfdyhnq6";
+    url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+    sha256 = "06jya7y8xlwak84akhp4qg9x6nyjrnnzqmzdigxc5a3c77mk3p6k";
   };
 
   packageName = "ironclad";
@@ -20,12 +20,43 @@ rec {
   asdFilesToKeep = ["ironclad.asd"];
   overrides = x: x;
 }
-/* (SYSTEM ironclad DESCRIPTION
-    A cryptographic toolkit written in pure Common Lisp SHA256
-    0vdqaad9i3dkz6z2y1iqmh6m77kc9jy49xh9bysgywl0gfdyhnq6 URL
-    http://beta.quicklisp.org/archive/ironclad/2021-04-11/ironclad-v0.55.tgz
-    MD5 c3c4a88e71ef37c9604662071069afcc NAME ironclad FILENAME ironclad DEPS
+/* (SYSTEM ironclad DESCRIPTION System lacks description SHA256
+    06jya7y8xlwak84akhp4qg9x6nyjrnnzqmzdigxc5a3c77mk3p6k URL
+    http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz
+    MD5 3ea7bf7271864fd960d7e06a4e5aa9b7 NAME ironclad FILENAME ironclad DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads) (NAME rt FILENAME rt))
-    DEPENDENCIES (alexandria bordeaux-threads rt) VERSION v0.55 SIBLINGS
-    (ironclad-text) PARASITES (ironclad/tests)) */
+    DEPENDENCIES (alexandria bordeaux-threads rt) VERSION v0.56 SIBLINGS
+    (ironclad-text) PARASITES
+    (ironclad/aead/eax ironclad/aead/etm ironclad/aead/gcm ironclad/aeads
+     ironclad/cipher/aes ironclad/cipher/arcfour ironclad/cipher/aria
+     ironclad/cipher/blowfish ironclad/cipher/camellia ironclad/cipher/cast5
+     ironclad/cipher/chacha ironclad/cipher/des ironclad/cipher/idea
+     ironclad/cipher/kalyna ironclad/cipher/keystream
+     ironclad/cipher/kuznyechik ironclad/cipher/misty1 ironclad/cipher/rc2
+     ironclad/cipher/rc5 ironclad/cipher/rc6 ironclad/cipher/salsa20
+     ironclad/cipher/seed ironclad/cipher/serpent ironclad/cipher/sm4
+     ironclad/cipher/sosemanuk ironclad/cipher/square ironclad/cipher/tea
+     ironclad/cipher/threefish ironclad/cipher/twofish ironclad/cipher/xchacha
+     ironclad/cipher/xor ironclad/cipher/xsalsa20 ironclad/cipher/xtea
+     ironclad/ciphers ironclad/core ironclad/digest/adler32
+     ironclad/digest/blake2 ironclad/digest/blake2s ironclad/digest/crc24
+     ironclad/digest/crc32 ironclad/digest/groestl ironclad/digest/jh
+     ironclad/digest/kupyna ironclad/digest/md2 ironclad/digest/md4
+     ironclad/digest/md5 ironclad/digest/ripemd-128 ironclad/digest/ripemd-160
+     ironclad/digest/sha1 ironclad/digest/sha256 ironclad/digest/sha3
+     ironclad/digest/sha512 ironclad/digest/skein ironclad/digest/sm3
+     ironclad/digest/streebog ironclad/digest/tiger ironclad/digest/tree-hash
+     ironclad/digest/whirlpool ironclad/digests ironclad/kdf/argon2
+     ironclad/kdf/bcrypt ironclad/kdf/hmac ironclad/kdf/password-hash
+     ironclad/kdf/pkcs5 ironclad/kdf/scrypt ironclad/kdfs
+     ironclad/mac/blake2-mac ironclad/mac/blake2s-mac ironclad/mac/cmac
+     ironclad/mac/gmac ironclad/mac/hmac ironclad/mac/poly1305
+     ironclad/mac/siphash ironclad/mac/skein-mac ironclad/macs
+     ironclad/prng/fortuna ironclad/prngs ironclad/public-key/curve25519
+     ironclad/public-key/curve448 ironclad/public-key/dsa
+     ironclad/public-key/ed25519 ironclad/public-key/ed448
+     ironclad/public-key/elgamal ironclad/public-key/rsa
+     ironclad/public-key/secp256k1 ironclad/public-key/secp256r1
+     ironclad/public-key/secp384r1 ironclad/public-key/secp521r1
+     ironclad/public-keys ironclad/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
index 71becf9a4ee..04c0a45e859 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "lack-component";
-  version = "lack-20210807-git";
+  version = "lack-20211020-git";
 
   description = "System lacks description";
 
   deps = [ ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz";
-    sha256 = "0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn";
+    url = "http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz";
+    sha256 = "0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2";
   };
 
   packageName = "lack-component";
@@ -19,15 +19,15 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack-component DESCRIPTION System lacks description SHA256
-    0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn URL
-    http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz MD5
-    76b3ab979e6c3d7d33dd2fd3864692ca NAME lack-component FILENAME
-    lack-component DEPS NIL DEPENDENCIES NIL VERSION lack-20210807-git SIBLINGS
-    (lack-middleware-accesslog lack-middleware-auth-basic
-     lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
-     lack-middleware-session lack-middleware-static lack-request lack-response
-     lack-session-store-dbi lack-session-store-redis lack-test
-     lack-util-writer-stream lack-util lack t-lack-component
+    0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2 URL
+    http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz MD5
+    4a98955fb9cd5db45b796a0b269a57e1 NAME lack-component FILENAME
+    lack-component DEPS NIL DEPENDENCIES NIL VERSION lack-20211020-git SIBLINGS
+    (lack-app-directory lack-app-file lack-middleware-accesslog
+     lack-middleware-auth-basic lack-middleware-backtrace lack-middleware-csrf
+     lack-middleware-mount lack-middleware-session lack-middleware-static
+     lack-request lack-response lack-session-store-dbi lack-session-store-redis
+     lack-test lack-util-writer-stream lack-util lack t-lack-component
      t-lack-middleware-accesslog t-lack-middleware-auth-basic
      t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
      t-lack-middleware-session t-lack-middleware-static t-lack-request
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
index 9048abebad9..ce8cea2192c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "lack-middleware-backtrace";
-  version = "lack-20210807-git";
+  version = "lack-20211020-git";
 
   description = "System lacks description";
 
   deps = [ args."uiop" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz";
-    sha256 = "0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn";
+    url = "http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz";
+    sha256 = "0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2";
   };
 
   packageName = "lack-middleware-backtrace";
@@ -19,16 +19,17 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack-middleware-backtrace DESCRIPTION System lacks description
-    SHA256 0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn URL
-    http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz MD5
-    76b3ab979e6c3d7d33dd2fd3864692ca NAME lack-middleware-backtrace FILENAME
+    SHA256 0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2 URL
+    http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz MD5
+    4a98955fb9cd5db45b796a0b269a57e1 NAME lack-middleware-backtrace FILENAME
     lack-middleware-backtrace DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES
-    (uiop) VERSION lack-20210807-git SIBLINGS
-    (lack-component lack-middleware-accesslog lack-middleware-auth-basic
-     lack-middleware-csrf lack-middleware-mount lack-middleware-session
-     lack-middleware-static lack-request lack-response lack-session-store-dbi
-     lack-session-store-redis lack-test lack-util-writer-stream lack-util lack
-     t-lack-component t-lack-middleware-accesslog t-lack-middleware-auth-basic
+    (uiop) VERSION lack-20211020-git SIBLINGS
+    (lack-app-directory lack-app-file lack-component lack-middleware-accesslog
+     lack-middleware-auth-basic lack-middleware-csrf lack-middleware-mount
+     lack-middleware-session lack-middleware-static lack-request lack-response
+     lack-session-store-dbi lack-session-store-redis lack-test
+     lack-util-writer-stream lack-util lack t-lack-component
+     t-lack-middleware-accesslog t-lack-middleware-auth-basic
      t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
      t-lack-middleware-session t-lack-middleware-static t-lack-request
      t-lack-session-store-dbi t-lack-session-store-redis t-lack-util t-lack)
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
index 9cba066f75e..377732c4d4e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "lack-util";
-  version = "lack-20210807-git";
+  version = "lack-20211020-git";
 
   description = "System lacks description";
 
   deps = [ args."alexandria" args."bordeaux-threads" args."ironclad" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz";
-    sha256 = "0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn";
+    url = "http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz";
+    sha256 = "0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2";
   };
 
   packageName = "lack-util";
@@ -19,21 +19,21 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack-util DESCRIPTION System lacks description SHA256
-    0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn URL
-    http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz MD5
-    76b3ab979e6c3d7d33dd2fd3864692ca NAME lack-util FILENAME lack-util DEPS
+    0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2 URL
+    http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz MD5
+    4a98955fb9cd5db45b796a0b269a57e1 NAME lack-util FILENAME lack-util DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME ironclad FILENAME ironclad))
     DEPENDENCIES (alexandria bordeaux-threads ironclad) VERSION
-    lack-20210807-git SIBLINGS
-    (lack-component lack-middleware-accesslog lack-middleware-auth-basic
-     lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
-     lack-middleware-session lack-middleware-static lack-request lack-response
-     lack-session-store-dbi lack-session-store-redis lack-test
-     lack-util-writer-stream lack t-lack-component t-lack-middleware-accesslog
-     t-lack-middleware-auth-basic t-lack-middleware-backtrace
-     t-lack-middleware-csrf t-lack-middleware-mount t-lack-middleware-session
-     t-lack-middleware-static t-lack-request t-lack-session-store-dbi
-     t-lack-session-store-redis t-lack-util t-lack)
+    lack-20211020-git SIBLINGS
+    (lack-app-directory lack-app-file lack-component lack-middleware-accesslog
+     lack-middleware-auth-basic lack-middleware-backtrace lack-middleware-csrf
+     lack-middleware-mount lack-middleware-session lack-middleware-static
+     lack-request lack-response lack-session-store-dbi lack-session-store-redis
+     lack-test lack-util-writer-stream lack t-lack-component
+     t-lack-middleware-accesslog t-lack-middleware-auth-basic
+     t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
+     t-lack-middleware-session t-lack-middleware-static t-lack-request
+     t-lack-session-store-dbi t-lack-session-store-redis t-lack-util t-lack)
     PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
index eb81e9dba40..7ecebef7861 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "lack";
-  version = "20210807-git";
+  version = "20211020-git";
 
   description = "A minimal Clack";
 
   deps = [ args."alexandria" args."bordeaux-threads" args."ironclad" args."lack-component" args."lack-util" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz";
-    sha256 = "0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn";
+    url = "http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz";
+    sha256 = "0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2";
   };
 
   packageName = "lack";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack DESCRIPTION A minimal Clack SHA256
-    0zyyr9wkncf03l4jf54mkjm4kaiswmwj5y198kp9v00x2ljjnkjn URL
-    http://beta.quicklisp.org/archive/lack/2021-08-07/lack-20210807-git.tgz MD5
-    76b3ab979e6c3d7d33dd2fd3864692ca NAME lack FILENAME lack DEPS
+    0ly7bdvrl5xsls9syybcf0qm2981m434rhr3gr756kvvk4s9mdn2 URL
+    http://beta.quicklisp.org/archive/lack/2021-10-20/lack-20211020-git.tgz MD5
+    4a98955fb9cd5db45b796a0b269a57e1 NAME lack FILENAME lack DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME ironclad FILENAME ironclad)
@@ -29,12 +29,12 @@ rec {
      (NAME lack-util FILENAME lack-util))
     DEPENDENCIES
     (alexandria bordeaux-threads ironclad lack-component lack-util) VERSION
-    20210807-git SIBLINGS
-    (lack-component lack-middleware-accesslog lack-middleware-auth-basic
-     lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
-     lack-middleware-session lack-middleware-static lack-request lack-response
-     lack-session-store-dbi lack-session-store-redis lack-test
-     lack-util-writer-stream lack-util t-lack-component
+    20211020-git SIBLINGS
+    (lack-app-directory lack-app-file lack-component lack-middleware-accesslog
+     lack-middleware-auth-basic lack-middleware-backtrace lack-middleware-csrf
+     lack-middleware-mount lack-middleware-session lack-middleware-static
+     lack-request lack-response lack-session-store-dbi lack-session-store-redis
+     lack-test lack-util-writer-stream lack-util t-lack-component
      t-lack-middleware-accesslog t-lack-middleware-auth-basic
      t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
      t-lack-middleware-session t-lack-middleware-static t-lack-request
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
index b2c7de33c0d..510bf4965b9 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "lisp-namespace";
-  version = "20171130-git";
+  version = "20211020-git";
 
   description = "Provides LISP-N --- extensible namespaces in Common Lisp.";
 
   deps = [ args."alexandria" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/lisp-namespace/2017-11-30/lisp-namespace-20171130-git.tgz";
-    sha256 = "0vxk06c5434kcjv9p414yk23gs4rkibfq695is9y7wglck31fz2j";
+    url = "http://beta.quicklisp.org/archive/lisp-namespace/2021-10-20/lisp-namespace-20211020-git.tgz";
+    sha256 = "1vw7zxzhlxqjnas3cxk0f58hxvlvki78vbqsabj6f3n1rq6yx7b7";
   };
 
   packageName = "lisp-namespace";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM lisp-namespace DESCRIPTION
     Provides LISP-N --- extensible namespaces in Common Lisp. SHA256
-    0vxk06c5434kcjv9p414yk23gs4rkibfq695is9y7wglck31fz2j URL
-    http://beta.quicklisp.org/archive/lisp-namespace/2017-11-30/lisp-namespace-20171130-git.tgz
-    MD5 d3052a13db167c6a53487f31753b7467 NAME lisp-namespace FILENAME
+    1vw7zxzhlxqjnas3cxk0f58hxvlvki78vbqsabj6f3n1rq6yx7b7 URL
+    http://beta.quicklisp.org/archive/lisp-namespace/2021-10-20/lisp-namespace-20211020-git.tgz
+    MD5 71d02a1704c93281028316e96ecaead2 NAME lisp-namespace FILENAME
     lisp-namespace DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES
-    (alexandria) VERSION 20171130-git SIBLINGS (lisp-namespace.test) PARASITES
+    (alexandria) VERSION 20211020-git SIBLINGS (lisp-namespace.test) PARASITES
     NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/log4cl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/log4cl.nix
index 17606d4d88c..fc3d2caa38b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/log4cl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/log4cl.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "log4cl";
-  version = "20200925-git";
+  version = "20211020-git";
 
   parasites = [ "log4cl/syslog" "log4cl/test" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."alexandria" args."bordeaux-threads" args."stefil" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/log4cl/2020-09-25/log4cl-20200925-git.tgz";
-    sha256 = "1z98ly71hsbd46i0dqqv2s3cm9y8bi0pl3yg8a168vz629c6mdrf";
+    url = "http://beta.quicklisp.org/archive/log4cl/2021-10-20/log4cl-20211020-git.tgz";
+    sha256 = "1nqryqd5z4grg75hffqs2x6nzdf972cp4f41l1dr8wdf3fp0ifz8";
   };
 
   packageName = "log4cl";
@@ -21,11 +21,12 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM log4cl DESCRIPTION System lacks description SHA256
-    1z98ly71hsbd46i0dqqv2s3cm9y8bi0pl3yg8a168vz629c6mdrf URL
-    http://beta.quicklisp.org/archive/log4cl/2020-09-25/log4cl-20200925-git.tgz
-    MD5 80b347666af496142581e9e0c029d181 NAME log4cl FILENAME log4cl DEPS
+    1nqryqd5z4grg75hffqs2x6nzdf972cp4f41l1dr8wdf3fp0ifz8 URL
+    http://beta.quicklisp.org/archive/log4cl/2021-10-20/log4cl-20211020-git.tgz
+    MD5 d4eb0d4c8a9bc2f2037d7a64d44292d4 NAME log4cl FILENAME log4cl DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME stefil FILENAME stefil))
-    DEPENDENCIES (alexandria bordeaux-threads stefil) VERSION 20200925-git
-    SIBLINGS (log4cl-examples log4slime) PARASITES (log4cl/syslog log4cl/test)) */
+    DEPENDENCIES (alexandria bordeaux-threads stefil) VERSION 20211020-git
+    SIBLINGS (log4cl-examples log4cl.log4slime log4cl.log4sly) PARASITES
+    (log4cl/syslog log4cl/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
index e935d2b3d99..8c1d9062ddc 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "marshal";
-  version = "cl-20210411-git";
+  version = "cl-20211020-git";
 
   description = "marshal: Simple (de)serialization of Lisp datastructures.";
 
   deps = [ ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/cl-marshal/2021-04-11/cl-marshal-20210411-git.tgz";
-    sha256 = "0wi4csgl5qxgl0si5mcg19xx4qlmw125qn0w1i2f3dvvrzp20qrp";
+    url = "http://beta.quicklisp.org/archive/cl-marshal/2021-10-20/cl-marshal-20211020-git.tgz";
+    sha256 = "0zv4bpj352frdrsk7r1yc67385h2n00cy19nz3b72sznsjynqvk8";
   };
 
   packageName = "marshal";
@@ -20,8 +20,8 @@ rec {
 }
 /* (SYSTEM marshal DESCRIPTION
     marshal: Simple (de)serialization of Lisp datastructures. SHA256
-    0wi4csgl5qxgl0si5mcg19xx4qlmw125qn0w1i2f3dvvrzp20qrp URL
-    http://beta.quicklisp.org/archive/cl-marshal/2021-04-11/cl-marshal-20210411-git.tgz
-    MD5 2463314a6bcd1a18bea2690deb6bce55 NAME marshal FILENAME marshal DEPS NIL
-    DEPENDENCIES NIL VERSION cl-20210411-git SIBLINGS (marshal-tests) PARASITES
+    0zv4bpj352frdrsk7r1yc67385h2n00cy19nz3b72sznsjynqvk8 URL
+    http://beta.quicklisp.org/archive/cl-marshal/2021-10-20/cl-marshal-20211020-git.tgz
+    MD5 52eaad7da569610099d15c1d91020e17 NAME marshal FILENAME marshal DEPS NIL
+    DEPENDENCIES NIL VERSION cl-20211020-git SIBLINGS (marshal-tests) PARASITES
     NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/mgl-pax.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mgl-pax.nix
index c22acbce4f0..d1f9c4702c3 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/mgl-pax.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mgl-pax.nix
@@ -2,18 +2,18 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "mgl-pax";
-  version = "20210411-git";
+  version = "20211020-git";
 
-  parasites = [ "mgl-pax/test" ];
+  parasites = [ "mgl-pax/full" ];
 
   description = "Exploratory programming tool and documentation
   generator.";
 
-  deps = [ args."_3bmd" args."_3bmd-ext-code-blocks" args."alexandria" args."babel" args."bordeaux-threads" args."cl-fad" args."colorize" args."esrap" args."html-encode" args."ironclad" args."named-readtables" args."pythonic-string-reader" args."split-sequence" args."swank" args."trivial-features" args."trivial-with-current-source-form" ];
+  deps = [ args."_3bmd" args."_3bmd-ext-code-blocks" args."alexandria" args."babel" args."cl-fad" args."colorize" args."ironclad" args."named-readtables" args."pythonic-string-reader" args."swank" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/mgl-pax/2021-04-11/mgl-pax-20210411-git.tgz";
-    sha256 = "0dq5jkb6li0s1gqj6hfhifs6cd4kypavv2kjqg5zgs6zfs82sxh3";
+    url = "http://beta.quicklisp.org/archive/mgl-pax/2021-10-20/mgl-pax-20211020-git.tgz";
+    sha256 = "04vddyvyxja8dabksfqqr80xjnvdiiv61zidjvijlpkk8shwaw1g";
   };
 
   packageName = "mgl-pax";
@@ -23,25 +23,18 @@ rec {
 }
 /* (SYSTEM mgl-pax DESCRIPTION Exploratory programming tool and documentation
   generator.
-    SHA256 0dq5jkb6li0s1gqj6hfhifs6cd4kypavv2kjqg5zgs6zfs82sxh3 URL
-    http://beta.quicklisp.org/archive/mgl-pax/2021-04-11/mgl-pax-20210411-git.tgz
-    MD5 44cf1bd71e6c40c256a43a87efa2c2a1 NAME mgl-pax FILENAME mgl-pax DEPS
+    SHA256 04vddyvyxja8dabksfqqr80xjnvdiiv61zidjvijlpkk8shwaw1g URL
+    http://beta.quicklisp.org/archive/mgl-pax/2021-10-20/mgl-pax-20211020-git.tgz
+    MD5 2ad25d62d83b98e3e855b35414a5093d NAME mgl-pax FILENAME mgl-pax DEPS
     ((NAME 3bmd FILENAME _3bmd)
      (NAME 3bmd-ext-code-blocks FILENAME _3bmd-ext-code-blocks)
      (NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
-     (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cl-fad FILENAME cl-fad) (NAME colorize FILENAME colorize)
-     (NAME esrap FILENAME esrap) (NAME html-encode FILENAME html-encode)
      (NAME ironclad FILENAME ironclad)
      (NAME named-readtables FILENAME named-readtables)
      (NAME pythonic-string-reader FILENAME pythonic-string-reader)
-     (NAME split-sequence FILENAME split-sequence) (NAME swank FILENAME swank)
-     (NAME trivial-features FILENAME trivial-features)
-     (NAME trivial-with-current-source-form FILENAME
-      trivial-with-current-source-form))
+     (NAME swank FILENAME swank))
     DEPENDENCIES
-    (3bmd 3bmd-ext-code-blocks alexandria babel bordeaux-threads cl-fad
-     colorize esrap html-encode ironclad named-readtables
-     pythonic-string-reader split-sequence swank trivial-features
-     trivial-with-current-source-form)
-    VERSION 20210411-git SIBLINGS NIL PARASITES (mgl-pax/test)) */
+    (3bmd 3bmd-ext-code-blocks alexandria babel cl-fad colorize ironclad
+     named-readtables pythonic-string-reader swank)
+    VERSION 20211020-git SIBLINGS NIL PARASITES (mgl-pax/full)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/osicat.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/osicat.nix
index 3609e230416..07d16b17c03 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/osicat.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/osicat.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "osicat";
-  version = "20210228-git";
+  version = "20211020-git";
 
   parasites = [ "osicat/tests" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."alexandria" args."babel" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."rt" args."trivial-features" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/osicat/2021-02-28/osicat-20210228-git.tgz";
-    sha256 = "0g9frahjr2i6fvwd3bzvcz9icx4n4mnwcmsz6gvg5s6wmq5ny6wb";
+    url = "http://beta.quicklisp.org/archive/osicat/2021-10-20/osicat-20211020-git.tgz";
+    sha256 = "0rb53m4hg8dllljjvj9a76mq4hn9cl7wp0lqg50gs0l6v2c7qlbw";
   };
 
   packageName = "osicat";
@@ -21,13 +21,13 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM osicat DESCRIPTION A lightweight operating system interface SHA256
-    0g9frahjr2i6fvwd3bzvcz9icx4n4mnwcmsz6gvg5s6wmq5ny6wb URL
-    http://beta.quicklisp.org/archive/osicat/2021-02-28/osicat-20210228-git.tgz
-    MD5 22c1b81abfe4fb30a2789877d2f85a86 NAME osicat FILENAME osicat DEPS
+    0rb53m4hg8dllljjvj9a76mq4hn9cl7wp0lqg50gs0l6v2c7qlbw URL
+    http://beta.quicklisp.org/archive/osicat/2021-10-20/osicat-20211020-git.tgz
+    MD5 2cf6739bb39a2bf414de19037f867c87 NAME osicat FILENAME osicat DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
      (NAME cffi-toolchain FILENAME cffi-toolchain) (NAME rt FILENAME rt)
      (NAME trivial-features FILENAME trivial-features))
     DEPENDENCIES
     (alexandria babel cffi cffi-grovel cffi-toolchain rt trivial-features)
-    VERSION 20210228-git SIBLINGS NIL PARASITES (osicat/tests)) */
+    VERSION 20211020-git SIBLINGS NIL PARASITES (osicat/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/parachute.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/parachute.nix
index f355b4ba3e9..e32250d03f5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/parachute.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/parachute.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "parachute";
-  version = "20210807-git";
+  version = "20211020-git";
 
   description = "An extensible and cross-compatible testing framework.";
 
   deps = [ args."documentation-utils" args."form-fiddle" args."trivial-indent" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/parachute/2021-08-07/parachute-20210807-git.tgz";
-    sha256 = "0h20f73781qpylhs3v0gywzz3iwkxh1bksl7d674dxdl988ngzbs";
+    url = "http://beta.quicklisp.org/archive/parachute/2021-10-20/parachute-20211020-git.tgz";
+    sha256 = "1sc63a6z3zwdsc9h3w0dbx7yssvg2zzdyhh81kqc5cx17vcdqyk0";
   };
 
   packageName = "parachute";
@@ -20,12 +20,12 @@ rec {
 }
 /* (SYSTEM parachute DESCRIPTION
     An extensible and cross-compatible testing framework. SHA256
-    0h20f73781qpylhs3v0gywzz3iwkxh1bksl7d674dxdl988ngzbs URL
-    http://beta.quicklisp.org/archive/parachute/2021-08-07/parachute-20210807-git.tgz
-    MD5 3a25227cffef9f2d9947750490d643ec NAME parachute FILENAME parachute DEPS
+    1sc63a6z3zwdsc9h3w0dbx7yssvg2zzdyhh81kqc5cx17vcdqyk0 URL
+    http://beta.quicklisp.org/archive/parachute/2021-10-20/parachute-20211020-git.tgz
+    MD5 85eba816a1e7a43a154e6a1544e15e52 NAME parachute FILENAME parachute DEPS
     ((NAME documentation-utils FILENAME documentation-utils)
      (NAME form-fiddle FILENAME form-fiddle)
      (NAME trivial-indent FILENAME trivial-indent))
     DEPENDENCIES (documentation-utils form-fiddle trivial-indent) VERSION
-    20210807-git SIBLINGS
+    20211020-git SIBLINGS
     (parachute-fiveam parachute-lisp-unit parachute-prove) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/physical-quantities.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/physical-quantities.nix
index 0426f677082..865d4f4791f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/physical-quantities.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/physical-quantities.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "physical-quantities";
-  version = "20201220-git";
+  version = "20211020-git";
 
   parasites = [ "physical-quantities/test" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."parseq" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/physical-quantities/2020-12-20/physical-quantities-20201220-git.tgz";
-    sha256 = "0731q6skgnl95jmw82pfkw6y3bdaw5givdlgbk93jql251wfvmf5";
+    url = "http://beta.quicklisp.org/archive/physical-quantities/2021-10-20/physical-quantities-20211020-git.tgz";
+    sha256 = "1ix04gjcsjzry5rl1rqsrg1r3hw985gfvl1847va36y03qzbmhgx";
   };
 
   packageName = "physical-quantities";
@@ -22,9 +22,9 @@ rec {
 }
 /* (SYSTEM physical-quantities DESCRIPTION
     A library that provides a numeric type with optional unit and/or uncertainty for computations with automatic error propagation.
-    SHA256 0731q6skgnl95jmw82pfkw6y3bdaw5givdlgbk93jql251wfvmf5 URL
-    http://beta.quicklisp.org/archive/physical-quantities/2020-12-20/physical-quantities-20201220-git.tgz
-    MD5 428232d463c45259dd2c18fa8ff3dd6e NAME physical-quantities FILENAME
+    SHA256 1ix04gjcsjzry5rl1rqsrg1r3hw985gfvl1847va36y03qzbmhgx URL
+    http://beta.quicklisp.org/archive/physical-quantities/2021-10-20/physical-quantities-20211020-git.tgz
+    MD5 a322db845056f78a237630a565b41490 NAME physical-quantities FILENAME
     physical-quantities DEPS ((NAME parseq FILENAME parseq)) DEPENDENCIES
-    (parseq) VERSION 20201220-git SIBLINGS NIL PARASITES
+    (parseq) VERSION 20211020-git SIBLINGS NIL PARASITES
     (physical-quantities/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix
index 43658b6e089..95de05fe033 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix
@@ -2,17 +2,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "postmodern";
-  version = "20210807-git";
+  version = "20211020-git";
 
   parasites = [ "postmodern/tests" ];
 
   description = "PostgreSQL programming API";
 
-  deps = [ args."alexandria" args."bordeaux-threads" args."cl-base64" args."cl-postgres" args."cl-postgres_plus_local-time" args."cl-postgres_slash_tests" args."cl-ppcre" args."cl-unicode" args."closer-mop" args."fiveam" args."flexi-streams" args."global-vars" args."ironclad" args."local-time" args."md5" args."s-sql" args."s-sql_slash_tests" args."simple-date" args."simple-date_slash_postgres-glue" args."split-sequence" args."uax-15" args."uiop" args."usocket" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-base64" args."cl-postgres" args."cl-postgres_plus_local-time" args."cl-postgres_slash_tests" args."cl-ppcre" args."closer-mop" args."fiveam" args."global-vars" args."ironclad" args."local-time" args."md5" args."s-sql" args."s-sql_slash_tests" args."simple-date" args."simple-date_slash_postgres-glue" args."split-sequence" args."uax-15" args."uiop" args."usocket" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz";
-    sha256 = "01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp";
+    url = "http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz";
+    sha256 = "0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6";
   };
 
   packageName = "postmodern";
@@ -21,9 +21,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM postmodern DESCRIPTION PostgreSQL programming API SHA256
-    01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp URL
-    http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz
-    MD5 aa951f2ad4ce59fce588a62afa34f3ec NAME postmodern FILENAME postmodern
+    0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6 URL
+    http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz
+    MD5 84f4ad8ce7ac0f7f78cbfcf2f0bd3aa4 NAME postmodern FILENAME postmodern
     DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -31,12 +31,11 @@ rec {
      (NAME cl-postgres FILENAME cl-postgres)
      (NAME cl-postgres+local-time FILENAME cl-postgres_plus_local-time)
      (NAME cl-postgres/tests FILENAME cl-postgres_slash_tests)
-     (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-unicode FILENAME cl-unicode)
-     (NAME closer-mop FILENAME closer-mop) (NAME fiveam FILENAME fiveam)
-     (NAME flexi-streams FILENAME flexi-streams)
-     (NAME global-vars FILENAME global-vars) (NAME ironclad FILENAME ironclad)
-     (NAME local-time FILENAME local-time) (NAME md5 FILENAME md5)
-     (NAME s-sql FILENAME s-sql) (NAME s-sql/tests FILENAME s-sql_slash_tests)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME closer-mop FILENAME closer-mop)
+     (NAME fiveam FILENAME fiveam) (NAME global-vars FILENAME global-vars)
+     (NAME ironclad FILENAME ironclad) (NAME local-time FILENAME local-time)
+     (NAME md5 FILENAME md5) (NAME s-sql FILENAME s-sql)
+     (NAME s-sql/tests FILENAME s-sql_slash_tests)
      (NAME simple-date FILENAME simple-date)
      (NAME simple-date/postgres-glue FILENAME simple-date_slash_postgres-glue)
      (NAME split-sequence FILENAME split-sequence)
@@ -44,8 +43,8 @@ rec {
      (NAME usocket FILENAME usocket))
     DEPENDENCIES
     (alexandria bordeaux-threads cl-base64 cl-postgres cl-postgres+local-time
-     cl-postgres/tests cl-ppcre cl-unicode closer-mop fiveam flexi-streams
-     global-vars ironclad local-time md5 s-sql s-sql/tests simple-date
-     simple-date/postgres-glue split-sequence uax-15 uiop usocket)
-    VERSION 20210807-git SIBLINGS (cl-postgres s-sql simple-date) PARASITES
+     cl-postgres/tests cl-ppcre closer-mop fiveam global-vars ironclad
+     local-time md5 s-sql s-sql/tests simple-date simple-date/postgres-glue
+     split-sequence uax-15 uiop usocket)
+    VERSION 20211020-git SIBLINGS (cl-postgres s-sql simple-date) PARASITES
     (postmodern/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/rove.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/rove.nix
index 651c4d20d02..b5f42dd5d1e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/rove.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/rove.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "rove";
-  version = "20210807-git";
+  version = "20211020-git";
 
   description = "Yet another testing framework intended to be a successor of Prove";
 
-  deps = [ args."bordeaux-threads" args."dissect" args."trivial-gray-streams" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."dissect" args."trivial-gray-streams" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/rove/2021-08-07/rove-20210807-git.tgz";
-    sha256 = "1zg9jch2q8946a1bsjykq0bw86zh9gqvvqbqa8k4njvqbc42kqn8";
+    url = "http://beta.quicklisp.org/archive/rove/2021-10-20/rove-20211020-git.tgz";
+    sha256 = "1p54dp4m2wnmff6dyfh2k4crk83n38nyix1g8csixvn8jkk2gi4b";
   };
 
   packageName = "rove";
@@ -20,11 +20,12 @@ rec {
 }
 /* (SYSTEM rove DESCRIPTION
     Yet another testing framework intended to be a successor of Prove SHA256
-    1zg9jch2q8946a1bsjykq0bw86zh9gqvvqbqa8k4njvqbc42kqn8 URL
-    http://beta.quicklisp.org/archive/rove/2021-08-07/rove-20210807-git.tgz MD5
-    502337a1120b19d1d70bb06191323ee0 NAME rove FILENAME rove DEPS
-    ((NAME bordeaux-threads FILENAME bordeaux-threads)
+    1p54dp4m2wnmff6dyfh2k4crk83n38nyix1g8csixvn8jkk2gi4b URL
+    http://beta.quicklisp.org/archive/rove/2021-10-20/rove-20211020-git.tgz MD5
+    119a5c0f506db2b301eb19bfed7c403d NAME rove FILENAME rove DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME dissect FILENAME dissect)
      (NAME trivial-gray-streams FILENAME trivial-gray-streams))
-    DEPENDENCIES (bordeaux-threads dissect trivial-gray-streams) VERSION
-    20210807-git SIBLINGS NIL PARASITES NIL) */
+    DEPENDENCIES (alexandria bordeaux-threads dissect trivial-gray-streams)
+    VERSION 20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix
index 5cbfb88a4ed..6624f1b38e7 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix
@@ -2,17 +2,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "s-sql";
-  version = "postmodern-20210807-git";
+  version = "postmodern-20211020-git";
 
   parasites = [ "s-sql/tests" ];
 
   description = "Lispy DSL for SQL";
 
-  deps = [ args."alexandria" args."bordeaux-threads" args."cl-base64" args."cl-postgres" args."cl-postgres_slash_tests" args."cl-ppcre" args."cl-unicode" args."closer-mop" args."fiveam" args."global-vars" args."ironclad" args."md5" args."postmodern" args."split-sequence" args."uax-15" args."usocket" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-base64" args."cl-postgres" args."cl-postgres_slash_tests" args."cl-ppcre" args."closer-mop" args."fiveam" args."global-vars" args."ironclad" args."md5" args."postmodern" args."split-sequence" args."uax-15" args."usocket" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz";
-    sha256 = "01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp";
+    url = "http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz";
+    sha256 = "0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6";
   };
 
   packageName = "s-sql";
@@ -21,23 +21,23 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM s-sql DESCRIPTION Lispy DSL for SQL SHA256
-    01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp URL
-    http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz
-    MD5 aa951f2ad4ce59fce588a62afa34f3ec NAME s-sql FILENAME s-sql DEPS
+    0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6 URL
+    http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz
+    MD5 84f4ad8ce7ac0f7f78cbfcf2f0bd3aa4 NAME s-sql FILENAME s-sql DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cl-base64 FILENAME cl-base64)
      (NAME cl-postgres FILENAME cl-postgres)
      (NAME cl-postgres/tests FILENAME cl-postgres_slash_tests)
-     (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-unicode FILENAME cl-unicode)
-     (NAME closer-mop FILENAME closer-mop) (NAME fiveam FILENAME fiveam)
-     (NAME global-vars FILENAME global-vars) (NAME ironclad FILENAME ironclad)
-     (NAME md5 FILENAME md5) (NAME postmodern FILENAME postmodern)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME closer-mop FILENAME closer-mop)
+     (NAME fiveam FILENAME fiveam) (NAME global-vars FILENAME global-vars)
+     (NAME ironclad FILENAME ironclad) (NAME md5 FILENAME md5)
+     (NAME postmodern FILENAME postmodern)
      (NAME split-sequence FILENAME split-sequence)
      (NAME uax-15 FILENAME uax-15) (NAME usocket FILENAME usocket))
     DEPENDENCIES
     (alexandria bordeaux-threads cl-base64 cl-postgres cl-postgres/tests
-     cl-ppcre cl-unicode closer-mop fiveam global-vars ironclad md5 postmodern
+     cl-ppcre closer-mop fiveam global-vars ironclad md5 postmodern
      split-sequence uax-15 usocket)
-    VERSION postmodern-20210807-git SIBLINGS
+    VERSION postmodern-20211020-git SIBLINGS
     (cl-postgres postmodern simple-date) PARASITES (s-sql/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
index d7b495a40e9..974597faedb 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
@@ -2,16 +2,18 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "salza2";
-  version = "2.0.9";
+  version = "2.1";
+
+  parasites = [ "salza2/test" ];
 
   description = "Create compressed data in the ZLIB, DEFLATE, or GZIP
   data formats";
 
-  deps = [ ];
+  deps = [ args."chipz" args."flexi-streams" args."parachute" args."trivial-gray-streams" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/salza2/2013-07-20/salza2-2.0.9.tgz";
-    sha256 = "1m0hksgvq3njd9xa2nxlm161vgzw77djxmisq08v9pz2bz16v8va";
+    url = "http://beta.quicklisp.org/archive/salza2/2021-10-20/salza2-2.1.tgz";
+    sha256 = "0ymx3bm2a9a3fwxbvcyzfy0cdfl5y0csyw5cybxy0whkwipgra0x";
   };
 
   packageName = "salza2";
@@ -22,7 +24,11 @@ rec {
 /* (SYSTEM salza2 DESCRIPTION
     Create compressed data in the ZLIB, DEFLATE, or GZIP
   data formats
-    SHA256 1m0hksgvq3njd9xa2nxlm161vgzw77djxmisq08v9pz2bz16v8va URL
-    http://beta.quicklisp.org/archive/salza2/2013-07-20/salza2-2.0.9.tgz MD5
-    e62383de435081c0f1f888ec363bb32c NAME salza2 FILENAME salza2 DEPS NIL
-    DEPENDENCIES NIL VERSION 2.0.9 SIBLINGS NIL PARASITES NIL) */
+    SHA256 0ymx3bm2a9a3fwxbvcyzfy0cdfl5y0csyw5cybxy0whkwipgra0x URL
+    http://beta.quicklisp.org/archive/salza2/2021-10-20/salza2-2.1.tgz MD5
+    867f3e0543a7e34d1be802062cf4893d NAME salza2 FILENAME salza2 DEPS
+    ((NAME chipz FILENAME chipz) (NAME flexi-streams FILENAME flexi-streams)
+     (NAME parachute FILENAME parachute)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES (chipz flexi-streams parachute trivial-gray-streams) VERSION
+    2.1 SIBLINGS NIL PARASITES (salza2/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/serapeum.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/serapeum.nix
index 75bf3a1358a..68e82317ffe 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/serapeum.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/serapeum.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "serapeum";
-  version = "20210807-git";
+  version = "20211020-git";
 
   description = "Utilities beyond Alexandria.";
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."closer-mop" args."fare-quasiquote" args."fare-quasiquote-extras" args."fare-quasiquote-optima" args."fare-quasiquote-readtable" args."fare-utils" args."global-vars" args."introspect-environment" args."iterate" args."lisp-namespace" args."named-readtables" args."parse-declarations-1_dot_0" args."parse-number" args."split-sequence" args."string-case" args."trivia" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_quasiquote" args."trivia_dot_trivial" args."trivial-cltl2" args."trivial-features" args."trivial-file-size" args."trivial-garbage" args."trivial-macroexpand-all" args."type-i" args."uiop" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/serapeum/2021-08-07/serapeum-20210807-git.tgz";
-    sha256 = "0ddkn6kfmfamnylfcmcix1z8knd7zj6x8x6a7aalk41f91phl93a";
+    url = "http://beta.quicklisp.org/archive/serapeum/2021-10-20/serapeum-20211020-git.tgz";
+    sha256 = "1lax10p8apgsm09wcnmxn1p52hgngwp8j6dsk5y8r2dj7h73529v";
   };
 
   packageName = "serapeum";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM serapeum DESCRIPTION Utilities beyond Alexandria. SHA256
-    0ddkn6kfmfamnylfcmcix1z8knd7zj6x8x6a7aalk41f91phl93a URL
-    http://beta.quicklisp.org/archive/serapeum/2021-08-07/serapeum-20210807-git.tgz
-    MD5 7027ae4f769f0b64ab65afc30811f6ab NAME serapeum FILENAME serapeum DEPS
+    1lax10p8apgsm09wcnmxn1p52hgngwp8j6dsk5y8r2dj7h73529v URL
+    http://beta.quicklisp.org/archive/serapeum/2021-10-20/serapeum-20211020-git.tgz
+    MD5 2f15c5635215fd23ddd43dba01647f82 NAME serapeum FILENAME serapeum DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME closer-mop FILENAME closer-mop)
@@ -60,4 +60,4 @@ rec {
      trivia.level2 trivia.quasiquote trivia.trivial trivial-cltl2
      trivial-features trivial-file-size trivial-garbage trivial-macroexpand-all
      type-i uiop)
-    VERSION 20210807-git SIBLINGS NIL PARASITES NIL) */
+    VERSION 20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
index 2d2774a2af3..b8b23ee1751 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "simple-date";
-  version = "postmodern-20210807-git";
+  version = "postmodern-20211020-git";
 
   parasites = [ "simple-date/tests" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."fiveam" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz";
-    sha256 = "01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp";
+    url = "http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz";
+    sha256 = "0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6";
   };
 
   packageName = "simple-date";
@@ -22,9 +22,9 @@ rec {
 }
 /* (SYSTEM simple-date DESCRIPTION
     Simple date library that can be used with postmodern SHA256
-    01l0zk5f3z1cxb6rspvagjl1fy8v3jwm62p2975cgl45aspp18fp URL
-    http://beta.quicklisp.org/archive/postmodern/2021-08-07/postmodern-20210807-git.tgz
-    MD5 aa951f2ad4ce59fce588a62afa34f3ec NAME simple-date FILENAME simple-date
+    0iw0sbjra3g57ivfqgx3c97mlcdzlh2kgqp12d1r2i9pw8z0ckh6 URL
+    http://beta.quicklisp.org/archive/postmodern/2021-10-20/postmodern-20211020-git.tgz
+    MD5 84f4ad8ce7ac0f7f78cbfcf2f0bd3aa4 NAME simple-date FILENAME simple-date
     DEPS ((NAME fiveam FILENAME fiveam)) DEPENDENCIES (fiveam) VERSION
-    postmodern-20210807-git SIBLINGS (cl-postgres postmodern s-sql) PARASITES
+    postmodern-20211020-git SIBLINGS (cl-postgres postmodern s-sql) PARASITES
     (simple-date/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
index 822ea33cbcc..6f0a0cf369e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "smart-buffer";
-  version = "20210630-git";
+  version = "20211020-git";
 
   description = "Smart octets buffer";
 
   deps = [ args."flexi-streams" args."trivial-gray-streams" args."uiop" args."xsubseq" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/smart-buffer/2021-06-30/smart-buffer-20210630-git.tgz";
-    sha256 = "1j90cig9nkh9bim1h0jmgi73q8j3sja6bnn18bb85lalng0p4c2p";
+    url = "http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz";
+    sha256 = "0v25s4msnwi9vn0cwfv3kxamj0mr2xdwngwmxmhh93mr4fkqzdnv";
   };
 
   packageName = "smart-buffer";
@@ -19,12 +19,12 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM smart-buffer DESCRIPTION Smart octets buffer SHA256
-    1j90cig9nkh9bim1h0jmgi73q8j3sja6bnn18bb85lalng0p4c2p URL
-    http://beta.quicklisp.org/archive/smart-buffer/2021-06-30/smart-buffer-20210630-git.tgz
-    MD5 3533a4884c2c7852961377366627727a NAME smart-buffer FILENAME
+    0v25s4msnwi9vn0cwfv3kxamj0mr2xdwngwmxmhh93mr4fkqzdnv URL
+    http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz
+    MD5 d09d02788667d987b3988b6de09d09c3 NAME smart-buffer FILENAME
     smart-buffer DEPS
     ((NAME flexi-streams FILENAME flexi-streams)
      (NAME trivial-gray-streams FILENAME trivial-gray-streams)
      (NAME uiop FILENAME uiop) (NAME xsubseq FILENAME xsubseq))
     DEPENDENCIES (flexi-streams trivial-gray-streams uiop xsubseq) VERSION
-    20210630-git SIBLINGS (smart-buffer-test) PARASITES NIL) */
+    20211020-git SIBLINGS (smart-buffer-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-dispatch.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-dispatch.nix
index 5ef5c65e22f..04e338d7f76 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-dispatch.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-dispatch.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "static-dispatch";
-  version = "20210807-git";
+  version = "20211020-git";
 
   parasites = [ "static-dispatch/test" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."agutil" args."alexandria" args."anaphora" args."arrows" args."cl-environments" args."cl-form-types" args."closer-mop" args."collectors" args."fiveam" args."introspect-environment" args."iterate" args."optima" args."parse-declarations-1_dot_0" args."symbol-munger" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/static-dispatch/2021-08-07/static-dispatch-20210807-git.tgz";
-    sha256 = "1r5sz45mng0dvl77dv771ji95b9csxc0784b7igrk9bcz8npwc2g";
+    url = "http://beta.quicklisp.org/archive/static-dispatch/2021-10-20/static-dispatch-20211020-git.tgz";
+    sha256 = "0zm8haaf65a6mw1jwkzf2fhlh19ixq1asjc2kiz1jhdy40qdkkfj";
   };
 
   packageName = "static-dispatch";
@@ -22,9 +22,9 @@ rec {
 }
 /* (SYSTEM static-dispatch DESCRIPTION
     Static generic function dispatch for Common Lisp. SHA256
-    1r5sz45mng0dvl77dv771ji95b9csxc0784b7igrk9bcz8npwc2g URL
-    http://beta.quicklisp.org/archive/static-dispatch/2021-08-07/static-dispatch-20210807-git.tgz
-    MD5 b9724a680d9802ff690de24193583e20 NAME static-dispatch FILENAME
+    0zm8haaf65a6mw1jwkzf2fhlh19ixq1asjc2kiz1jhdy40qdkkfj URL
+    http://beta.quicklisp.org/archive/static-dispatch/2021-10-20/static-dispatch-20211020-git.tgz
+    MD5 f26f461213b1c8b78ede26c692e00442 NAME static-dispatch FILENAME
     static-dispatch DEPS
     ((NAME agutil FILENAME agutil) (NAME alexandria FILENAME alexandria)
      (NAME anaphora FILENAME anaphora) (NAME arrows FILENAME arrows)
@@ -40,4 +40,4 @@ rec {
     (agutil alexandria anaphora arrows cl-environments cl-form-types closer-mop
      collectors fiveam introspect-environment iterate optima
      parse-declarations-1.0 symbol-munger)
-    VERSION 20210807-git SIBLINGS NIL PARASITES (static-dispatch/test)) */
+    VERSION 20211020-git SIBLINGS NIL PARASITES (static-dispatch/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/sycamore.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/sycamore.nix
index 366c1cb0d43..c4b1a838e37 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/sycamore.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/sycamore.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "sycamore";
-  version = "20200610-git";
+  version = "20211020-git";
 
   description = "A fast, purely functional data structure library";
 
   deps = [ args."alexandria" args."cl-fuzz" args."cl-ppcre" args."lisp-unit" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/sycamore/2020-06-10/sycamore-20200610-git.tgz";
-    sha256 = "0dn4vmbyz1ix34hjnmzjw8imh2s1p52y6fvgx2ppyqr61vdzn34p";
+    url = "http://beta.quicklisp.org/archive/sycamore/2021-10-20/sycamore-20211020-git.tgz";
+    sha256 = "1msh2kpd96s7jfm565snf71bbsmnjmsf8b31y1xg9vkk7xp01cf4";
   };
 
   packageName = "sycamore";
@@ -20,10 +20,10 @@ rec {
 }
 /* (SYSTEM sycamore DESCRIPTION
     A fast, purely functional data structure library SHA256
-    0dn4vmbyz1ix34hjnmzjw8imh2s1p52y6fvgx2ppyqr61vdzn34p URL
-    http://beta.quicklisp.org/archive/sycamore/2020-06-10/sycamore-20200610-git.tgz
-    MD5 7e06bc7db251f8f60231ff966846c7d4 NAME sycamore FILENAME sycamore DEPS
+    1msh2kpd96s7jfm565snf71bbsmnjmsf8b31y1xg9vkk7xp01cf4 URL
+    http://beta.quicklisp.org/archive/sycamore/2021-10-20/sycamore-20211020-git.tgz
+    MD5 0a9f35519b5cb3e5f9467427632ff0f8 NAME sycamore FILENAME sycamore DEPS
     ((NAME alexandria FILENAME alexandria) (NAME cl-fuzz FILENAME cl-fuzz)
      (NAME cl-ppcre FILENAME cl-ppcre) (NAME lisp-unit FILENAME lisp-unit))
-    DEPENDENCIES (alexandria cl-fuzz cl-ppcre lisp-unit) VERSION 20200610-git
+    DEPENDENCIES (alexandria cl-fuzz cl-ppcre lisp-unit) VERSION 20211020-git
     SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia.nix
index 8be725accb9..fab5a9192b2 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivia";
-  version = "20210630-git";
+  version = "20211020-git";
 
   description = "NON-optimized pattern matcher compatible with OPTIMA, with extensible optimizer interface and clean codebase";
 
   deps = [ args."alexandria" args."closer-mop" args."introspect-environment" args."iterate" args."lisp-namespace" args."trivia_dot_balland2006" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz";
-    sha256 = "065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas";
+    url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+    sha256 = "0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g";
   };
 
   packageName = "trivia";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM trivia DESCRIPTION
     NON-optimized pattern matcher compatible with OPTIMA, with extensible optimizer interface and clean codebase
-    SHA256 065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas URL
-    http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz
-    MD5 e048a0e20ca12904c032d933795c5e31 NAME trivia FILENAME trivia DEPS
+    SHA256 0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g URL
+    http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz
+    MD5 db933e44824514d8ccc9b2a119008051 NAME trivia FILENAME trivia DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME closer-mop FILENAME closer-mop)
      (NAME introspect-environment FILENAME introspect-environment)
@@ -38,7 +38,7 @@ rec {
     (alexandria closer-mop introspect-environment iterate lisp-namespace
      trivia.balland2006 trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2 type-i)
-    VERSION 20210630-git SIBLINGS
+    VERSION 20211020-git SIBLINGS
     (trivia.balland2006 trivia.benchmark trivia.cffi trivia.fset trivia.level0
      trivia.level1 trivia.level2 trivia.ppcre trivia.quasiquote trivia.test
      trivia.trivial)
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_balland2006.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_balland2006.nix
index 511790bb488..a4ccd03cf46 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_balland2006.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_balland2006.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivia_dot_balland2006";
-  version = "trivia-20210630-git";
+  version = "trivia-20211020-git";
 
   description = "Optimizer for Trivia based on (Balland 2006)";
 
   deps = [ args."alexandria" args."closer-mop" args."introspect-environment" args."iterate" args."lisp-namespace" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" args."type-i" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz";
-    sha256 = "065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas";
+    url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+    sha256 = "0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g";
   };
 
   packageName = "trivia.balland2006";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM trivia.balland2006 DESCRIPTION
     Optimizer for Trivia based on (Balland 2006) SHA256
-    065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas URL
-    http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz
-    MD5 e048a0e20ca12904c032d933795c5e31 NAME trivia.balland2006 FILENAME
+    0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g URL
+    http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz
+    MD5 db933e44824514d8ccc9b2a119008051 NAME trivia.balland2006 FILENAME
     trivia_dot_balland2006 DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME closer-mop FILENAME closer-mop)
@@ -38,7 +38,7 @@ rec {
     (alexandria closer-mop introspect-environment iterate lisp-namespace
      trivia.level0 trivia.level1 trivia.level2 trivia.trivial trivial-cltl2
      type-i)
-    VERSION trivia-20210630-git SIBLINGS
+    VERSION trivia-20211020-git SIBLINGS
     (trivia trivia.benchmark trivia.cffi trivia.fset trivia.level0
      trivia.level1 trivia.level2 trivia.ppcre trivia.quasiquote trivia.test
      trivia.trivial)
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level0.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level0.nix
index b642da9303f..4011d4f86f7 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level0.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level0.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivia_dot_level0";
-  version = "trivia-20210630-git";
+  version = "trivia-20211020-git";
 
   description = "Bootstrapping Pattern Matching Library for implementing Trivia";
 
   deps = [ args."alexandria" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz";
-    sha256 = "065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas";
+    url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+    sha256 = "0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g";
   };
 
   packageName = "trivia.level0";
@@ -20,11 +20,11 @@ rec {
 }
 /* (SYSTEM trivia.level0 DESCRIPTION
     Bootstrapping Pattern Matching Library for implementing Trivia SHA256
-    065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas URL
-    http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz
-    MD5 e048a0e20ca12904c032d933795c5e31 NAME trivia.level0 FILENAME
+    0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g URL
+    http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz
+    MD5 db933e44824514d8ccc9b2a119008051 NAME trivia.level0 FILENAME
     trivia_dot_level0 DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES
-    (alexandria) VERSION trivia-20210630-git SIBLINGS
+    (alexandria) VERSION trivia-20211020-git SIBLINGS
     (trivia trivia.balland2006 trivia.benchmark trivia.cffi trivia.fset
      trivia.level1 trivia.level2 trivia.ppcre trivia.quasiquote trivia.test
      trivia.trivial)
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level1.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level1.nix
index 8d410e676d3..ad25070a81e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level1.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level1.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivia_dot_level1";
-  version = "trivia-20210630-git";
+  version = "trivia-20211020-git";
 
   description = "Core patterns of Trivia";
 
   deps = [ args."alexandria" args."trivia_dot_level0" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz";
-    sha256 = "065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas";
+    url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+    sha256 = "0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g";
   };
 
   packageName = "trivia.level1";
@@ -19,13 +19,13 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM trivia.level1 DESCRIPTION Core patterns of Trivia SHA256
-    065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas URL
-    http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz
-    MD5 e048a0e20ca12904c032d933795c5e31 NAME trivia.level1 FILENAME
+    0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g URL
+    http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz
+    MD5 db933e44824514d8ccc9b2a119008051 NAME trivia.level1 FILENAME
     trivia_dot_level1 DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME trivia.level0 FILENAME trivia_dot_level0))
-    DEPENDENCIES (alexandria trivia.level0) VERSION trivia-20210630-git
+    DEPENDENCIES (alexandria trivia.level0) VERSION trivia-20211020-git
     SIBLINGS
     (trivia trivia.balland2006 trivia.benchmark trivia.cffi trivia.fset
      trivia.level0 trivia.level2 trivia.ppcre trivia.quasiquote trivia.test
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level2.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level2.nix
index e36e762d61e..a552646736b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level2.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_level2.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivia_dot_level2";
-  version = "trivia-20210630-git";
+  version = "trivia-20211020-git";
 
   description = "NON-optimized pattern matcher compatible with OPTIMA, with extensible optimizer interface and clean codebase";
 
   deps = [ args."alexandria" args."closer-mop" args."lisp-namespace" args."trivia_dot_level0" args."trivia_dot_level1" args."trivial-cltl2" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz";
-    sha256 = "065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas";
+    url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+    sha256 = "0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g";
   };
 
   packageName = "trivia.level2";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM trivia.level2 DESCRIPTION
     NON-optimized pattern matcher compatible with OPTIMA, with extensible optimizer interface and clean codebase
-    SHA256 065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas URL
-    http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz
-    MD5 e048a0e20ca12904c032d933795c5e31 NAME trivia.level2 FILENAME
+    SHA256 0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g URL
+    http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz
+    MD5 db933e44824514d8ccc9b2a119008051 NAME trivia.level2 FILENAME
     trivia_dot_level2 DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME closer-mop FILENAME closer-mop)
@@ -33,7 +33,7 @@ rec {
     DEPENDENCIES
     (alexandria closer-mop lisp-namespace trivia.level0 trivia.level1
      trivial-cltl2)
-    VERSION trivia-20210630-git SIBLINGS
+    VERSION trivia-20211020-git SIBLINGS
     (trivia trivia.balland2006 trivia.benchmark trivia.cffi trivia.fset
      trivia.level0 trivia.level1 trivia.ppcre trivia.quasiquote trivia.test
      trivia.trivial)
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_quasiquote.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_quasiquote.nix
index b055ac59dc8..3ab15225d5c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_quasiquote.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_quasiquote.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivia_dot_quasiquote";
-  version = "trivia-20210630-git";
+  version = "trivia-20211020-git";
 
   description = "fare-quasiquote extension for trivia";
 
   deps = [ args."alexandria" args."closer-mop" args."fare-quasiquote" args."fare-quasiquote-readtable" args."fare-utils" args."lisp-namespace" args."named-readtables" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivia_dot_trivial" args."trivial-cltl2" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz";
-    sha256 = "065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas";
+    url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+    sha256 = "0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g";
   };
 
   packageName = "trivia.quasiquote";
@@ -19,9 +19,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM trivia.quasiquote DESCRIPTION fare-quasiquote extension for trivia
-    SHA256 065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas URL
-    http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz
-    MD5 e048a0e20ca12904c032d933795c5e31 NAME trivia.quasiquote FILENAME
+    SHA256 0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g URL
+    http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz
+    MD5 db933e44824514d8ccc9b2a119008051 NAME trivia.quasiquote FILENAME
     trivia_dot_quasiquote DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME closer-mop FILENAME closer-mop)
@@ -39,7 +39,7 @@ rec {
     (alexandria closer-mop fare-quasiquote fare-quasiquote-readtable fare-utils
      lisp-namespace named-readtables trivia.level0 trivia.level1 trivia.level2
      trivia.trivial trivial-cltl2)
-    VERSION trivia-20210630-git SIBLINGS
+    VERSION trivia-20211020-git SIBLINGS
     (trivia trivia.balland2006 trivia.benchmark trivia.cffi trivia.fset
      trivia.level0 trivia.level1 trivia.level2 trivia.ppcre trivia.test
      trivia.trivial)
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_trivial.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_trivial.nix
index 692a875406c..736d0322d12 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_trivial.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivia_dot_trivial.nix
@@ -2,7 +2,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivia_dot_trivial";
-  version = "trivia-20210630-git";
+  version = "trivia-20211020-git";
 
   description = "Base level system of Trivia with a trivial optimizer.
  Systems that intend to enhance Trivia should depend on this package, not the TRIVIA system,
@@ -11,8 +11,8 @@ rec {
   deps = [ args."alexandria" args."closer-mop" args."lisp-namespace" args."trivia_dot_level0" args."trivia_dot_level1" args."trivia_dot_level2" args."trivial-cltl2" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz";
-    sha256 = "065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas";
+    url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+    sha256 = "0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g";
   };
 
   packageName = "trivia.trivial";
@@ -24,9 +24,9 @@ rec {
     Base level system of Trivia with a trivial optimizer.
  Systems that intend to enhance Trivia should depend on this package, not the TRIVIA system,
  in order to avoid the circular dependency.
-    SHA256 065bfypzahli8pvnbpiwsvxdp2i216gqr1a1algxkpikifrxkjas URL
-    http://beta.quicklisp.org/archive/trivia/2021-06-30/trivia-20210630-git.tgz
-    MD5 e048a0e20ca12904c032d933795c5e31 NAME trivia.trivial FILENAME
+    SHA256 0gf63v42pq8cxr7an177p2mf25n5jpqxdf0zb4xqlm2sydk7ng1g URL
+    http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz
+    MD5 db933e44824514d8ccc9b2a119008051 NAME trivia.trivial FILENAME
     trivia_dot_trivial DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME closer-mop FILENAME closer-mop)
@@ -38,7 +38,7 @@ rec {
     DEPENDENCIES
     (alexandria closer-mop lisp-namespace trivia.level0 trivia.level1
      trivia.level2 trivial-cltl2)
-    VERSION trivia-20210630-git SIBLINGS
+    VERSION trivia-20211020-git SIBLINGS
     (trivia trivia.balland2006 trivia.benchmark trivia.cffi trivia.fset
      trivia.level0 trivia.level1 trivia.level2 trivia.ppcre trivia.quasiquote
      trivia.test)
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-with-current-source-form.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-with-current-source-form.nix
index b90e9d10204..5423ac293d6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-with-current-source-form.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-with-current-source-form.nix
@@ -2,15 +2,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "trivial-with-current-source-form";
-  version = "20210630-git";
+  version = "20211020-git";
 
   description = "Helps macro writers produce better errors for macro users";
 
   deps = [ args."alexandria" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/trivial-with-current-source-form/2021-06-30/trivial-with-current-source-form-20210630-git.tgz";
-    sha256 = "0xa4mmrrkqr8lg74wk04ccgx06r17jskhrfmw23ywpbi2yy1qyhp";
+    url = "http://beta.quicklisp.org/archive/trivial-with-current-source-form/2021-10-20/trivial-with-current-source-form-20211020-git.tgz";
+    sha256 = "03x8yx5hqfydxbdy9nxpaqn6yfjv7hvw8idscx66ns4qcpw6p825";
   };
 
   packageName = "trivial-with-current-source-form";
@@ -20,9 +20,9 @@ rec {
 }
 /* (SYSTEM trivial-with-current-source-form DESCRIPTION
     Helps macro writers produce better errors for macro users SHA256
-    0xa4mmrrkqr8lg74wk04ccgx06r17jskhrfmw23ywpbi2yy1qyhp URL
-    http://beta.quicklisp.org/archive/trivial-with-current-source-form/2021-06-30/trivial-with-current-source-form-20210630-git.tgz
-    MD5 0b4fe9e9a99e0729cc8ecf851df2a6c5 NAME trivial-with-current-source-form
+    03x8yx5hqfydxbdy9nxpaqn6yfjv7hvw8idscx66ns4qcpw6p825 URL
+    http://beta.quicklisp.org/archive/trivial-with-current-source-form/2021-10-20/trivial-with-current-source-form-20211020-git.tgz
+    MD5 b4a3721cbef6101de1c43c540b446efc NAME trivial-with-current-source-form
     FILENAME trivial-with-current-source-form DEPS
     ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION
-    20210630-git SIBLINGS NIL PARASITES NIL) */
+    20211020-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uax-15.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uax-15.nix
index 5e8dc318ca4..b1c853cd39b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uax-15.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uax-15.nix
@@ -2,17 +2,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = "uax-15";
-  version = "20210531-git";
+  version = "20211020-git";
 
   parasites = [ "uax-15/tests" ];
 
   description = "Common lisp implementation of Unicode normalization functions :nfc, :nfd, :nfkc and :nfkd (Uax-15)";
 
-  deps = [ args."cl-ppcre" args."parachute" args."split-sequence" args."uiop" ];
+  deps = [ args."cl-ppcre" args."parachute" args."split-sequence" ];
 
   src = fetchurl {
-    url = "http://beta.quicklisp.org/archive/uax-15/2021-05-31/uax-15-20210531-git.tgz";
-    sha256 = "0yz4zi13iybpwa2bw5r6cjdbkw1njrbb6vgjwmm3msnl1paxr3wg";
+    url = "http://beta.quicklisp.org/archive/uax-15/2021-10-20/uax-15-20211020-git.tgz";
+    sha256 = "1g6mbwxv8cbv9gbpkj267lwdgq8k21qx0isy1gbrc158h0al7bp9";
   };
 
   packageName = "uax-15";
@@ -22,10 +22,10 @@ rec {
 }
 /* (SYSTEM uax-15 DESCRIPTION
     Common lisp implementation of Unicode normalization functions :nfc, :nfd, :nfkc and :nfkd (Uax-15)
-    SHA256 0yz4zi13iybpwa2bw5r6cjdbkw1njrbb6vgjwmm3msnl1paxr3wg URL
-    http://beta.quicklisp.org/archive/uax-15/2021-05-31/uax-15-20210531-git.tgz
-    MD5 bceff07d037c7daccbdd5c84683fcddd NAME uax-15 FILENAME uax-15 DEPS
+    SHA256 1g6mbwxv8cbv9gbpkj267lwdgq8k21qx0isy1gbrc158h0al7bp9 URL
+    http://beta.quicklisp.org/archive/uax-15/2021-10-20/uax-15-20211020-git.tgz
+    MD5 27503fd1e91e494cc9ac10a985dbf95e NAME uax-15 FILENAME uax-15 DEPS
     ((NAME cl-ppcre FILENAME cl-ppcre) (NAME parachute FILENAME parachute)
-     (NAME split-sequence FILENAME split-sequence) (NAME uiop FILENAME uiop))
-    DEPENDENCIES (cl-ppcre parachute split-sequence uiop) VERSION 20210531-git
+     (NAME split-sequence FILENAME split-sequence))
+    DEPENDENCIES (cl-ppcre parachute split-sequence) VERSION 20211020-git
     SIBLINGS NIL PARASITES (uax-15/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/vecto.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/vecto.nix
index 80e85987747..2ce2ac83403 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/vecto.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/vecto.nix
@@ -6,7 +6,7 @@ rec {
 
   description = "Create vector graphics in PNG files.";
 
-  deps = [ args."cl-aa" args."cl-paths" args."cl-vectors" args."salza2" args."zpb-ttf" args."zpng" ];
+  deps = [ args."cl-aa" args."cl-paths" args."cl-vectors" args."salza2" args."trivial-gray-streams" args."zpb-ttf" args."zpng" ];
 
   src = fetchurl {
     url = "http://beta.quicklisp.org/archive/vecto/2017-12-27/vecto-1.5.tgz";
@@ -24,6 +24,8 @@ rec {
     69e6b2f7fa10066d50f9134942afad73 NAME vecto FILENAME vecto DEPS
     ((NAME cl-aa FILENAME cl-aa) (NAME cl-paths FILENAME cl-paths)
      (NAME cl-vectors FILENAME cl-vectors) (NAME salza2 FILENAME salza2)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
      (NAME zpb-ttf FILENAME zpb-ttf) (NAME zpng FILENAME zpng))
-    DEPENDENCIES (cl-aa cl-paths cl-vectors salza2 zpb-ttf zpng) VERSION 1.5
-    SIBLINGS (vectometry) PARASITES NIL) */
+    DEPENDENCIES
+    (cl-aa cl-paths cl-vectors salza2 trivial-gray-streams zpb-ttf zpng)
+    VERSION 1.5 SIBLINGS (vectometry) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpng.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpng.nix
index b76721640dd..5b62f74dd81 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpng.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpng.nix
@@ -6,7 +6,7 @@ rec {
 
   description = "Create PNG files";
 
-  deps = [ args."salza2" ];
+  deps = [ args."salza2" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = "http://beta.quicklisp.org/archive/zpng/2015-04-07/zpng-1.2.2.tgz";
@@ -22,5 +22,7 @@ rec {
     0932gq9wncibm1z81gbvdc3ip6n118wwzmjnpxaqdy9hk5bs2w1x URL
     http://beta.quicklisp.org/archive/zpng/2015-04-07/zpng-1.2.2.tgz MD5
     0a208f4ce0087ef578d477341d5f4078 NAME zpng FILENAME zpng DEPS
-    ((NAME salza2 FILENAME salza2)) DEPENDENCIES (salza2) VERSION 1.2.2
-    SIBLINGS NIL PARASITES NIL) */
+    ((NAME salza2 FILENAME salza2)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES (salza2 trivial-gray-streams) VERSION 1.2.2 SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index 157cf8302c8..b9054baab1d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -292,16 +292,14 @@ $out/lib/common-lisp/query-fs"
     };
   };
   lla = addNativeLibs [ pkgs.openblas ];
-  esrap = x: {
+  uax-15 = x: {
     overrides = y: (x.overrides y) // {
       postPatch = ''
         patch -p1 < ${
-          # Quicklisp 2021-08-07 packages an Esrap that doesn't build with SBCL 2.1.9.
-          # Therefore we pull patches from the Esrap repo to fix this.
-          # See https://github.com/scymtym/parser.common-rules/issues/1
           pkgs.fetchurl {
-            url = https://github.com/scymtym/esrap/compare/4034df872c2b1b8e91adbccab491645c8138253b...c99c33a33ff58ca85e8ba73912eba45d458eaa72.diff;
-            sha256 = "sha256:1sg2mgzilmwj5kwlmx0s60wk2769c3mpqjl00ga2p74ra5hykvx8";
+            # https://github.com/sabracrolleton/uax-15/pull/12
+            url = https://github.com/nuddyco/uax-15/commit/d553181669f488636df03d60ad7f5bec64d566bf.diff;
+            sha256 = "sha256:1608jzw7giy18vlw7pz4pl8prwlprgif8zcl9hwa0wf5gdxwd7gn";
           }}
       '';
     };
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt b/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
index 00a852b4b9b..2e02fa02e42 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
@@ -142,6 +142,7 @@ heap
 http-body
 hu.dwim.asdf
 hu.dwim.defclass-star
+hunchensocket
 hunchentoot
 idna
 ieee-floats
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix.nix b/pkgs/development/lisp-modules/quicklisp-to-nix.nix
index ffde6fbb928..8b75a94de6d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix.nix
@@ -6,11 +6,20 @@ let quicklisp-to-nix-packages = rec {
   buildLispPackage = callPackage ./define-package.nix;
   qlOverrides = callPackage ./quicklisp-to-nix-overrides.nix {};
 
+  "html-encode" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."html-encode" or (x: {}))
+       (import ./quicklisp-to-nix-output/html-encode.nix {
+         inherit fetchurl;
+       }));
+
+
   "rove" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."rove" or (x: {}))
        (import ./quicklisp-to-nix-output/rove.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "dissect" = quicklisp-to-nix-packages."dissect";
            "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
@@ -59,6 +68,7 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/zpng.nix {
          inherit fetchurl;
            "salza2" = quicklisp-to-nix-packages."salza2";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
@@ -199,7 +209,6 @@ let quicklisp-to-nix-packages = rec {
            "cl-postgres" = quicklisp-to-nix-packages."cl-postgres";
            "cl-postgres_slash_tests" = quicklisp-to-nix-packages."cl-postgres_slash_tests";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
            "closer-mop" = quicklisp-to-nix-packages."closer-mop";
            "fiveam" = quicklisp-to-nix-packages."fiveam";
            "global-vars" = quicklisp-to-nix-packages."global-vars";
@@ -242,14 +251,6 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
-  "html-encode" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."html-encode" or (x: {}))
-       (import ./quicklisp-to-nix-output/html-encode.nix {
-         inherit fetchurl;
-       }));
-
-
   "colorize" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."colorize" or (x: {}))
@@ -305,49 +306,6 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
-  "iolib_dot_conf" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."iolib_dot_conf" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_dot_conf.nix {
-         inherit fetchurl;
-           "alexandria" = quicklisp-to-nix-packages."alexandria";
-           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
-       }));
-
-
-  "iolib_dot_common-lisp" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."iolib_dot_common-lisp" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_dot_common-lisp.nix {
-         inherit fetchurl;
-           "alexandria" = quicklisp-to-nix-packages."alexandria";
-           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
-           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
-       }));
-
-
-  "iolib_dot_base" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."iolib_dot_base" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_dot_base.nix {
-         inherit fetchurl;
-           "alexandria" = quicklisp-to-nix-packages."alexandria";
-           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
-           "iolib_dot_common-lisp" = quicklisp-to-nix-packages."iolib_dot_common-lisp";
-           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
-           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
-       }));
-
-
-  "iolib_dot_asdf" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."iolib_dot_asdf" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_dot_asdf.nix {
-         inherit fetchurl;
-           "alexandria" = quicklisp-to-nix-packages."alexandria";
-       }));
-
-
   "trivia_dot_quasiquote" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."trivia_dot_quasiquote" or (x: {}))
@@ -1044,6 +1002,49 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "iolib_dot_conf" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."iolib_dot_conf" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_conf.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+       }));
+
+
+  "iolib_dot_common-lisp" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."iolib_dot_common-lisp" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_common-lisp.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
+       }));
+
+
+  "iolib_dot_base" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."iolib_dot_base" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_base.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+           "iolib_dot_common-lisp" = quicklisp-to-nix-packages."iolib_dot_common-lisp";
+           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+       }));
+
+
+  "iolib_dot_asdf" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."iolib_dot_asdf" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_asdf.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+       }));
+
+
   "cl-xmlspam" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."cl-xmlspam" or (x: {}))
@@ -1068,7 +1069,6 @@ let quicklisp-to-nix-packages = rec {
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "parachute" = quicklisp-to-nix-packages."parachute";
            "split-sequence" = quicklisp-to-nix-packages."split-sequence";
-           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
@@ -1566,6 +1566,7 @@ let quicklisp-to-nix-packages = rec {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "clunit2" = quicklisp-to-nix-packages."clunit2";
        }));
 
 
@@ -1822,6 +1823,7 @@ let quicklisp-to-nix-packages = rec {
            "cl-paths" = quicklisp-to-nix-packages."cl-paths";
            "cl-vectors" = quicklisp-to-nix-packages."cl-vectors";
            "salza2" = quicklisp-to-nix-packages."salza2";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
            "zpb-ttf" = quicklisp-to-nix-packages."zpb-ttf";
            "zpng" = quicklisp-to-nix-packages."zpng";
        }));
@@ -2247,6 +2249,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."salza2" or (x: {}))
        (import ./quicklisp-to-nix-output/salza2.nix {
          inherit fetchurl;
+           "chipz" = quicklisp-to-nix-packages."chipz";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "parachute" = quicklisp-to-nix-packages."parachute";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
@@ -2361,10 +2367,8 @@ let quicklisp-to-nix-packages = rec {
            "cl-postgres_plus_local-time" = quicklisp-to-nix-packages."cl-postgres_plus_local-time";
            "cl-postgres_slash_tests" = quicklisp-to-nix-packages."cl-postgres_slash_tests";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
            "closer-mop" = quicklisp-to-nix-packages."closer-mop";
            "fiveam" = quicklisp-to-nix-packages."fiveam";
-           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
            "global-vars" = quicklisp-to-nix-packages."global-vars";
            "ironclad" = quicklisp-to-nix-packages."ironclad";
            "local-time" = quicklisp-to-nix-packages."local-time";
@@ -2579,18 +2583,12 @@ let quicklisp-to-nix-packages = rec {
            "_3bmd-ext-code-blocks" = quicklisp-to-nix-packages."_3bmd-ext-code-blocks";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
            "babel" = quicklisp-to-nix-packages."babel";
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "cl-fad" = quicklisp-to-nix-packages."cl-fad";
            "colorize" = quicklisp-to-nix-packages."colorize";
-           "esrap" = quicklisp-to-nix-packages."esrap";
-           "html-encode" = quicklisp-to-nix-packages."html-encode";
            "ironclad" = quicklisp-to-nix-packages."ironclad";
            "named-readtables" = quicklisp-to-nix-packages."named-readtables";
            "pythonic-string-reader" = quicklisp-to-nix-packages."pythonic-string-reader";
-           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
            "swank" = quicklisp-to-nix-packages."swank";
-           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
-           "trivial-with-current-source-form" = quicklisp-to-nix-packages."trivial-with-current-source-form";
        }));
 
 
@@ -2950,6 +2948,36 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "hunchensocket" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."hunchensocket" or (x: {}))
+       (import ./quicklisp-to-nix-output/hunchensocket.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "chunga" = quicklisp-to-nix-packages."chunga";
+           "cl_plus_ssl" = quicklisp-to-nix-packages."cl_plus_ssl";
+           "cl-base64" = quicklisp-to-nix-packages."cl-base64";
+           "cl-fad" = quicklisp-to-nix-packages."cl-fad";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "fiasco" = quicklisp-to-nix-packages."fiasco";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "hunchentoot" = quicklisp-to-nix-packages."hunchentoot";
+           "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "md5" = quicklisp-to-nix-packages."md5";
+           "rfc2388" = quicklisp-to-nix-packages."rfc2388";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "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";
+           "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
+           "usocket" = quicklisp-to-nix-packages."usocket";
+       }));
+
+
   "hu_dot_dwim_dot_defclass-star" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."hu_dot_dwim_dot_defclass-star" or (x: {}))
@@ -3361,12 +3389,29 @@ let quicklisp-to-nix-packages = rec {
            "alexandria" = quicklisp-to-nix-packages."alexandria";
            "asdf-package-system" = quicklisp-to-nix-packages."asdf-package-system";
            "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
+           "cffi-toolchain" = quicklisp-to-nix-packages."cffi-toolchain";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "cl-xmlspam" = quicklisp-to-nix-packages."cl-xmlspam";
+           "closure-common" = quicklisp-to-nix-packages."closure-common";
+           "cxml" = quicklisp-to-nix-packages."cxml";
            "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "idna" = quicklisp-to-nix-packages."idna";
            "ieee-floats" = quicklisp-to-nix-packages."ieee-floats";
            "iolib" = quicklisp-to-nix-packages."iolib";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+           "iolib_dot_base" = quicklisp-to-nix-packages."iolib_dot_base";
+           "iolib_dot_common-lisp" = quicklisp-to-nix-packages."iolib_dot_common-lisp";
+           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
            "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "puri" = quicklisp-to-nix-packages."puri";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "swap-bytes" = quicklisp-to-nix-packages."swap-bytes";
+           "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";
        }));
 
 
diff --git a/pkgs/development/ocaml-modules/carton/default.nix b/pkgs/development/ocaml-modules/carton/default.nix
index 81893ae9ac3..97e00dc71b6 100644
--- a/pkgs/development/ocaml-modules/carton/default.nix
+++ b/pkgs/development/ocaml-modules/carton/default.nix
@@ -7,14 +7,14 @@
 
 buildDunePackage rec {
   pname = "carton";
-  version = "0.4.2";
+  version = "0.4.3";
 
   useDune2 = true;
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/${pname}-${pname}-v${version}.tbz";
-    sha256 = "a0a03b2f7bb7dafe070bc6a74583b6d6da714d2c636dd4d5a6443c9f299ceacc";
+    sha256 = "sha256:0qz9ds5761wx4m7ly3av843b6dii7lmjpx2nnyijv8rm8aw95jgr";
   };
 
   # remove changelogs for mimic and the git* packages
diff --git a/pkgs/development/ocaml-modules/carton/git.nix b/pkgs/development/ocaml-modules/carton/git.nix
index ef41ff2b594..4f7c880ae06 100644
--- a/pkgs/development/ocaml-modules/carton/git.nix
+++ b/pkgs/development/ocaml-modules/carton/git.nix
@@ -8,7 +8,7 @@
 buildDunePackage {
   pname = "carton-git";
 
-  inherit (carton) version src useDune2 minimumOCamlVersion postPatch;
+  inherit (carton) version src useDune2 postPatch;
 
   propagatedBuildInputs = [
     carton
diff --git a/pkgs/development/ocaml-modules/carton/lwt.nix b/pkgs/development/ocaml-modules/carton/lwt.nix
index 024ff51559e..17ba5dddf24 100644
--- a/pkgs/development/ocaml-modules/carton/lwt.nix
+++ b/pkgs/development/ocaml-modules/carton/lwt.nix
@@ -10,7 +10,7 @@
 buildDunePackage {
   pname = "carton-lwt";
 
-  inherit (carton) version src useDune2 minimumOCamlVersion postPatch;
+  inherit (carton) version src useDune2 postPatch;
 
   propagatedBuildInputs = [
     carton
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 1d25bcae10e..24db91ac9cc 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.16.0";
+  version = "3.16.1";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "sha256-/60f++CemVbeUwRSzQ5dZpoQE4btRiRhnVHHDPIn3Xc=";
+    sha256 = "sha256-09EzoV+212Nj3abhfS82tRE+KDJQT/tujUtmuo2h2Wk=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index 5b69a332615..890d43b01ff 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "10.0.0";
+  version = "10.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZVexJt1CE7Q0j9QzrPFLYYSXzoWYtfw1BWwL/hnAkD0=";
+    sha256 = "sha256-9K67vmPaPSR6ODl3tpwwfRMY9DDD/2cCaDRRO38mHVU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/alectryon/default.nix b/pkgs/development/python-modules/alectryon/default.nix
index f10a0f03e07..08fcd9f9651 100644
--- a/pkgs/development/python-modules/alectryon/default.nix
+++ b/pkgs/development/python-modules/alectryon/default.nix
@@ -1,23 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch
+{ lib, buildPythonPackage, fetchPypi
 , pygments, dominate, beautifulsoup4, docutils, sphinx }:
 
 buildPythonPackage rec {
   pname = "alectryon";
-  owner = "cpitclaudel";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256:0mca25jv917myb4n91ccpl5fz058aiqsn8cniflwfw5pp6lqnfg7";
+    sha256 = "00cxzfifvgcf3d3s8lsj1yxcwyf3a1964p86fj7b42q8pa0b4r3i";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/cpitclaudel/alectryon/commit/c779def3fa268e703d4e0ff8ae0b2981e194b269.patch";
-      sha256 = "0xsz56ibq8xj7gg530pfm1jmxbxw4r6v8xvzj5k1wdry83srqi65";
-     })
-   ];
-
   propagatedBuildInputs = [
     pygments
     dominate
diff --git a/pkgs/development/python-modules/apcaccess/default.nix b/pkgs/development/python-modules/apcaccess/default.nix
new file mode 100644
index 00000000000..4b1401d61e5
--- /dev/null
+++ b/pkgs/development/python-modules/apcaccess/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "apcaccess";
+  version = "0.0.13";
+
+  src = fetchFromGitHub {
+    owner = "flyte";
+    repo = "apcaccess";
+    rev = version;
+    sha256 = "sha256-XLoNRh6MgXCfRtWD9NpVZSyroW6E9nRYw6Grxa+AQkc=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "setup_requires='pytest-runner'," ""
+  '';
+
+  pythonImportsCheck = [
+    "apcaccess"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Library offers programmatic access to the status information provided by apcupsd over its Network Information Server";
+    homepage = "https://github.com/flyte/apcaccess";
+    license = licenses.mit;
+    maintainers = with maintainers; [ uvnikita ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix b/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
index 5bd45d3609e..0fe9ad0931a 100644
--- a/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-eventhub";
-  version = "9.0.0";
+  version = "9.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "181f72adf9287741ded8e386c8934a722d08399d781ce1c452f0482aac1f019b";
+    sha256 = "0ba9f10e1e8d03247a316e777d6f27fabf268d596dda2af56ac079fcdf5e7afe";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bc-python-hcl2/default.nix b/pkgs/development/python-modules/bc-python-hcl2/default.nix
index 34eab21bf5d..e889fff9688 100644
--- a/pkgs/development/python-modules/bc-python-hcl2/default.nix
+++ b/pkgs/development/python-modules/bc-python-hcl2/default.nix
@@ -1,13 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi, nose }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
 
 let
   lark-parser = buildPythonPackage rec {
     pname = "lark-parser";
-    version = "0.7.8";
+    version = "0.10.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "JiFeuxV+b7LudDGapERbnzt+RW4mviFc4Z/aqpAcIKQ=";
+      sha256 = "15jr4c1falvgkq664xdgamykk6waklh1psy8v3wlrg0v59hngws2";
     };
 
     doCheck = true;
@@ -15,11 +19,11 @@ let
 in
 buildPythonPackage rec {
   pname = "bc-python-hcl2";
-  version = "0.3.11";
+  version = "0.3.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "VZhI1oJ2EDZGyz3iI6/KYvJq4BGafzR+rcSgHqlUDrA=";
+    sha256 = "sha256-YsiMkTPRSKR4511csJOv9/Jf1b3TVUM7N2lInejdNrQ=";
   };
 
   # Nose is required during build process, so can not use `checkInputs`.
@@ -31,19 +35,23 @@ buildPythonPackage rec {
     lark-parser
   ];
 
-  pythonImportsCheck = [ "hcl2" ];
+  # This fork of python-hcl2 doesn't ship tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "hcl2"
+  ];
 
   meta = with lib; {
-    description = "A parser for HCL2 written in Python using Lark";
+    description = "Parser for HCL2 written in Python using Lark";
     longDescription = ''
-    A parser for HCL2 written in Python using Lark.
-    This parser only supports HCL2 and isn't backwards compatible with HCL v1.
-    It can be used to parse any HCL2 config file such as Terraform.
+      This parser only supports HCL2 and isn't backwards compatible with HCL v1.
+      It can be used to parse any HCL2 config file such as Terraform.
     '';
     # Although this is the main homepage from PyPi but it is also a homepage
     # of another PyPi package (python-hcl2). But these two are different.
     homepage = "https://github.com/amplify-education/python-hcl2";
     license = licenses.mit;
-    maintainers = [ maintainers.anhdle14 ];
+    maintainers = with maintainers; [ anhdle14 ];
   };
 }
diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix
index ac2785fe332..472e6a47077 100644
--- a/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.7.20";
+  version = "0.7.21";
 
   disabled = pythonOlder "3.5";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = version;
-    sha256 = "sha256-vcJYcxBX8wHH3FiU2Cg7IlK0iEQZ3SLVa0MryeAwPCA=";
+    sha256 = "sha256-98K7FRB//WyCu6NPG0x4ViA8UdMuiANDXshLjx/Yehg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/canonicaljson/default.nix b/pkgs/development/python-modules/canonicaljson/default.nix
index ca64d599534..b5679978c2c 100644
--- a/pkgs/development/python-modules/canonicaljson/default.nix
+++ b/pkgs/development/python-modules/canonicaljson/default.nix
@@ -2,37 +2,43 @@
 , buildPythonPackage
 , fetchPypi
 , frozendict
-, simplejson
-, six
-, isPy27
 , pytestCheckHook
+, pythonOlder
+, simplejson
 }:
 
 buildPythonPackage rec {
   pname = "canonicaljson";
-  version = "1.4.0";
-  disabled = isPy27;
+  version = "1.5.0";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "899b7604f5a6a8a92109115d9250142cdf0b1dfdcb62cdb21d8fb5bf37780631";
+    sha256 = "sha256-Xr3c10xbBm7mjsylZGUzjpsTgEZ+CpBvR5dpfJ+zgeI=";
   };
 
   propagatedBuildInputs = [
     frozendict
     simplejson
-    six
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   disabledTests = [
     "test_frozen_dict"
   ];
 
+  pythonImportsCheck = [
+    "canonicaljson"
+  ];
+
   meta = with lib; {
+    description = "Encodes objects and arrays as RFC 7159 JSON";
     homepage = "https://github.com/matrix-org/python-canonicaljson";
-    description = "Encodes objects and arrays as RFC 7159 JSON.";
     license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/cirq-aqt/default.nix b/pkgs/development/python-modules/cirq-aqt/default.nix
new file mode 100644
index 00000000000..1dff0a121ff
--- /dev/null
+++ b/pkgs/development/python-modules/cirq-aqt/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, cirq-core
+, pythonOlder
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cirq-aqt";
+  inherit (cirq-core) version src meta;
+
+  sourceRoot = "source/${pname}";
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "requests~=2.18" "requests"
+  '';
+
+  propagatedBuildInputs = [
+    cirq-core
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # cirq's importlib hook doesn't work here
+  #pythonImportsCheck = [ "cirq_aqt" ];
+}
diff --git a/pkgs/development/python-modules/cirq-core/default.nix b/pkgs/development/python-modules/cirq-core/default.nix
index 54e2fa1954d..f4ed369517c 100644
--- a/pkgs/development/python-modules/cirq-core/default.nix
+++ b/pkgs/development/python-modules/cirq-core/default.nix
@@ -1,5 +1,5 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
@@ -26,9 +26,10 @@
 , freezegun
 , pytest-asyncio
 }:
+
 buildPythonPackage rec {
   pname = "cirq-core";
-  version = "0.11.0";
+  version = "0.12.0";
 
   disabled = pythonOlder "3.6";
 
@@ -36,7 +37,7 @@ buildPythonPackage rec {
     owner = "quantumlib";
     repo = "cirq";
     rev = "v${version}";
-    hash = "sha256-JaKTGnkYhzIFb35SGaho8DRupoT0JFYKA5+rJEq4oXw=";
+    sha256 = "sha256-NPaADiRoPL0KoLugtk0vsnTGuRDK85e4j9kHv9aO/Po=";
   };
 
   sourceRoot = "source/${pname}";
@@ -45,8 +46,7 @@ buildPythonPackage rec {
     substituteInPlace requirements.txt \
       --replace "matplotlib~=3.0" "matplotlib" \
       --replace "networkx~=2.4" "networkx" \
-      --replace "numpy~=1.16" "numpy" \
-      --replace "requests~=2.18" "requests"
+      --replace "numpy~=1.16" "numpy"
   '';
 
   propagatedBuildInputs = [
@@ -89,10 +89,10 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.";
+    description = "Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits";
     homepage = "https://github.com/quantumlib/cirq";
     changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ drewrisinger ];
+    maintainers = with maintainers; [ drewrisinger fab ];
   };
 }
diff --git a/pkgs/development/python-modules/cirq-google/default.nix b/pkgs/development/python-modules/cirq-google/default.nix
index 900189dc2ed..34c6c3f09df 100644
--- a/pkgs/development/python-modules/cirq-google/default.nix
+++ b/pkgs/development/python-modules/cirq-google/default.nix
@@ -27,5 +27,8 @@ buildPythonPackage rec {
     protobuf
   ];
 
-  checkInputs = [ pytestCheckHook freezegun ];
+  checkInputs = [
+    freezegun
+    pytestCheckHook
+  ];
 }
diff --git a/pkgs/development/python-modules/cirq-ionq/default.nix b/pkgs/development/python-modules/cirq-ionq/default.nix
new file mode 100644
index 00000000000..28451bdbb9c
--- /dev/null
+++ b/pkgs/development/python-modules/cirq-ionq/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, cirq-core
+, pythonOlder
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cirq-ionq";
+  inherit (cirq-core) version src meta;
+
+  sourceRoot = "source/${pname}";
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "requests~=2.18" "requests"
+  '';
+
+  propagatedBuildInputs = [
+    cirq-core
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # cirq's importlib hook doesn't work here
+  #pythonImportsCheck = [ "cirq_ionq" ];
+}
diff --git a/pkgs/development/python-modules/cirq-pasqal/default.nix b/pkgs/development/python-modules/cirq-pasqal/default.nix
new file mode 100644
index 00000000000..d51cd21ff1e
--- /dev/null
+++ b/pkgs/development/python-modules/cirq-pasqal/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, cirq-core
+, pythonOlder
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cirq-pasqal";
+  inherit (cirq-core) version src meta;
+
+  sourceRoot = "source/${pname}";
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "requests~=2.18" "requests"
+  '';
+
+  propagatedBuildInputs = [
+    cirq-core
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # cirq's importlib hook doesn't work here
+  #pythonImportsCheck = [ "cirq_pasqal" ];
+}
diff --git a/pkgs/development/python-modules/cirq-rigetti/default.nix b/pkgs/development/python-modules/cirq-rigetti/default.nix
new file mode 100644
index 00000000000..781ce0eaa65
--- /dev/null
+++ b/pkgs/development/python-modules/cirq-rigetti/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, cirq-core
+, pythonOlder
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+, attrs
+, certifi
+, h11
+, httpcore
+, idna
+, httpx
+, iso8601
+, pydantic
+, pyjwt
+, pyquil
+, python-dateutil
+, qcs-api-client
+, retrying
+, rfc3339
+, rfc3986
+, six
+, sniffio
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "cirq-rigetti";
+  inherit (cirq-core) version src meta;
+
+  sourceRoot = "source/${pname}";
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "attrs~=20.3.0" "attrs" \
+      --replace "h11~=0.9.0" "h11" \
+      --replace "httpcore~=0.11.1" "httpcore" \
+      --replace "httpx~=0.15.5" "httpx" \
+      --replace "idna~=2.10" "idna" \
+      --replace "requests~=2.18" "requests" \
+      --replace "pyjwt~=1.7.1" "pyjwt"
+  '';
+
+  propagatedBuildInputs = [
+    cirq-core
+    attrs
+    certifi
+    h11
+    httpcore
+    httpx
+    idna
+    iso8601
+    pydantic
+    pyjwt
+    pyquil
+    python-dateutil
+    qcs-api-client
+    retrying
+    rfc3339
+    rfc3986
+    six
+    sniffio
+    toml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # cirq's importlib hook doesn't work here
+  #pythonImportsCheck = [ "cirq_rigetti" ];
+}
diff --git a/pkgs/development/python-modules/cirq-web/default.nix b/pkgs/development/python-modules/cirq-web/default.nix
new file mode 100644
index 00000000000..551a799933f
--- /dev/null
+++ b/pkgs/development/python-modules/cirq-web/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, cirq-core
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cirq-web";
+  inherit (cirq-core) version src meta;
+
+  sourceRoot = "source/${pname}";
+
+  propagatedBuildInputs = [
+    cirq-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # cirq's importlib hook doesn't work here
+  #pythonImportsCheck = [ "cirq_web" ];
+}
diff --git a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
new file mode 100644
index 00000000000..a2f4f47500e
--- /dev/null
+++ b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, importlib-metadata
+, packageurl-python
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, requirements-parser
+, setuptools
+, toml
+, tox
+}:
+
+buildPythonPackage rec {
+  pname = "cyclonedx-python-lib";
+  version = "0.9.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "CycloneDX";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1jzklbypn927xslag2x56mb5cplvhqjcgj43hvww6qxcfr57ywam";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    importlib-metadata
+    packageurl-python
+    requirements-parser
+    setuptools
+    toml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    tox
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'setuptools = "^50.3.2"' 'setuptools = "*"' \
+      --replace 'importlib-metadata = "^4.8.1"' 'importlib-metadata = "*"'
+  '';
+
+  pythonImportsCheck = [
+    "cyclonedx"
+  ];
+
+  meta = with lib; {
+    description = "Python library for generating CycloneDX SBOMs";
+    homepage = "https://github.com/CycloneDX/cyclonedx-python-lib";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/databricks-cli/default.nix b/pkgs/development/python-modules/databricks-cli/default.nix
index e9313447ec8..6f1ee21bf6d 100644
--- a/pkgs/development/python-modules/databricks-cli/default.nix
+++ b/pkgs/development/python-modules/databricks-cli/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-cli";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4d0fbe3cb9c86d7342d45357f1db2e01011c507659f21b7a8144709cf8fa9f96";
+    sha256 = "d8338597cec0f1d6d979a5ea2018cf6a134c8f991f6054656e82f995b6c6ab82";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/deezer-python/default.nix b/pkgs/development/python-modules/deezer-python/default.nix
index bbbf813557b..bece3015953 100644
--- a/pkgs/development/python-modules/deezer-python/default.nix
+++ b/pkgs/development/python-modules/deezer-python/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "deezer-python";
-  version = "4.0.0";
+  version = "4.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "browniebroke";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eza0bu4CcKvDMEq/8y6fW5qXtEFbeB5zk0w75+3Hx4Q=";
+    sha256 = "sha256-E1xXtvAcYIi2xxaX+3yMkkvRz+Gt6Nx0JRqV1nI/Ldo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix
index 9b8ff979ffd..24639b98e64 100644
--- a/pkgs/development/python-modules/eventlet/default.nix
+++ b/pkgs/development/python-modules/eventlet/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   doCheck = !stdenv.isDarwin;
 
-  preCheck = ''
+  preCheck = lib.optionalString doCheck ''
     echo "nameserver 127.0.0.1" > resolv.conf
     export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf)
     export LD_PRELOAD=${libredirect}/lib/libredirect.so
diff --git a/pkgs/development/python-modules/faraday-plugins/default.nix b/pkgs/development/python-modules/faraday-plugins/default.nix
index 2db85b41093..1116ea046a4 100644
--- a/pkgs/development/python-modules/faraday-plugins/default.nix
+++ b/pkgs/development/python-modules/faraday-plugins/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "faraday-plugins";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "infobyte";
     repo = "faraday_plugins";
     rev = "v${version}";
-    sha256 = "sha256-TKT++56pc1+nZXkqMgIq5DFgF9H1+Q5Fuj4KidCdRh0=";
+    sha256 = "sha256-dnd6q/L3yh/9XkrWC4ETccSO6zr31wBsuumDvwemKyA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix
index bb2cbe064af..9d538214c4b 100644
--- a/pkgs/development/python-modules/fsspec/default.nix
+++ b/pkgs/development/python-modules/fsspec/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "2021.10.0";
+  version = "2021.10.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "intake";
     repo = "filesystem_spec";
     rev = version;
-    sha256 = "sha256-zvOSenK63jFC9vMLsuZT8P9NCXGdkYAB5AxvptROKes=";
+    sha256 = "sha256-LgrOHBXKs2bEgtgrdHb1OEhOeQ5Rbgr6X5YtgiqiCH0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gcsfs/default.nix b/pkgs/development/python-modules/gcsfs/default.nix
index 71945bfab41..c6e0dc18356 100644
--- a/pkgs/development/python-modules/gcsfs/default.nix
+++ b/pkgs/development/python-modules/gcsfs/default.nix
@@ -5,6 +5,7 @@
 , pythonOlder
 , google-auth
 , google-auth-oauthlib
+, google-cloud-storage
 , requests
 , decorator
 , fsspec
@@ -17,14 +18,15 @@
 
 buildPythonPackage rec {
   pname = "gcsfs";
-  version = "2021.10.0";
+  version = "2021.10.1";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "dask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-GDVIENtNpo8cg7pplOgoDMVguZmxoUUSs860WNfhmfM=";
+    sha256 = "sha256-BME40kyxZHx9+XrMCqWYp8+q6tjeYwAw/zISMNpQxDU=";
   };
 
   propagatedBuildInputs = [
@@ -34,6 +36,7 @@ buildPythonPackage rec {
     fsspec
     google-auth
     google-auth-oauthlib
+    google-cloud-storage
     requests
     ujson
   ];
@@ -49,12 +52,14 @@ buildPythonPackage rec {
     "test_GoogleCredentials_None"
   ];
 
-  pythonImportsCheck = [ "gcsfs" ];
+  pythonImportsCheck = [
+    "gcsfs"
+  ];
 
   meta = with lib; {
     description = "Convenient Filesystem interface over GCS";
     homepage = "https://github.com/dask/gcsfs";
     license = licenses.bsd3;
-    maintainers = [ maintainers.nbren12 ];
+    maintainers = with maintainers; [ nbren12 ];
   };
 }
diff --git a/pkgs/development/python-modules/greeclimate/default.nix b/pkgs/development/python-modules/greeclimate/default.nix
index 9e0086f3e20..78e02521f9e 100644
--- a/pkgs/development/python-modules/greeclimate/default.nix
+++ b/pkgs/development/python-modules/greeclimate/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "greeclimate";
-  version = "0.11.9";
+  version = "0.12.1";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "cmroche";
     repo = "greeclimate";
     rev = version;
-    sha256 = "sha256-fyIx/w+jKIscPGbK6LqjMtjy43qJtzzITwtUeNurE+o=";
+    sha256 = "sha256-HO+JBlyRFkwijR3g75P7yOabK3LhNFFYevSn/aFStUE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix
index c1fb86b951c..9031b7022d8 100644
--- a/pkgs/development/python-modules/idasen/default.nix
+++ b/pkgs/development/python-modules/idasen/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "idasen";
-  version = "0.8.0";
+  version = "0.8.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "newAM";
     repo = "idasen";
     rev = "v${version}";
-    sha256 = "09s1409ln1x6sxsls2ndqz3piapbwf880rrhmydfm6y7hqxlmzvy";
+    sha256 = "122bhbc3zqqm4x1x7a7mydvxxjrdssnqyxyqg0lbgxgn5rm8wbdd";
   };
 
   nativeBuildInputs = [
@@ -44,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python API and CLI for the ikea IDÃ…SEN desk";
     homepage = "https://github.com/newAM/idasen";
+    changelog = "https://github.com/newAM/idasen/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ newam ];
   };
diff --git a/pkgs/development/python-modules/ipykernel/4.nix b/pkgs/development/python-modules/ipykernel/4.nix
index d408c1185dc..7530b555246 100644
--- a/pkgs/development/python-modules/ipykernel/4.nix
+++ b/pkgs/development/python-modules/ipykernel/4.nix
@@ -5,7 +5,7 @@
 , isPy27
 , mock
 , ipython
-, jupyter_client
+, jupyter-client
 , pexpect
 , traitlets
 , tornado
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   checkInputs = [ nose ] ++ lib.optional isPy27 mock;
   propagatedBuildInputs = [
     ipython
-    jupyter_client
+    jupyter-client
     pexpect
     traitlets
     tornado
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index f64b793b610..1c8ce638359 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -5,7 +5,7 @@
 , fetchPypi
 , debugpy
 , ipython
-, jupyter_client
+, jupyter-client
 , tornado
 , traitlets
 , pythonOlder
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     debugpy
     ipython
-    jupyter_client
+    jupyter-client
     tornado
     traitlets
   ];
diff --git a/pkgs/development/python-modules/ipyparallel/default.nix b/pkgs/development/python-modules/ipyparallel/default.nix
index cc5957d2973..4c64fca34b7 100644
--- a/pkgs/development/python-modules/ipyparallel/default.nix
+++ b/pkgs/development/python-modules/ipyparallel/default.nix
@@ -7,7 +7,7 @@
 , decorator
 , pyzmq
 , ipython
-, jupyter_client
+, jupyter-client
 , ipykernel
 , tornado
 , isPy3k
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   buildInputs = [ nose ];
 
-  propagatedBuildInputs = [ python-dateutil ipython_genutils decorator pyzmq ipython jupyter_client ipykernel tornado
+  propagatedBuildInputs = [ python-dateutil ipython_genutils decorator pyzmq ipython jupyter-client ipykernel tornado
   ] ++ lib.optionals (!isPy3k) [ futures ];
 
   # Requires access to cluster
diff --git a/pkgs/development/python-modules/jupyter_client/5.nix b/pkgs/development/python-modules/jupyter-client/5.nix
index e4e77cf4751..0894744bf0b 100644
--- a/pkgs/development/python-modules/jupyter_client/5.nix
+++ b/pkgs/development/python-modules/jupyter-client/5.nix
@@ -11,11 +11,12 @@
 }:
 
 buildPythonPackage rec {
-  pname = "jupyter_client";
+  pname = "jupyter-client";
   version = "5.3.5";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "jupyter_client";
+    inherit version;
     sha256 = "5efdf4131124d4a0d5789101e74827022585f172d2f4b60cf6fa98e0a7511b25";
   };
 
diff --git a/pkgs/development/python-modules/jupyter_client/default.nix b/pkgs/development/python-modules/jupyter-client/default.nix
index b543008988e..b543008988e 100644
--- a/pkgs/development/python-modules/jupyter_client/default.nix
+++ b/pkgs/development/python-modules/jupyter-client/default.nix
diff --git a/pkgs/development/python-modules/jupyter_console/5.nix b/pkgs/development/python-modules/jupyter_console/5.nix
index 2072b24a378..5e2436acc73 100644
--- a/pkgs/development/python-modules/jupyter_console/5.nix
+++ b/pkgs/development/python-modules/jupyter_console/5.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , nose
-, jupyter_client
+, jupyter-client
 , ipython
 , ipykernel
 , prompt-toolkit
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   checkInputs = [ nose ];
   propagatedBuildInputs = [
-    jupyter_client
+    jupyter-client
     ipython
     ipykernel
     prompt-toolkit
diff --git a/pkgs/development/python-modules/jupyter_console/default.nix b/pkgs/development/python-modules/jupyter_console/default.nix
index 2858f008c2c..9716fbe8e5d 100644
--- a/pkgs/development/python-modules/jupyter_console/default.nix
+++ b/pkgs/development/python-modules/jupyter_console/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , nose
-, jupyter_client
+, jupyter-client
 , ipython
 , ipykernel
 , prompt-toolkit
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    jupyter_client
+    jupyter-client
     ipython
     ipykernel
     prompt-toolkit
diff --git a/pkgs/development/python-modules/jupyter_server/default.nix b/pkgs/development/python-modules/jupyter_server/default.nix
index 68c6492bfc4..85ac4967379 100644
--- a/pkgs/development/python-modules/jupyter_server/default.nix
+++ b/pkgs/development/python-modules/jupyter_server/default.nix
@@ -12,7 +12,7 @@
 , ipython_genutils
 , traitlets
 , jupyter_core
-, jupyter_client
+, jupyter-client
 , nbformat
 , nbconvert
 , send2trash
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     ipython_genutils
     traitlets
     jupyter_core
-    jupyter_client
+    jupyter-client
     nbformat
     nbconvert
     send2trash
diff --git a/pkgs/development/python-modules/jupyterlab-git/default.nix b/pkgs/development/python-modules/jupyterlab-git/default.nix
index c33798252cd..cd0ace24949 100644
--- a/pkgs/development/python-modules/jupyterlab-git/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-git/default.nix
@@ -1,40 +1,76 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
-, pythonOlder
-, notebook
-, nbdime
 , git
-, pytest
+, jupyter_server
+, jupyter-packaging
+, jupyterlab
+, nbdime
+, nbformat
+, pexpect
+, pytest-asyncio
+, pytest-tornasync
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "jupyterlab_git";
+  pname = "jupyterlab-git";
   version = "0.33.0";
-  disabled = pythonOlder "3.5";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "2370f3cefa5fef4d37dc211035cdccfe7cc4ef170df76413765a1933c5217465";
+    pname = "jupyterlab_git";
+    inherit version;
+    sha256 = "0rbl472k66asfq9n9xqd2zpw8z7yrk6ka411vhvlvvszzb7g6w13";
   };
 
-  propagatedBuildInputs = [ notebook nbdime git ];
+  nativeBuildInputs = [
+    jupyter-packaging
+  ];
 
-  # all Tests on darwin fail or are skipped due to sandbox
+  propagatedBuildInputs = [
+    jupyter_server
+    nbdime
+    git
+    nbformat
+    pexpect
+  ];
+
+  checkInputs = [
+    jupyterlab
+    pytest-asyncio
+    pytest-tornasync
+    pytestCheckHook
+  ];
+
+  # All Tests on darwin fail or are skipped due to sandbox
   doCheck = !stdenv.isDarwin;
 
-  checkInputs = [ pytest ];
+  disabledTestPaths = [
+    "jupyterlab_git/tests/test_handlers.py"
+    # PyPI doesn't ship all required files for the tests
+    "jupyterlab_git/tests/test_config.py"
+    "jupyterlab_git/tests/test_integrations.py"
+    "jupyterlab_git/tests/test_remote.py"
+    "jupyterlab_git/tests/test_settings.py"
+  ];
 
-  checkPhase = ''
-    pytest jupyterlab_git/ --ignore=jupyterlab_git/tests/test_handlers.py
-  '';
+  disabledTests = [
+    "test_Git_get_nbdiff_file"
+    "test_Git_get_nbdiff_dict"
+  ];
 
-  pythonImportsCheck = [ "jupyterlab_git" ];
+  pythonImportsCheck = [
+    "jupyterlab_git"
+  ];
 
   meta = with lib; {
-    description = "Jupyter lab extension for version control with Git.";
-    license = with licenses; [ bsd3 ];
+    description = "Jupyter lab extension for version control with Git";
     homepage = "https://github.com/jupyterlab/jupyterlab-git";
+    license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ chiroptical ];
   };
 }
diff --git a/pkgs/development/python-modules/jupytext/default.nix b/pkgs/development/python-modules/jupytext/default.nix
index 0b893f7776a..89d8c288a79 100644
--- a/pkgs/development/python-modules/jupytext/default.nix
+++ b/pkgs/development/python-modules/jupytext/default.nix
@@ -4,7 +4,7 @@
 , pythonOlder
 , GitPython
 , jupyter-packaging
-, jupyter_client
+, jupyter-client
 , jupyterlab
 , markdown-it-py
 , mdit-py-plugins
@@ -41,7 +41,7 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
     GitPython
-    jupyter_client
+    jupyter-client
     notebook
   ];
   # Tests that use a Jupyter notebook require $HOME to be writable.
diff --git a/pkgs/development/python-modules/lsassy/default.nix b/pkgs/development/python-modules/lsassy/default.nix
index 7b550b2430e..c235b5700fa 100644
--- a/pkgs/development/python-modules/lsassy/default.nix
+++ b/pkgs/development/python-modules/lsassy/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "lsassy";
-  version = "3.0.0";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "Hackndo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-75gs08QGjN5iUT4HQZZTSKi3vzNNKQvZR2JTObYNb7w=";
+    sha256 = "sha256-P68c2kQh2/3fUb1fsNujjpjvvXI5zN4WebaeR09N+lY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix
index 054a21f539a..0c3cb9635ae 100644
--- a/pkgs/development/python-modules/maestral/default.nix
+++ b/pkgs/development/python-modules/maestral/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "maestral";
-  version = "1.5.0";
+  version = "1.5.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral";
     rev = "v${version}";
-    sha256 = "sha256-OMqCwJTsg4RMK138cKDYz+iQV0HvelGTZfE4m+UkSzE=";
+    sha256 = "sha256-R6zacpJkSWppodrb0SD4lglFmGVtPaloeDMBPL+ztuU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index 8002909a9f9..df4c9b43a73 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,23 +8,27 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.18.65";
+  version = "1.19.1";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c5bdd595e088512df229863872fb91e825ab59ddd89653db5ccc37d666fa01d8";
+    sha256 = "sha256-Ov3JVCYa+3VU26VYtPYcqwSUMdDowSk8GWGt4PX/DKk=";
   };
 
   propagatedBuildInputs = [
     boto3
-  ] ++ lib.optionals (pythonOlder "3.8") [
+  ] ++ lib.optionals (pythonOlder "3.9") [
     typing-extensions
   ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "mypy_boto3_s3" ];
+
+  pythonImportsCheck = [
+    "mypy_boto3_s3"
+  ];
 
   meta = with lib; {
     description = "Type annotations for boto3";
diff --git a/pkgs/development/python-modules/nbclient/default.nix b/pkgs/development/python-modules/nbclient/default.nix
index 3b9986bae04..e47af565bdc 100644
--- a/pkgs/development/python-modules/nbclient/default.nix
+++ b/pkgs/development/python-modules/nbclient/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, pythonOlder,
-  async_generator, traitlets, nbformat, nest-asyncio, jupyter_client,
+  async_generator, traitlets, nbformat, nest-asyncio, jupyter-client,
   pytest, xmltodict, nbconvert, ipywidgets
 , doCheck ? true
 }:
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   inherit doCheck;
   checkInputs = [ pytest xmltodict nbconvert ipywidgets ];
-  propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter_client ];
+  propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ];
 
   meta = with lib; {
     homepage = "https://github.com/jupyter/nbclient";
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 1d6e988b248..a6b09cbe31e 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -17,7 +17,7 @@
 , ipykernel
 , pandocfilters
 , tornado
-, jupyter_client
+, jupyter-client
 , defusedxml
 }:
 
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     entrypoints bleach mistune jinja2 pygments traitlets testpath
-    jupyter_core nbformat ipykernel pandocfilters tornado jupyter_client
+    jupyter_core nbformat ipykernel pandocfilters tornado jupyter-client
     defusedxml
     (nbclient.override { doCheck = false; }) # avoid infinite recursion
     jupyterlab-pygments
diff --git a/pkgs/development/python-modules/nbsmoke/default.nix b/pkgs/development/python-modules/nbsmoke/default.nix
index 86c5afd8c4a..a7c5425963a 100644
--- a/pkgs/development/python-modules/nbsmoke/default.nix
+++ b/pkgs/development/python-modules/nbsmoke/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pytest
-, jupyter_client
+, jupyter-client
 , ipykernel
 , holoviews
 , nbformat
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     pytest
     holoviews
-    jupyter_client
+    jupyter-client
     ipykernel
     nbformat
     nbconvert
diff --git a/pkgs/development/python-modules/nbval/default.nix b/pkgs/development/python-modules/nbval/default.nix
index 17698649255..87544f1b089 100644
--- a/pkgs/development/python-modules/nbval/default.nix
+++ b/pkgs/development/python-modules/nbval/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , coverage
 , ipykernel
-, jupyter_client
+, jupyter-client
 , nbformat
 , pytestCheckHook
 , pytest
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     coverage
     ipykernel
-    jupyter_client
+    jupyter-client
     nbformat
     pytest
     six
diff --git a/pkgs/development/python-modules/notebook/2.nix b/pkgs/development/python-modules/notebook/2.nix
index 179fd25beff..aec27eab59a 100644
--- a/pkgs/development/python-modules/notebook/2.nix
+++ b/pkgs/development/python-modules/notebook/2.nix
@@ -12,7 +12,7 @@
 , ipython_genutils
 , traitlets
 , jupyter_core
-, jupyter_client
+, jupyter-client
 , nbformat
 , nbconvert
 , ipykernel
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     jinja2 tornado ipython_genutils traitlets jupyter_core send2trash
-    jupyter_client nbformat nbconvert ipykernel terminado requests pexpect
+    jupyter-client nbformat nbconvert ipykernel terminado requests pexpect
     prometheus-client
   ];
 
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 45be74a9e6e..d17ad5884f3 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -13,7 +13,7 @@
 , ipython_genutils
 , traitlets
 , jupyter_core
-, jupyter_client
+, jupyter-client
 , nbformat
 , nbconvert
 , ipykernel
@@ -42,7 +42,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     jinja2 tornado ipython_genutils traitlets jupyter_core send2trash
-    jupyter_client nbformat nbconvert ipykernel terminado requests pexpect
+    jupyter-client nbformat nbconvert ipykernel terminado requests pexpect
     prometheus-client argon2_cffi
   ];
 
diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix
index e8344e88f11..341ef832183 100644
--- a/pkgs/development/python-modules/paho-mqtt/default.nix
+++ b/pkgs/development/python-modules/paho-mqtt/default.nix
@@ -1,30 +1,46 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
-, stdenv, pytest-runner, pytest, mock }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, pytestCheckHook
+, mock
+}:
 
 buildPythonPackage rec {
   pname = "paho-mqtt";
-  version = "1.5.1";
+  version = "1.6.1";
 
-  # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = "paho.mqtt.python";
     rev = "v${version}";
-    sha256 = "1y537i6zxkjkmi80w5rvd18npz1jm5246i2x8p3q7ycx94i8ixs0";
+    sha256 = "sha256-9nH6xROVpmI+iTKXfwv2Ar1PAmWbEunI3HO0pZyK6Rg=";
   };
 
   postPatch = ''
-    substituteInPlace setup.py --replace "pylama" ""
-    substituteInPlace setup.cfg --replace "--pylama" ""
+    substituteInPlace setup.py \
+      --replace "pylama" "" \
+      --replace "'pytest-runner'" ""
+    substituteInPlace setup.cfg \
+      --replace "--pylama" ""
   '';
 
-  checkInputs = [ pytest-runner pytest ] ++ lib.optional (!isPy3k) mock;
+  checkInputs = [
+    pytestCheckHook
+  ] ++ lib.optional (!isPy3k) [
+    mock
+  ];
 
   doCheck = !stdenv.isDarwin;
 
+  pythonImportsCheck = [
+    "paho.mqtt"
+  ];
+
   meta = with lib; {
-    homepage = "https://eclipse.org/paho";
     description = "MQTT version 3.1.1 client class";
+    homepage = "https://eclipse.org/paho";
     license = licenses.epl10;
     maintainers = with maintainers; [ mog dotlambda ];
   };
diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix
index 5b9a6d8e968..83e4a9f6f73 100644
--- a/pkgs/development/python-modules/papermill/default.nix
+++ b/pkgs/development/python-modules/papermill/default.nix
@@ -10,7 +10,7 @@
 , nbclient
 , six
 , tqdm
-, jupyter_client
+, jupyter-client
 , requests
 , entrypoints
 , tenacity
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     nbclient
     six
     tqdm
-    jupyter_client
+    jupyter-client
     requests
     entrypoints
     tenacity
diff --git a/pkgs/development/python-modules/phik/default.nix b/pkgs/development/python-modules/phik/default.nix
index e4e427dfe7c..a7cb6e7e838 100644
--- a/pkgs/development/python-modules/phik/default.nix
+++ b/pkgs/development/python-modules/phik/default.nix
@@ -7,7 +7,7 @@
 , pytest-pylint
 , nbconvert
 , joblib
-, jupyter_client
+, jupyter-client
 , numpy
 , scipy
 , pandas
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     pytest
     pytest-pylint
     nbconvert
-    jupyter_client
+    jupyter-client
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index 3aa0fe76fff..73ac2fcc019 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -1,25 +1,28 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, pytestCheckHook
+, poetry-core
 , urllib3
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "py-synologydsm-api";
-  version = "1.0.2";
+  version = "1.0.4";
+  format = "pyproject";
 
-  src = fetchPypi {
-    pname = "synologydsm-api";
-    inherit version;
-    sha256 = "42ea453ef5734dd5b8163e3d18ef309658f0298411720e6b834bededd28c5d53";
+  src = fetchFromGitHub {
+    owner = "mib1185";
+    repo = "synologydsm-api";
+    rev = "v${version}";
+    sha256 = "1f9fbcp6dbh1c7q1cpppwggnw4m89w14cjdgl64f1bzv72rggpn1";
   };
 
+  nativeBuildInputs = [ poetry-core ];
   propagatedBuildInputs = [ urllib3 requests ];
-
-  pythonImportsCheck = [
-    "synology_dsm"
-  ];
+  pythonImportsCheck = [ "synology_dsm" ];
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     description = "Python API for Synology DSM";
diff --git a/pkgs/development/python-modules/pyatome/default.nix b/pkgs/development/python-modules/pyatome/default.nix
new file mode 100644
index 00000000000..7db5b4fb15e
--- /dev/null
+++ b/pkgs/development/python-modules/pyatome/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, simplejson
+, fake-useragent
+}:
+
+buildPythonPackage rec {
+  pname = "pyatome";
+  version = "0.1.1";
+
+  src = fetchPypi {
+    pname = "pyAtome";
+    inherit version;
+    sha256 = "7282e7ec258c69d4ddf2a5754ff07680a1ac92f9bfb478d601fd9e944fccd834";
+  };
+
+  propagatedBuildInputs = [ requests simplejson fake-useragent ];
+
+  # no tests  in PyPI tarballs
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyatome"
+  ];
+
+  meta = with lib; {
+    description = "Python module to get energy consumption data from Atome";
+    homepage = "https://github.com/baqs/pyAtome";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ uvnikita ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index 54219e75735..44c33a2d2e2 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "84";
+  version = "85";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Kane610";
     repo = "deconz";
     rev = "v${version}";
-    sha256 = "sha256-SVWz6r5UiAS7gCpkgN2Swy8dAon26XY9JZucV/eE0t8=";
+    sha256 = "sha256-6GTMG3BfHcfLMoyabFbhsJFVDHmEICuzf32603+jyZ4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix
index be947f4c2ac..636ea1658ff 100644
--- a/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/pkgs/development/python-modules/pyhomematic/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.75";
+  version = "0.1.76";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "36b76d7269273888f61db085f3fb47e5516c4d1bd15b2b39a54305cdb6a9a8b8";
+    sha256 = "ea2496c920451ded4561e3758c8f77157fc00c40d1f75d8163e399fd3e0d795a";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pymazda/default.nix b/pkgs/development/python-modules/pymazda/default.nix
index 3065fbc1458..179202da8df 100644
--- a/pkgs/development/python-modules/pymazda/default.nix
+++ b/pkgs/development/python-modules/pymazda/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pymazda";
-  version = "0.2.1";
+  version = "0.2.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Dg7oVNEjKZB6zksm1We2JGBW+cGkOOQOP3bS4CNL4q8=";
+    sha256 = "sha256-nngYdoVY3rXfszoCpUWFtJ0U0Rjczxix/wJDOZD+2O4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyquil/default.nix b/pkgs/development/python-modules/pyquil/default.nix
new file mode 100644
index 00000000000..c9f71b6414d
--- /dev/null
+++ b/pkgs/development/python-modules/pyquil/default.nix
@@ -0,0 +1,93 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, importlib-metadata
+, ipython
+, lark-parser
+, networkx
+, numpy
+, poetry-core
+, pytest-asyncio
+, pytest-freezegun
+, pytest-httpx
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, qcs-api-client
+, retry
+, rpcq
+, scipy
+}:
+
+buildPythonPackage rec {
+  pname = "pyquil";
+  version = "3.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "rigetti";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0070pslz6vvyavm5pm27q2bng2mfmkb41v5czzckz7m8db3b1r2x";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    lark-parser
+    networkx
+    numpy
+    qcs-api-client
+    retry
+    rpcq
+    scipy
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-freezegun
+    pytest-httpx
+    pytest-mock
+    pytestCheckHook
+    ipython
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'lark = "^0.11.1"' 'lark-parser = ">=0.11.1"'
+  '';
+
+  disabledTestPaths = [
+    # Tests require network access
+    "test/e2e/"
+    "test/unit/test_api.py"
+    "test/unit/test_operator_estimation.py"
+    "test/unit/test_wavefunction_simulator.py"
+    "test/unit/test_compatibility_v2_operator_estimation.py"
+    "test/unit/test_compatibility_v2_quantum_computer.py"
+    "test/unit/test_compatibility_v2_qvm.py"
+    "test/unit/test_quantum_computer.py"
+    "test/unit/test_qvm.py"
+    "test/unit/test_reference_wavefunction.py"
+  ];
+
+  disabledTests = [
+    "test_compile_with_quilt_calibrations"
+    "test_sets_timeout_on_requests"
+  ];
+
+  pythonImportsCheck = [ "pyquil" ];
+
+  meta = with lib; {
+    description = "Python library for creating Quantum Instruction Language (Quil) programs";
+    homepage = "https://github.com/rigetti/pyquil";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysmart-smartx/default.nix b/pkgs/development/python-modules/pysmart-smartx/default.nix
deleted file mode 100644
index 66b789668a0..00000000000
--- a/pkgs/development/python-modules/pysmart-smartx/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, isPy3k
-, future
-, pytestCheckHook
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "pysmart-smartx";
-  version = "0.3.10";
-
-  src = fetchFromGitHub {
-    owner = "smartxworks";
-    repo = "pySMART";
-    rev = "v${version}";
-    sha256 = "1irl4nlgz3ds3aikraa9928gzn6hz8chfh7jnpmq2q7d2vqbdrjs";
-  };
-
-  propagatedBuildInputs = [ future ];
-
-  # tests require contextlib.nested
-  doCheck = !isPy3k;
-
-  checkInputs = [ pytestCheckHook mock ];
-
-  pythonImportsCheck = [ "pySMART" ];
-
-  meta = with lib; {
-    description = "It's a fork of pySMART with lots of bug fix and enhances";
-    homepage = "https://github.com/smartxworks/pySMART";
-    maintainers = with maintainers; [ rhoriguchi ];
-    license = licenses.gpl2Only;
-  };
-}
diff --git a/pkgs/development/python-modules/pysmart/default.nix b/pkgs/development/python-modules/pysmart/default.nix
new file mode 100644
index 00000000000..3bd5fa50a13
--- /dev/null
+++ b/pkgs/development/python-modules/pysmart/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, smartmontools
+, humanfriendly
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pysmart";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "truenas";
+    repo = "py-SMART";
+    rev = "v${version}";
+    sha256 = "sha256-e46ALiYg0Db/gOzqLmVc1vi9ObhfxzqwfQk9/9pz+r0=";
+  };
+
+  postPatch = ''
+    substituteInPlace pySMART/utils.py \
+      --replace "which('smartctl')" '"${smartmontools}/bin/smartctl"'
+  '';
+
+  propagatedBuildInputs = [ humanfriendly ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "pySMART" ];
+
+  meta = with lib; {
+    description = "Wrapper for smartctl (smartmontools)";
+    homepage = "https://github.com/truenas/py-SMART";
+    maintainers = with maintainers; [ nyanloutre ];
+    license = licenses.lgpl21Only;
+  };
+}
diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix
new file mode 100644
index 00000000000..1e5e254e4a8
--- /dev/null
+++ b/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, attrs
+, buildPythonPackage
+, fetchPypi
+, httpx
+, iso8601
+, pydantic
+, pyjwt
+, pytest-asyncio
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, respx
+, retrying
+, rfc3339
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "qcs-api-client";
+  version = "0.8.0";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1c0g3aa2pk4zd40banap2j797080qivd42q7imla2yvv6cvq24b8";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    httpx
+    iso8601
+    pydantic
+    pyjwt
+    python-dateutil
+    retrying
+    rfc3339
+    toml
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    respx
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "attrs>=20.1.0,<21.0.0" "attrs" \
+      --replace "httpx>=0.15.0,<0.16.0" "httpx" \
+      --replace "pyjwt>=1.7.1,<2.0.0" "pyjwt"
+  '';
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "qcs_api_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing the Rigetti QCS API";
+    homepage = "https://pypi.org/project/qcs-api-client/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/qtconsole/default.nix b/pkgs/development/python-modules/qtconsole/default.nix
index 5e63001013a..9d6a483071b 100644
--- a/pkgs/development/python-modules/qtconsole/default.nix
+++ b/pkgs/development/python-modules/qtconsole/default.nix
@@ -6,7 +6,7 @@
 , mock
 , traitlets
 , jupyter_core
-, jupyter_client
+, jupyter-client
 , pygments
 , ipykernel
 , pyqt5
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ nose ] ++ lib.optionals isPy27 [mock];
-  propagatedBuildInputs = [traitlets jupyter_core jupyter_client pygments ipykernel pyqt5 qtpy];
+  propagatedBuildInputs = [traitlets jupyter_core jupyter-client pygments ipykernel pyqt5 qtpy];
 
   # : cannot connect to X server
   doCheck = false;
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 3f26fa4a15d..eb9f7f08454 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "1.7.1";
+  version = "1.8.0";
 
   disabled = pythonOlder "3.5";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     repo = "RapidFuzz";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-41Ga8BeqVMC9XI+R+ajonUcQ5R3wtizJFzHy9Rqm+DM=";
+    sha256 = "sha256-rInlaLWpPKmjihEp0iacg2nASxURGKxmJHH5jr+crM4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rfc3339/default.nix b/pkgs/development/python-modules/rfc3339/default.nix
new file mode 100644
index 00000000000..4b1355e511a
--- /dev/null
+++ b/pkgs/development/python-modules/rfc3339/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "rfc3339";
+  version = "6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1l6l1bh91i2r4dwcm86hlkx8cbh1xwgsk8hb4jvr5y5fxxg3ng6m";
+  };
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "rfc3339" ];
+
+  meta = with lib; {
+    description = "Format dates according to the RFC 3339";
+    homepage = "https://hg.sr.ht/~henryprecheur/rfc3339";
+    license = licenses.isc;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rpcq/default.nix b/pkgs/development/python-modules/rpcq/default.nix
new file mode 100644
index 00000000000..671038c8b46
--- /dev/null
+++ b/pkgs/development/python-modules/rpcq/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, msgpack
+, numpy
+, pytest-asyncio
+, pytestCheckHook
+, python-rapidjson
+, pythonOlder
+, pyzmq
+, ruamel-yaml
+}:
+
+buildPythonPackage rec {
+  pname = "rpcq";
+  version = "3.9.2";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "rigetti";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vvf6y7459f8aamhkcxx36ajiai143s2vwg751x0dl0lx7hp3yn5";
+  };
+
+  propagatedBuildInputs = [
+    msgpack
+    python-rapidjson
+    pyzmq
+    ruamel-yaml
+  ];
+
+  checkInputs = [
+    numpy
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "msgpack>=0.6,<1.0" "msgpack"
+  '';
+
+  pythonImportsCheck = [ "rpcq" ];
+
+  meta = with lib; {
+    description = "The RPC framework and message specification for rigetti Quantum Cloud services";
+    homepage = "https://github.com/rigetti/rpcq";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rzpipe/default.nix b/pkgs/development/python-modules/rzpipe/default.nix
index 8ff52a289cd..91c25f9a3b3 100644
--- a/pkgs/development/python-modules/rzpipe/default.nix
+++ b/pkgs/development/python-modules/rzpipe/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "rzpipe";
-  version = "0.1.1";
+  version = "0.1.2";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13z88c4zjy10a1sc98ba25sz200v6w2wprbq4iknm4sy2fmrsydh";
+    sha256 = "sha256-va56xSWDIVtZ88QUzPfk8cCr28+5nZCNcSJMiVj3SZU=";
   };
 
   # No native rz_core library
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
index 2769e96a40a..2ed6361b256 100644
--- a/pkgs/development/python-modules/s3fs/default.nix
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2021.10.0";
+  version = "2021.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mSdMmP5b6pu954GQxBrb0bEghyLLKtSGd6aPhHPwOV0=";
+    sha256 = "sha256-STriUFPlJiVSokep8cOiyPvNIPWQf85jp0kSa6WP4F4=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index d7678941597..b7349caa233 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
   # `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 = ''
+  preCheck = lib.optionalString doCheck ''
     export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols
     export LD_PRELOAD=${libredirect}/lib/libredirect.so
   '';
diff --git a/pkgs/development/python-modules/smbprotocol/default.nix b/pkgs/development/python-modules/smbprotocol/default.nix
index 05825c6c964..f1ca7cff6b3 100644
--- a/pkgs/development/python-modules/smbprotocol/default.nix
+++ b/pkgs/development/python-modules/smbprotocol/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "smbprotocol";
-  version = "1.7.0";
+  version = "1.8.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "jborean93";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4nhgt9/LgoGucNehZkgs4XcneCq+fihWQHtwMbuSp2s=";
+    sha256 = "sha256-NY2eE6hacRd0v8Ij0P13Zw6SRiUNhhd0kMhsg5CRTeM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sounddevice/default.nix b/pkgs/development/python-modules/sounddevice/default.nix
index 3cb0e4b6631..036f91614b1 100644
--- a/pkgs/development/python-modules/sounddevice/default.nix
+++ b/pkgs/development/python-modules/sounddevice/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "sounddevice";
-  version = "0.4.2";
+  version = "0.4.3";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c9b07cff59c837d258002ed806ee134ed367ef11042bd7d283d6ce407bf889c";
+    sha256 = "f1667a7467b65fac4c4ebf668b4e9698eb7333fc3d32bc3c7ec9839ea7cb6c20";
   };
 
   propagatedBuildInputs = [ cffi numpy portaudio ];
diff --git a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
index 44772172dff..94799dc6a4b 100644
--- a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace sphinxcontrib/tikz.py \
-      --replace "config.latex_engine" "${texLive}/bin/pdflatex" \
+      --replace "config.latex_engine" "'${texLive}/bin/pdflatex'" \
       --replace "system(['pdf2svg'" "system(['${pdf2svg}/bin/pdf2svg'"
   '';
 
@@ -27,6 +27,8 @@ buildPythonPackage rec {
   # no tests in package
   doCheck = false;
 
+  pythonImportsCheck = [ "sphinxcontrib.tikz" ];
+
   meta = with lib; {
     description = "TikZ extension for Sphinx";
     homepage = "https://bitbucket.org/philexander/tikz";
diff --git a/pkgs/development/python-modules/spyder-kernels/default.nix b/pkgs/development/python-modules/spyder-kernels/default.nix
index d19a52804b7..047457534c2 100644
--- a/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, cloudpickle, ipykernel, wurlitzer,
-  jupyter_client, pyzmq }:
+  jupyter-client, pyzmq }:
 
 buildPythonPackage rec {
   pname = "spyder-kernels";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     cloudpickle
     ipykernel
     wurlitzer
-    jupyter_client
+    jupyter-client
     pyzmq
   ];
 
diff --git a/pkgs/development/python-modules/unicode-slugify/default.nix b/pkgs/development/python-modules/unicode-slugify/default.nix
index a0574f948f0..102af56618b 100644
--- a/pkgs/development/python-modules/unicode-slugify/default.nix
+++ b/pkgs/development/python-modules/unicode-slugify/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "unicode-slugify";
-  version = "0.1.3";
+  version = "0.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l7nphfdq9rgiczbl8n3mra9gx7pxap0xz540pkyz034zbz3mkrl";
+    sha256 = "25f424258317e4cb41093e2953374b3af1f23097297664731cdb3ae46f6bd6c3";
   };
 
   propagatedBuildInputs = [ six unidecode ];
diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix
index 17ed9f4eb02..d829abeae0f 100644
--- a/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/pkgs/development/python-modules/velbus-aio/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2021.10.2";
+  version = "2021.10.6";
 
   disabled = pythonOlder "3.7";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zamFDlahHQGo5g0dlGF6uWG53K/IkEjP0dA8cWYrhtI=";
+    sha256 = "sha256-98V+skgLCMBt6cnEa9kNM5rOm9q6+QYf3TJ9P8eroM8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix
index fd52f141ff8..666fcd8dbb8 100644
--- a/pkgs/development/python-modules/vispy/default.nix
+++ b/pkgs/development/python-modules/vispy/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "vispy";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "41a6836aa78462370fe15efaade94cbe3344586412f8d7f12689c49c299ff41b";
+    sha256 = "75e2923792b937fbb0eb817716430613b6a2b37331cffb13bf623913a76b1da1";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/xmlschema/default.nix b/pkgs/development/python-modules/xmlschema/default.nix
index 0232092c487..19667d833fa 100644
--- a/pkgs/development/python-modules/xmlschema/default.nix
+++ b/pkgs/development/python-modules/xmlschema/default.nix
@@ -8,7 +8,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.8.0";
+  version = "1.8.1";
   pname = "xmlschema";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "v${version}";
-    sha256 = "1k41zzffg9srhgnvi1s1akaqpwz2z003xbvig8axwlkm7z0d4xiz";
+    sha256 = "0vs4d9bnms4krxvplzf2p69g673pdw31z8p5alzj3pqnaw83rg1z";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index 7a7a005efed..917fbf34d0c 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.1.63";
+  version = "0.1.64";
 
   # GitHub source releases aren't tagged
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k1saz0wknxv31vpqcfyi35mzi68c75hlqpw8lf83xqw9zllydhi";
+    sha256 = "bde7ff6c04b7179881c15753460c600c4bd877dc9f33cdc98da68e7e1ebbc5a2";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 38511dd3b82..f713a4e5f9b 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -158,6 +158,38 @@ let
     in
       builtins.listToAttrs nameValuePairs;
 
+  # Overrides package definition requiring a home directory to install or to
+  # run tests.
+  # For example,
+  #
+  # overrideRequireHome [
+  #   "foo"
+  # ] old
+  #
+  # results in
+  #
+  # {
+  #   foo = old.foo.overrideAttrs (oldAttrs:  {
+  #     preInstall = ''
+  #       ${oldAttrs.preInstall or ""}
+  #       export HOME=$(mktemp -d)
+  #     '';
+  #   });
+  # }
+  overrideRequireHome = packageNames: old:
+    let
+      nameValuePairs = map (name: {
+        inherit name;
+        value = (builtins.getAttr name old).overrideAttrs (oldAttrs: {
+          preInstall = ''
+            ${oldAttrs.preInstall or ""}
+            export HOME=$(mktemp -d)
+          '';
+        });
+      }) packageNames;
+    in
+      builtins.listToAttrs nameValuePairs;
+
   # Overrides package definition to skip check.
   # For example,
   #
@@ -211,13 +243,14 @@ let
   defaultOverrides = old: new:
     let old0 = old; in
     let
-      old1 = old0 // (overrideRequireX packagesRequireingX old0);
-      old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1);
-      old3 = old2 // (overrideRDepends packagesWithRDepends old2);
-      old4 = old3 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old3);
-      old5 = old4 // (overrideBuildInputs packagesWithBuildInputs old4);
-      old6 = old5 // (overrideBroken brokenPackages old5);
-      old = old6;
+      old1 = old0 // (overrideRequireX packagesRequiringX old0);
+      old2 = old1 // (overrideRequireHome packagesRequiringHome old1);
+      old3 = old2 // (overrideSkipCheck packagesToSkipCheck old2);
+      old4 = old3 // (overrideRDepends packagesWithRDepends old3);
+      old5 = old4 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old4);
+      old6 = old5 // (overrideBuildInputs packagesWithBuildInputs old5);
+      old7 = old6 // (overrideBroken brokenPackages old6);
+      old = old7;
     in old // (otherOverrides old new);
 
   # Recursive override pattern.
@@ -243,14 +276,14 @@ let
     adimpro = [ pkgs.imagemagick ];
     animation = [ pkgs.which ];
     audio = [ pkgs.portaudio ];
-    BayesSAE = [ pkgs.gsl_1 ];
-    BayesVarSel = [ pkgs.gsl_1 ];
+    BayesSAE = [ pkgs.gsl ];
+    BayesVarSel = [ pkgs.gsl ];
     BayesXsrc = with pkgs; [ readline.dev ncurses ];
     bigGP = [ pkgs.mpi ];
     bio3d = [ pkgs.zlib ];
     BiocCheck = [ pkgs.which ];
     Biostrings = [ pkgs.zlib ];
-    bnpmr = [ pkgs.gsl_1 ];
+    bnpmr = [ pkgs.gsl ];
     cairoDevice = [ pkgs.gtk2.dev ];
     Cairo = with pkgs; [ libtiff libjpeg cairo.dev x11 fontconfig.lib ];
     Cardinal = [ pkgs.which ];
@@ -259,37 +292,39 @@ let
     curl = [ pkgs.curl.dev ];
     data_table = [ pkgs.zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
     devEMF = with pkgs; [ xorg.libXft.dev x11 ];
-    diversitree = with pkgs; [ gsl_1 fftw ];
+    diversitree = with pkgs; [ gsl fftw ];
     exactextractr = [ pkgs.geos ];
     EMCluster = [ pkgs.lapack ];
     fftw = [ pkgs.fftw.dev ];
     fftwtools = with pkgs; [ fftw.dev pkg-config ];
     Formula = [ pkgs.gmp ];
     gdtools = with pkgs; [ cairo.dev fontconfig.lib freetype.dev ];
+    ggiraph = with pkgs; [ pkgs.libpng.dev ];
     git2r = with pkgs; [ zlib.dev openssl.dev libssh2.dev libgit2 pkg-config ];
-    GLAD = [ pkgs.gsl_1 ];
+    GLAD = [ pkgs.gsl ];
     glpkAPI = with pkgs; [ gmp glpk ];
     gmp = [ pkgs.gmp.dev ];
-    graphscan = [ pkgs.gsl_1 ];
-    gsl = [ pkgs.gsl_1 ];
+    graphscan = [ pkgs.gsl ];
+    gsl = [ pkgs.gsl ];
     gert = [ pkgs.libgit2 ];
     haven = with pkgs; [ libiconv zlib.dev ];
     h5vc = [ pkgs.zlib.dev ];
-    HiCseg = [ pkgs.gsl_1 ];
+    HiCseg = [ pkgs.gsl ];
     imager = [ pkgs.x11 ];
-    iBMQ = [ pkgs.gsl_1 ];
+    iBMQ = [ pkgs.gsl ];
     igraph = with pkgs; [ gmp libxml2.dev ];
     JavaGD = [ pkgs.jdk ];
     jpeg = [ pkgs.libjpeg.dev ];
     jqr = [ pkgs.jq.dev ];
-    KFKSDS = [ pkgs.gsl_1 ];
+    KFKSDS = [ pkgs.gsl ];
     kza = [ pkgs.fftw.dev ];
     lpsymphony = with pkgs; [ pkg-config gfortran gettext ];
     lwgeom = with pkgs; [ proj geos gdal ];
     magick = [ pkgs.imagemagick.dev ];
     ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
-    mvabund = [ pkgs.gsl_1 ];
+    mvabund = [ pkgs.gsl ];
     mwaved = [ pkgs.fftw.dev ];
+    mzR = with pkgs; [ zlib boost159.dev netcdf ];
     ncdf4 = [ pkgs.netcdf ];
     nloptr = with pkgs; [ nlopt pkg-config ];
     n1qn1 = [ pkgs.gfortran ];
@@ -311,8 +346,8 @@ let
     readxl = [ pkgs.libiconv ];
     rcdd = [ pkgs.gmp.dev ];
     RcppCNPy = [ pkgs.zlib.dev ];
-    RcppGSL = [ pkgs.gsl_1 ];
-    RcppZiggurat = [ pkgs.gsl_1 ];
+    RcppGSL = [ pkgs.gsl ];
+    RcppZiggurat = [ pkgs.gsl ];
     reprex = [ pkgs.which ];
     rgdal = with pkgs; [ proj.dev gdal ];
     rgeos = [ pkgs.geos ];
@@ -324,7 +359,7 @@ let
     Rhtslib = with pkgs; [ zlib.dev automake autoconf bzip2.dev xz.dev curl.dev ];
     rjags = [ pkgs.jags ];
     rJava = with pkgs; [ zlib bzip2.dev icu xz.dev pcre.dev jdk libzip ];
-    Rlibeemd = [ pkgs.gsl_1 ];
+    Rlibeemd = [ pkgs.gsl ];
     rmatio = [ pkgs.zlib.dev ];
     Rmpfr = with pkgs; [ gmp mpfr.dev ];
     Rmpi = [ pkgs.mpi ];
@@ -352,12 +387,12 @@ let
     sf = with pkgs; [ gdal proj geos ];
     terra = with pkgs; [ gdal proj geos ];
     showtext = with pkgs; [ zlib libpng icu freetype.dev ];
-    simplexreg = [ pkgs.gsl_1 ];
+    simplexreg = [ pkgs.gsl ];
     spate = [ pkgs.fftw.dev ];
     ssanv = [ pkgs.proj ];
-    stsm = [ pkgs.gsl_1 ];
+    stsm = [ pkgs.gsl ];
     stringi = [ pkgs.icu.dev ];
-    survSNP = [ pkgs.gsl_1 ];
+    survSNP = [ pkgs.gsl ];
     svglite = [ pkgs.libpng.dev ];
     sysfonts = with pkgs; [ zlib libpng freetype.dev ];
     systemfonts = with pkgs; [ fontconfig.dev freetype.dev ];
@@ -365,7 +400,7 @@ let
     tesseract = with pkgs; [ tesseract leptonica ];
     tiff = [ pkgs.libtiff.dev ];
     tkrplot = with pkgs; [ xorg.libX11 tk.dev ];
-    topicmodels = [ pkgs.gsl_1 ];
+    topicmodels = [ pkgs.gsl ];
     udunits2 = with pkgs; [ udunits expat ];
     units = [ pkgs.udunits ];
     V8 = [ pkgs.v8 ];
@@ -444,7 +479,6 @@ let
     tikzDevice = with pkgs; [ which texlive.combined.scheme-medium ];
     gridGraphics = [ pkgs.which ];
     adimpro = with pkgs; [ which xorg.xdpyinfo ];
-    mzR = [ pkgs.netcdf ];
     cluster = [ pkgs.libiconv ];
     KernSmooth = [ pkgs.libiconv ];
     nlme = [ pkgs.libiconv ];
@@ -478,9 +512,12 @@ let
     Rbowtie = with pkgs; [ zlib.dev ];
     gaston = with pkgs; [ zlib.dev ];
     csaw = with pkgs; [ zlib.dev curl ];
+    DirichletMultinomial = with pkgs; [ gsl ];
+    DiffBind = with pkgs; [ zlib.dev ];
+    CNEr = with pkgs; [ zlib ];
   };
 
-  packagesRequireingX = [
+  packagesRequiringX = [
     "accrual"
     "ade4TkGUI"
     "analogue"
@@ -670,6 +707,27 @@ let
     "x12GUI"
   ];
 
+  packagesRequiringHome = [
+    "aroma_affymetrix"
+    "aroma_cn"
+    "aroma_core"
+    "csodata"
+    "DiceView"
+    "MSnID"
+    "OmnipathR"
+    "precommit"
+    "PSCBS"
+    "repmis"
+    "R_cache"
+    "R_filesets"
+    "RKorAPClient"
+    "R_rsp"
+    "scholar"
+    "stepR"
+    "styler"
+    "TreeTools"
+  ];
+
   packagesToSkipCheck = [
     "Rmpi"     # tries to run MPI processes
     "pbdMPI"   # tries to run MPI processes
@@ -678,6 +736,11 @@ let
 
   # Packages which cannot be installed due to lack of dependencies or other reasons.
   brokenPackages = [
+    "av"
+    "rgl"
+    "NetLogoR"
+    "proj4"
+    "x13binary"
   ];
 
   otherOverrides = old: new: {
@@ -821,10 +884,6 @@ let
       PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
     });
 
-    EMCluster = old.EMCluster.overrideDerivation (attrs: {
-      patches = [ ./patches/EMCluster.patch ];
-    });
-
     spMC = old.spMC.overrideDerivation (attrs: {
       patches = [ ./patches/spMC.patch ];
     });
@@ -972,12 +1031,6 @@ let
       '';
     });
 
-    R_cache = old.R_cache.overrideDerivation (attrs: {
-      preConfigure = ''
-        export R_CACHE_ROOTPATH=$TMP
-      '';
-    });
-
     lpsymphony = old.lpsymphony.overrideDerivation (attrs: {
       preConfigure = ''
         patchShebangs configure
@@ -992,12 +1045,37 @@ let
       buildInputs = [ libsodium.dev ] ++ attrs.buildInputs;
     });
 
+    keyring = old.keyring.overrideDerivation (attrs: {
+      preConfigure = ''
+        patchShebangs configure
+      '';
+    });
+
     Rhtslib = old.Rhtslib.overrideDerivation (attrs: {
       preConfigure = ''
         substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl"
       '';
     });
 
+    MatchIt = old.MatchIt.overrideDerivation (attrs: {
+      patches = [ (pkgs.fetchpatch {
+        url = "https://github.com/kosukeimai/MatchIt/commit/8c15a1afa16b74eb04a45e7e46f8aca64ed89bcb.patch";
+        sha256 = "sha256-3UI60n49xuX6LniHpTLOUSsHCEAQ7f1FMBVH0jNlW60=";
+      }) ];
+    });
+
+    h2o = old.h2o.overrideDerivation (attrs: {
+      preConfigure = ''
+        # prevent download of jar file during install and postpone to first use
+        sed -i '/downloadJar()/d' R/zzz.R
+
+        # during runtime the package directory is not writable as it's in the
+        # nix store, so store the jar in the user's cache directory instead
+        substituteInPlace R/connection.R --replace \
+          'dest_file <- file.path(dest_folder, "h2o.jar")' \
+          'dest_file <- file.path("~/.cache/", "h2o.jar")'
+      '';
+    });
   };
 in
   self
diff --git a/pkgs/development/r-modules/patches/EMCluster.patch b/pkgs/development/r-modules/patches/EMCluster.patch
deleted file mode 100644
index afc9de3a95a..00000000000
--- a/pkgs/development/r-modules/patches/EMCluster.patch
+++ /dev/null
@@ -1,6 +0,0 @@
-diff -ru -x '*~' EMCluster_orig/src/Makevars EMCluster/src/Makevars
---- EMCluster_orig/src/Makevars	2013-07-05 02:43:25.000000000 +0900
-+++ EMCluster/src/Makevars	2014-10-25 18:10:19.190992120 +0900
-@@ -1 +1 @@
--PKG_LIBS = $(FLIBS) $(BLAS_LIBS) $(LAPACK_LIBS)
-+PKG_LIBS = $(FLIBS) $(LAPACK_LIBS) $(BLAS_LIBS)
diff --git a/pkgs/development/ruby-modules/with-packages/test.nix b/pkgs/development/ruby-modules/with-packages/test.nix
index bcd9a787f7d..ca2934b6f61 100644
--- a/pkgs/development/ruby-modules/with-packages/test.nix
+++ b/pkgs/development/ruby-modules/with-packages/test.nix
@@ -6,7 +6,6 @@ let
   stdenv = pkgs.stdenv;
 
   rubyVersions = with pkgs; [
-    ruby_2_6
     ruby_2_7
   ];
 
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 8750b61c48f..04b8095bfc4 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -1,75 +1,124 @@
-{ pkgs, lib, python3, fetchFromGitHub }:
-
+{ lib
+, fetchFromGitHub
+, python3
+}:
 let
-  pname = "checkov";
-  version = "1.0.674";
-  src = fetchFromGitHub {
-    owner = "bridgecrewio";
-    repo = pname;
-    rev = version;
-    sha256 = "/S8ic5ZVxA2vd/rjRPX5gslbmnULL7BSx34vgWIsheQ=";
-  };
+  py = python3.override {
+    packageOverrides = self: super: {
 
-  disabled = pkgs.python3Packages.pythonOlder "3.7";
+      boto3 = super.boto3.overridePythonAttrs (oldAttrs: rec {
+        version = "1.17.112";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1byqrffbgpp1mq62gnn3w3hnm54dfar0cwgvmkl7mrgbwz5xmdh8";
+        };
+      });
 
-  # CheckOV only work with `dpath 1.5.0`
-  dpath = pkgs.python3Packages.buildPythonPackage rec {
-    pname = "dpath";
-    version = "1.5.0";
+      botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
+        version = "1.20.112";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1ksdjh3mwbzgqgfj58vyrhann23b9gqam8id2svmpdmmdq5vgffh";
+        };
+      });
 
-    src = pkgs.python3Packages.fetchPypi {
-      inherit pname version;
-      sha256 = "SWYVtOqEI20Y4NKGEi3nSGmmDg+H4sfsZ4f/KGxINhs=";
-    };
+      s3transfer = super.s3transfer.overridePythonAttrs (oldAttrs: rec {
+        version = "0.4.2";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1cp169vz9rvng7dwbn33fgdbl3b014zpsdqsnfxxw7jm2r5jy0nb";
+        };
+      });
+
+      dpath = super.dpath.overridePythonAttrs (oldAttrs: rec {
+        version = "1.5.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "06rn91n2izw7czncgql71w7acsa8wwni51njw0c6s8w4xas1arj9";
+        };
+        doCheck = false;
+      });
 
-    doCheck = false;
+    };
   };
 in
-python3.pkgs.buildPythonPackage rec {
-  inherit pname version disabled src;
+with py.pkgs;
+
+buildPythonApplication rec {
+  pname = "checkov";
+  version = "2.0.505";
 
-  nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
+  disabled = python3.pythonOlder "3.7";
 
-  propagatedBuildInputs = with python3.pkgs; [
-    pytest
-    coverage
-    bandit
+  src = fetchFromGitHub {
+    owner = "bridgecrewio";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-5udTx+aAC72R8wfn+lrWsZXgAyj/eN5nn/ly1JIkmCU=";
+  };
+
+  nativeBuildInputs = with py.pkgs; [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = with py.pkgs; [
     bc-python-hcl2
-    deep_merge
-    tabulate
+    boto3
+    cachetools
+    cloudsplaining
     colorama
-    termcolor
-    junit-xml
+    configargparse
+    cyclonedx-python-lib
+    deep_merge
+    detect-secrets
+    docker
+    dockerfile-parse
     dpath
-    pyyaml
-    boto3
     GitPython
-    six
     jmespath
+    junit-xml
+    networkx
+    packaging
+    policyuniverse
+    pyyaml
+    semantic-version
+    tabulate
+    termcolor
     tqdm
+    typing-extensions
     update_checker
-    semantic-version
-    packaging
   ];
 
-  # Both of these tests are pulling from external srouces (https://github.com/bridgecrewio/checkov/blob/f03a4204d291cf47e3753a02a9b8c8d805bbd1be/.github/workflows/build.yml)
-  preCheck = ''
-    rm -rf integration_tests/*
-    rm -rf tests/terraform/*
-  '';
+  checkInputs = with py.pkgs; [
+    jsonschema
+    pytest-xdist
+    pytestCheckHook
+  ];
 
-  # Wrap the executable so that the python packages are available
-  # it's just a shebang script which calls `python -m checkov "$@"`
-  postFixup = ''
-    wrapProgram $out/bin/checkov \
-      --set PYTHONPATH $PYTHONPATH
-  '';
+  disabledTests = [
+    # No API key available
+    "api_key"
+    # Requires network access
+    "TestSarifReport"
+  ];
+
+  disabledTestPaths = [
+    # Tests are pulling from external sources
+    # https://github.com/bridgecrewio/checkov/blob/f03a4204d291cf47e3753a02a9b8c8d805bbd1be/.github/workflows/build.yml
+    "integration_tests/"
+    "tests/terraform/"
+  ];
+
+  pythonImportsCheck = [
+    "checkov"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/bridgecrewio/checkov";
     description = "Static code analysis tool for infrastructure-as-code";
+    homepage = "https://github.com/bridgecrewio/checkov";
     longDescription = ''
-    Prevent cloud misconfigurations during build-time for Terraform, Cloudformation, Kubernetes, Serverless framework and other infrastructure-as-code-languages with Checkov by Bridgecrew.
+      Prevent cloud misconfigurations during build-time for Terraform, Cloudformation,
+      Kubernetes, Serverless framework and other infrastructure-as-code-languages.
     '';
     license = licenses.asl20;
     maintainers = with maintainers; [ anhdle14 ];
diff --git a/pkgs/development/tools/analysis/rr/zen_workaround.nix b/pkgs/development/tools/analysis/rr/zen_workaround.nix
new file mode 100644
index 00000000000..d15587d2a81
--- /dev/null
+++ b/pkgs/development/tools/analysis/rr/zen_workaround.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, fetchzip, kernel }:
+
+/* The python script shouldn't be needed for users of this kernel module.
+  https://github.com/rr-debugger/rr/blob/master/scripts/zen_workaround.py
+  The module itself is called "zen_workaround" (a bit generic unfortunatelly).
+*/
+stdenv.mkDerivation rec {
+  pname = "rr-zen_workaround";
+  version = "2020-09-22";
+
+  src = fetchzip {
+    url = "https://gist.github.com/glandium/01d54cefdb70561b5f6675e08f2990f2/archive/2f430f0c136a69b0886281d0c76708997d8878af.zip";
+    sha256 = "1mbmbyymgl75wparv3rgnyxnc44rd6n935jziz9anl9apy031ryi";
+  };
+
+  hardeningDisable = [ "pic" ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  makeFlags = [
+    "-C${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+  postConfigure = ''
+    makeFlags="$makeFlags M=$(pwd)"
+  '';
+  buildFlags = "modules";
+
+  installPhase = let
+    modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel"; #TODO: longer path?
+  in ''
+    runHook preInstall
+    mkdir -p "${modDestDir}"
+    cp *.ko "${modDestDir}/"
+    find ${modDestDir} -name '*.ko' -exec xz -f '{}' \;
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Kernel module supporting the rr debugger on (some) AMD Zen-based CPUs";
+    homepage = "https://github.com/rr-debugger/rr/wiki/Zen#kernel-module";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vcunat ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 64c48b702cf..85f7e603bbb 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -25,12 +25,12 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
 
   buildCommand = ''
-    install -Dm555 $src $out/bin/coursier
-    patchShebangs $out/bin/coursier
-    wrapProgram $out/bin/coursier --prefix PATH ":" ${jre}/bin
+    install -Dm555 $src $out/bin/cs
+    patchShebangs $out/bin/cs
+    wrapProgram $out/bin/cs --prefix PATH ":" ${jre}/bin
 
     # copy zsh completion
-    install -Dm755 ${zshCompletion} $out/share/zsh/site-functions/_coursier
+    install -Dm755 ${zshCompletion} $out/share/zsh/site-functions/_cs
   '';
 
   passthru.updateScript = writeScript "update.sh" ''
diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix
new file mode 100644
index 00000000000..868d3965c66
--- /dev/null
+++ b/pkgs/development/tools/ddosify/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "ddosify";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-z7jYnEZSHh/Omg5DMNFzuPhV1d8lZSy8I+8tM86O43s=";
+  };
+
+  vendorSha256 = "sha256-VWWik7oovVJq0J/tj/2Mm5QtvRkJLtMROJhRC2JFZdw=";
+
+  # triggers a different set of tests that seems to be interactive and fail (no url target defined)
+  ldflags = [
+    "-s -w"
+    "-X main.GitVersion=${version}"
+  ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/ddosify -version | grep ${version} > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "High-performance load testing tool, written in Golang";
+    homepage = "https://ddosify.com/";
+    changelog = "https://github.com/ddosify/ddosify/releases/tag/v${version}";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ bryanasdev000 ];
+  };
+}
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index 2134c8e033f..c50f8ebc40d 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -115,33 +115,33 @@ rec {
     headers = "1fvqkw08pync38ixi5cq4f8a108k2ajxpm1w2f8sn2hjph9kpbsd";
   };
 
-  electron_13 = mkElectron "13.5.2" {
-    armv7l-linux = "f325d48761ec222a2f9bbf0d0a3b995959266314b8375d4d6bb8e014bddd3a06";
-    aarch64-linux = "6d89c41e53d8c14ae4a4b7f2f9d7b477055decad3074675e4cef745967829688";
-    x86_64-linux = "6f9b9ad08f74ea8a2c214a7bafbc5b08e316674ff964b91a93f575e499d00464";
-    i686-linux = "62d8766c1c921a95b24e2128bcee66e2e832491715df51554d9a12a16087d35c";
-    x86_64-darwin = "d5f6262e89a986e3a453f37086ce27e389c9b3fab0f797d169c7a065aac80850";
-    aarch64-darwin = "04213cc9303b2114b0db2db0e1a598427788118c125d306b68d1da6ee41a8d2f";
-    headers = "1hpcpnkzs834fr5kqaiww4dpq44bpxhgbrrs6a2njkdfv4j3xmrk";
+  electron_13 = mkElectron "13.6.0" {
+    armv7l-linux = "03141d99268b1e71b64fd663c678591a02544c99475967d511041ab2c5de262c";
+    aarch64-linux = "309014cce9216e3b0a0015a7a31c33e39c63af0b7781e50d3e630fb1d7d3a4ee";
+    x86_64-linux = "b7f88baa69ea6c06ca16e215b01ad673cd922d3a0c9239868ddd0072af4e035e";
+    i686-linux = "b588e4fe82e6c37fe838a3cf592a2a4cf6166f26dad97dd7597818d7714ddc94";
+    x86_64-darwin = "250228bc5a186601d831f86faf394fba732436ddec86c1ef70e4d3d7ff9342c7";
+    aarch64-darwin = "fd3886830fa291db38cc770176ddb3167f8fb90065fcb124394b3ca32965108d";
+    headers = "1rmx0gvcsvba24fsjv14vmmd52h1nzscgmf1g9i46kzc13y0hn4z";
   };
 
-  electron_14 = mkElectron "14.1.1" {
-    armv7l-linux = "56cbba7f15c8caeef06af50e249e26974f1a01ca7133f7b9baa35338454b4f73";
-    aarch64-linux = "b9c1187d6116bd83c402b01215a2af3a6206f11de5609fa5eb5d0e75da6f8d26";
-    x86_64-linux = "5bf136691dfdff9ef97f459db489dd5c4c9981e48780fb7a92ebb2e575c8dffb";
-    i686-linux = "0a00bbea8a23a3d517fbdf9a8e82bc51a2276af57a1ee10793cffb8a2178a45f";
-    x86_64-darwin = "388c88d3b7c7b69d524b143c26d1e13f08e5192aad1197bfa955f56ff38ce9b3";
-    aarch64-darwin = "a3b17406a28553a04576199adb68b2c78a1c457e78985f5648231bbf9b367832";
-    headers = "1pw67w9l63xgkwp78wmnxfjgyzlrmij27bapd2yjrvj6ag7j9xgy";
+  electron_14 = mkElectron "14.2.0" {
+    armv7l-linux = "a1357716ebda8d7856f233c86a8cbaeccad1c83f1d725d260b0a6510c47042a2";
+    aarch64-linux = "b1f4885c3ad816d89446f64a87b78d5139a27fecbf6317808479bede6fd94ae1";
+    x86_64-linux = "b2faec4744edb20e889c3c85af685c2a6aef90bfff58f55b90038a991cd7691f";
+    i686-linux = "9207af6e3a24dfcc76fded20f26512bcb20f6b652295a4ad3458dc10fd2d7d6e";
+    x86_64-darwin = "d647d658c8c2ec4a69c071e791cf7e823320860f987121bd7390978aecacb073";
+    aarch64-darwin = "f5a7e52b639b94cf9b2ec53969c8014c6d299437c65d98c33d8e5ca812fbfd48";
+    headers = "1y289vr8bws3z6gmhaj3avz95rdhc8gd3rc7bi40jv9j1pnlsd3m";
   };
 
-  electron_15 = mkElectron "15.2.0" {
-    armv7l-linux = "b682f5adca133673c8a7488c0d7e0dab8bddf0028218a2b4b842c85c12393aea";
-    aarch64-linux = "dea4ebd0583f149909acb6fe3168e225e4f6cb5470c1d0eb6c86cb58db0fb623";
-    x86_64-linux = "35d1c7e02fde920664ca245ad694cae82e3acfdac0175a1d32345497eb455673";
-    i686-linux = "52d48fbd6a6d8cae565a0d3f7574305c6313c42cac96bbdde39621b201df0082";
-    x86_64-darwin = "32d3d4e5f7dbb8fe035a7b91dc64c042eb930461424784d4c450e06768e7162d";
-    aarch64-darwin = "a7982607416ca2d30d7f48fbc3b16ab072c46170b117123a5e9763f85227a5cb";
-    headers = "0l9hbvikkw5qd1zp4kwa5w1pj80m466skdlz6j474jzqk1qz2nzm";
+  electron_15 = mkElectron "15.3.0" {
+    armv7l-linux = "dfe2851ef94c17eb905cd8cf00b585be072e20a79a02c0c42585a0f51b8cdb20";
+    aarch64-linux = "e0bb8d663dfbe8b65b9e38d4af992a919adc639acfb8748d95ca5b9bbcd7a83c";
+    x86_64-linux = "7cb9c6c9c61848f7d82aaac47ca97bb78c6061e73b176fd3a323652c07335087";
+    i686-linux = "289ef7d53c440a576839a4ee092284009235d740404ea07e6bf82f33254ae8df";
+    x86_64-darwin = "667da0d56bab968d28c41c1f53b901fb685e56d1f56faf33912a240a0397bab5";
+    aarch64-darwin = "9cf5caafc7cbf0e91483e24d5a696b81618d293a5eccd4d122c57baaab88724c";
+    headers = "0jicbplni608cjxwhlrzxkxc9w9b4h6zqssilc9b0yr73jq1fyrd";
   };
 }
diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix
new file mode 100644
index 00000000000..d74e9b35a2b
--- /dev/null
+++ b/pkgs/development/tools/faas-cli/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+let
+  faasPlatform = platform:
+    let cpuName = platform.parsed.cpu.name; in {
+      "aarch64" = "arm64";
+      "armv7l" = "armhf";
+    }.${cpuName} or cpuName;
+in
+buildGoModule rec {
+  pname = "faas-cli";
+  # When updating version change rev.
+  version = "0.13.13";
+  rev = "72816d486cf76c3089b915dfb0b66b85cf096634";
+  platform = faasPlatform stdenv.targetPlatform;
+
+  src = fetchFromGitHub {
+    owner = "openfaas";
+    repo = "faas-cli";
+    rev = version;
+    sha256 = "0mmrakyy2qmkldld7pxf5bx6whdadq2r52b68f9p9z7yqrdimix8";
+  };
+
+  CGO_ENABLED = 0;
+
+  vendorSha256 = null;
+
+  subPackages = [ "." ];
+
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/openfaas/faas-cli/version.GitCommit=${rev}"
+    "-X github.com/openfaas/faas-cli/version.Version=${version}"
+    "-X github.com/openfaas/faas-cli/commands.Platform=${platform}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/openfaas/faas-cli";
+    description = "Official CLI for OpenFaaS ";
+    license = licenses.mit;
+    maintainers = with maintainers; [ welteki ];
+  };
+}
diff --git a/pkgs/development/tools/go-outline/default.nix b/pkgs/development/tools/go-outline/default.nix
index fe4c2e8d4df..5ec826eecc7 100644
--- a/pkgs/development/tools/go-outline/default.nix
+++ b/pkgs/development/tools/go-outline/default.nix
@@ -1,24 +1,22 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-outline";
-  version = "unstable-2018-11-22";
-  rev = "7182a932836a71948db4a81991a494751eccfe77";
-
-  goPackagePath = "github.com/ramya-rao-a/go-outline";
-  goDeps = ./deps.nix;
+  version = "unstable-2021-06-08";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "ramya-rao-a";
     repo = "go-outline";
-    sha256 = "0p381yvwvff0i4i7mf5v1k2q1lb0rs2xkjgv67n1cw2573c613r1";
+    rev = "9736a4bde949f321d201e5eaa5ae2bcde011bf00";
+    sha256 = "sha256-5ns6n1UO9kRSw8iio4dmJDncsyvFeN01bjxHxQ9Fae4=";
   };
 
-  meta = {
+  vendorSha256 = "sha256-jYYtSXdJd2eUc80UfwRRMPcX6tFiXE3LbxV3NAdKVKE=";
+
+  meta = with lib; {
     description = "Utility to extract JSON representation of declarations from a Go source file";
     homepage = "https://github.com/ramya-rao-a/go-outline";
-    maintainers = with lib.maintainers; [ vdemeester ];
-    license = lib.licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 vdemeester ];
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/go-outline/deps.nix b/pkgs/development/tools/go-outline/deps.nix
deleted file mode 100644
index 6a333b58bec..00000000000
--- a/pkgs/development/tools/go-outline/deps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/tools";
-      rev = "96b5a5404f303f074e6117d832a9873c439508f0";
-      sha256 = "1h6r9xyp1v3w2x8d108vzghn65l6ia2h895irypmrwymfcp30y42";
-    };
-  }
-]
diff --git a/pkgs/development/tools/gopls/default.nix b/pkgs/development/tools/gopls/default.nix
index dfbc064e0d3..d3eab38627c 100644
--- a/pkgs/development/tools/gopls/default.nix
+++ b/pkgs/development/tools/gopls/default.nix
@@ -1,13 +1,13 @@
-{ lib, buildGoModule, fetchgit }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "gopls";
   version = "0.7.3";
 
-  src = fetchgit {
-    url = "https://go.googlesource.com/tools";
+  src = fetchFromGitHub {
+    owner = "golang";
+    repo = "tools";
     rev = "gopls/v${version}";
-    name = "gopls-source-${version}";
     sha256 = "sha256-aaRaStQ35a/SK4YIR5rjvp8gPxvoNuhLh2AGbr0c6p4=";
   };
 
diff --git a/pkgs/development/tools/gotest/default.nix b/pkgs/development/tools/gotest/default.nix
new file mode 100644
index 00000000000..455bf63b3f3
--- /dev/null
+++ b/pkgs/development/tools/gotest/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "gotest";
+  version = "0.0.6";
+
+  src = fetchFromGitHub {
+    owner = "rakyll";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1v11ccrjghq7nsz0f91r17di14yixsw28vs0m3dwzwqkh1a20img";
+  };
+
+  vendorSha256 = "sha256-pVq6H1HoKqCMRfJg7FftRf3vh+BWZQe6cQAX+TBzKqw=";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "go test with colors";
+    homepage = "https://github.com/rakyll/gotest";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/tools/kubernetes-controller-tools/default.nix b/pkgs/development/tools/kubernetes-controller-tools/default.nix
new file mode 100644
index 00000000000..e1aacd30673
--- /dev/null
+++ b/pkgs/development/tools/kubernetes-controller-tools/default.nix
@@ -0,0 +1,30 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "controller-tools";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "kubernetes-sigs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0hbai8pi59yhgsmmmxk3nghhy9hj3ma98jq2d1k46n46gr64a0q5";
+  };
+
+  vendorSha256 = "061qvq8z98d39vyk1gr46fw5ynxra154s90n3pb7k1q7q45rg76j";
+
+  doCheck = false;
+
+  subPackages = [
+    "cmd/controller-gen"
+    "cmd/type-scaffold"
+    "cmd/helpgen"
+  ];
+
+  meta = with lib; {
+    description = "Tools to use with the Kubernetes controller-runtime libraries";
+    homepage = "https://github.com/kubernetes-sigs/controller-tools";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ michojel ];
+  };
+}
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index c6c8ff2a8a8..6ba1ba06107 100644
--- a/pkgs/development/tools/misc/blackfire/default.nix
+++ b/pkgs/development/tools/misc/blackfire/default.nix
@@ -10,12 +10,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "blackfire-agent";
-  version = "1.49.4";
+  pname = "blackfire";
+  version = "2.5.1";
 
   src = fetchurl {
-    url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-agent_${version}_amd64.deb";
-    sha256 = "t1S54z3xTMTUBWz0jCFX1A7GJdWWsP/lTa9MMjo8t1A=";
+    url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
+    sha256 = "wak7LE5j6OKIHqCsEGrxSq1FAFzehMetYj6c/Zkr9dk=";
   };
 
   nativeBuildInputs = [
@@ -32,13 +32,26 @@ stdenv.mkDerivation rec {
     mv $out/usr/* $out
     rmdir $out/usr
 
+    # Fix ExecStart path and replace deprecated directory creation method,
+    # use dynamic user.
+    substituteInPlace "$out/lib/systemd/system/blackfire-agent.service" \
+      --replace '/usr/' "$out/" \
+      --replace 'ExecStartPre=/bin/mkdir -p /var/run/blackfire' 'RuntimeDirectory=blackfire' \
+      --replace 'ExecStartPre=/bin/chown blackfire: /var/run/blackfire' "" \
+      --replace 'User=blackfire' 'DynamicUser=yes' \
+      --replace 'PermissionsStartOnly=true' ""
+
+    # Modernize socket path.
+    substituteInPlace "$out/etc/blackfire/agent" \
+      --replace '/var/run' '/run'
+
     runHook postInstall
   '';
 
   passthru = {
     updateScript = writeShellScript "update-${pname}" ''
       export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
-      update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .agent --raw-output)"
+      update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .cli --raw-output)"
     '';
   };
 
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index ee181a66581..2cdcc5c185a 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -18,11 +18,11 @@ let
   }.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version.");
 in stdenv.mkDerivation rec {
   pname = "php-blackfire";
-  version = "1.66.0";
+  version = "1.67.0";
 
   src = fetchurl {
     url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb";
-    sha256 = "kfCIjsGSvaGCZtOIBdKcaeS+TJdVHICo7MSW8YxQ+/Y=";
+    sha256 = "KeTNdI+zCRAdXqvIX3tnAZtTbcH0WAKUcRIOiCJn2aE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/misc/editorconfig-core-c/default.nix b/pkgs/development/tools/misc/editorconfig-core-c/default.nix
index f48ba999d86..eb2e124a35e 100644
--- a/pkgs/development/tools/misc/editorconfig-core-c/default.nix
+++ b/pkgs/development/tools/misc/editorconfig-core-c/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 bsd3 ];
     maintainers = with maintainers; [ dochang ];
     platforms = platforms.unix;
+    mainProgram = "editorconfig";
   };
 }
diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix
index 6318dbb3ff6..57a513a63d8 100644
--- a/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, makeDesktopItem, appimageTools, gtk3 }:
 let
   name = "saleae-logic-2";
-  version = "2.3.37";
+  version = "2.3.38";
   src = fetchurl {
     url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage";
-    sha256 = "0jclzd4s1r6h2p1r0vhmzz3jnwpp7d41g70lcamrsxidxrmm8d45";
+    sha256 = "0y3ys3q6gd9fxgaf36q5av0kgvy7jv5anyjxb4cva8d95l4k3ask";
   };
   desktopItem = makeDesktopItem {
     inherit name;
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index cf4fe39754f..6779c096d39 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -3,7 +3,6 @@
 , godef ? null
 , gotools ? null
 , nodePackages ? null
-, rustracerd ? null
 , fixDarwinDylibNames, Cocoa ? null
 }:
 
@@ -74,10 +73,6 @@ stdenv.mkDerivation {
   '' + lib.optionalString (nodePackages != null) ''
     TARGET=$out/lib/ycmd/third_party/tsserver
     ln -sf ${nodePackages.typescript} $TARGET
-  '' + lib.optionalString (rustracerd != null) ''
-    TARGET=$out/lib/ycmd/third_party/racerd/target/release
-    mkdir -p $TARGET
-    ln -sf ${rustracerd}/bin/racerd $TARGET
   '';
 
   # fixup the argv[0] and replace __file__ with the corresponding path so
diff --git a/pkgs/development/tools/mustache-go/default.nix b/pkgs/development/tools/mustache-go/default.nix
index ddf2a851b7d..7e21d415c79 100644
--- a/pkgs/development/tools/mustache-go/default.nix
+++ b/pkgs/development/tools/mustache-go/default.nix
@@ -17,6 +17,7 @@ buildGoPackage rec {
     homepage = "https://github.com/cbroglie/mustache";
     description = "The mustache template language in Go";
     license = [ licenses.mit ];
-    maintainers = [ maintainers.Zimmi48 ];
+    maintainers = with maintainers; [ Zimmi48 ];
+    mainProgram = "mustache";
   };
 }
diff --git a/pkgs/development/tools/rust/racerd/default.nix b/pkgs/development/tools/rust/racerd/default.nix
deleted file mode 100644
index 6ffa49aa6b9..00000000000
--- a/pkgs/development/tools/rust/racerd/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, makeWrapper, Security }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "racerd";
-  version = "unstable-2019-09-02";
-
-  src = fetchFromGitHub {
-    owner = "jwilm";
-    repo = "racerd";
-    rev = "e3d380b9a1d3f3b67286d60465746bc89fea9098";
-    sha256 = "13jqdvjk4savcl03mrn2vzgdsd7vxv2racqbyavrxp2cm9h6cjln";
-  };
-
-  cargoPatches = [
-    (fetchpatch {
-      url = "https://github.com/jwilm/racerd/commit/856f3656e160cd2909c5166e962f422c901720ee.patch";
-      sha256 = "1qq2k4bnwjz5qgn7s8yxd090smwn2wvdm8dd1rrlgpln0a5vxkpb";
-    })
-  ];
-
-  cargoSha256 = "08zn65c5ivhn2qs02aiixyqwhywrw8kfvs0kgzxdzsipic47n2qq";
-
-  # a nightly compiler is required unless we use this cheat code.
-  RUSTC_BOOTSTRAP=1;
-
-  doCheck = false;
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = lib.optional stdenv.isDarwin Security;
-
-  RUST_SRC_PATH = rustPlatform.rustcSrc;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -p $releaseDir/racerd $out/bin/
-    wrapProgram $out/bin/racerd --set-default RUST_SRC_PATH "$RUST_SRC_PATH"
-  '';
-
-  meta = with lib; {
-    broken = true;
-    description = "JSON/HTTP Server based on racer for adding Rust support to editors and IDEs";
-    homepage = "https://github.com/jwilm/racerd";
-    license = licenses.asl20;
-  };
-}
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 05ebdde853e..ede38c6fa04 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, fetchurl
+{ lib, stdenv, fetchurl, makeWrapper
 , pkg-config, intltool
 , perl, gettext, libX11, libXext, libXi, libXt
 , libXft, libXinerama, libXrandr, libXxf86vm, libGL, libGLU, gle
 , gtk2, gdk-pixbuf, gdk-pixbuf-xlib, libxml2, pam
-, systemd
+, systemd, coreutils
 , forceInstallAllHacks ? false
 , withSystemd ? stdenv.isLinux
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkg-config intltool
+    pkg-config intltool makeWrapper
   ];
 
   buildInputs = [
@@ -37,7 +37,13 @@ stdenv.mkDerivation rec {
     "--with-app-defaults=${placeholder "out"}/share/xscreensaver/app-defaults"
   ];
 
-  postInstall = lib.optionalString forceInstallAllHacks ''
+  postInstall = ''
+    for bin in $out/bin/*; do
+      wrapProgram "$bin" \
+        --prefix PATH : "$out/libexec/xscreensaver" \
+        --prefix PATH : "${lib.makeBinPath [ coreutils ]}"
+    done
+  '' + lib.optionalString forceInstallAllHacks ''
     make -j$NIX_BUILD_CORES -C hacks/glx dnalogo
     cat hacks/Makefile.in \
       | grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks
diff --git a/pkgs/misc/vim-plugins/aliases.nix b/pkgs/misc/vim-plugins/aliases.nix
index 67607fe4562..b880c15d790 100644
--- a/pkgs/misc/vim-plugins/aliases.nix
+++ b/pkgs/misc/vim-plugins/aliases.nix
@@ -94,6 +94,7 @@ mapAliases (with prev; {
   neosnippet          = neosnippet-vim;
   The_NERD_Commenter  = nerdcommenter;
   The_NERD_tree       = nerdtree;
+  onedark-nvim        = onedarkpro-nvim; # added 2021-10-22
   open-browser        = open-browser-vim;
   pathogen            = vim-pathogen;
   polyglot            = vim-polyglot;
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 34cf4d4e9e9..e3703ec0292 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -77,12 +77,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-10-16";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "16898417e68ffb6034b2a6de0c1b25502bd846d8";
-      sha256 = "1zyzw8m8bfs3p06nq582pb5lja204xhzkd60bp1wyyq1q5qv9y3v";
+      rev = "95ba7898b45c3cbac77463aace447ead4e173556";
+      sha256 = "063ks4yf2l9384xi7candw1069j8k465rz2sniliak9r6hy1k100";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -401,12 +401,12 @@ final: prev:
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2021-09-28";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "5fb90051aa17a840b0bcdbff0055ea83d6ad9f59";
-      sha256 = "0bvkl9c2mb90khz6xffs3aki46v73zr3wwmh6yb9l2k5qmim5r6j";
+      rev = "58e8d9b7c9aaf603f1093f808628b5a8f03493af";
+      sha256 = "19l7sh0xfxg4lra1zww3msawy3a4y74b3xr4qrjais8wm8wc4nb4";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -461,12 +461,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-10-18";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "47071cacfb9bcd5ac86dddb1e3ef272ca7ac254d";
-      sha256 = "1b2dx5j44441xgfk3dj8f135kim38fnp2s8rpf098q8r2gn3zv8d";
+      rev = "094a446fdcceb72a28a47314a92ab2537dd747ec";
+      sha256 = "0q9qjxc49w80v5d2apzzcl2bhdr050f4bib6w27msva4r9vzsgjy";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -653,24 +653,24 @@ final: prev:
 
   cmp-path = buildVimPluginFrom2Nix {
     pname = "cmp-path";
-    version = "2021-10-16";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-path";
-      rev = "2b1d31fef79a4c0ff803f6230859faf76e4409f9";
-      sha256 = "1l3lyzgwlr7drxzig01by99vrgi7flvrnln3dmy14pg2x56lsbf3";
+      rev = "387b740fc1a038a434f18f7d7a66fc6c52a3de35";
+      sha256 = "0xxfdswrl2lg9drvaqrdqj2djp0ifnr5v6x271nk4d9m46cr6x4q";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-path/";
   };
 
   cmp-spell = buildVimPluginFrom2Nix {
     pname = "cmp-spell";
-    version = "2021-10-12";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "f3fora";
       repo = "cmp-spell";
-      rev = "4ce11f44edc54f7e3087c85c1b7b388f9aece983";
-      sha256 = "05akncv4w8p3h25q5dmx8h0jbn2b4l5mz9x62wj7d7qks4fjik4j";
+      rev = "5602f1a0de7831f8dad5b0c6db45328fbd539971";
+      sha256 = "1pk6izww8canfqpiyrqd6qx1p3j18pwfzkfx4ynbng8kl9nh6nv5";
     };
     meta.homepage = "https://github.com/f3fora/cmp-spell/";
   };
@@ -713,12 +713,12 @@ final: prev:
 
   cmp_luasnip = buildVimPluginFrom2Nix {
     pname = "cmp_luasnip";
-    version = "2021-10-14";
+    version = "2021-10-18";
     src = fetchFromGitHub {
       owner = "saadparwaiz1";
       repo = "cmp_luasnip";
-      rev = "8da7e78e54415753d6b688f96d54290d754f7c6b";
-      sha256 = "0s9s2kpfg6mqrl0xdqxl1k17vj4pc433v89i1p5kcrxsydfvdxp3";
+      rev = "0347dddd1d88484aadbc39a34c98567708e4b7e0";
+      sha256 = "1kiwav1gds9xcibm21vmvnpfkyvgqrjwwrbcm1bb9dvq82nvd1b5";
     };
     meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
   };
@@ -870,12 +870,12 @@ final: prev:
 
   comment-nvim = buildVimPluginFrom2Nix {
     pname = "comment.nvim";
-    version = "2021-10-18";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "numtostr";
       repo = "comment.nvim";
-      rev = "5365cc7f1fc2522ffa1b560830d3125372928d6a";
-      sha256 = "0lvcl3pykcry35r6c9fxmjklzvzz7lpxfchbz1qgadpq45pidyir";
+      rev = "4208e09ea8d8b75b6273468cf4cfb48e4a3f59ca";
+      sha256 = "1182y3lafs37dx1alpr58phvnfncknx3ia4j401hckp49i3sdxql";
     };
     meta.homepage = "https://github.com/numtostr/comment.nvim/";
   };
@@ -1170,12 +1170,12 @@ final: prev:
 
   ctrlp-vim = buildVimPluginFrom2Nix {
     pname = "ctrlp.vim";
-    version = "2021-04-18";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
       repo = "ctrlp.vim";
-      rev = "f68f4d00b9c99d0d711bfde3b071f0dafd249901";
-      sha256 = "0lj596jmisv42mpaxp0w1gm31lyiv28kxjyy7352d16dv5a5432g";
+      rev = "61e964f2d168f52cb8e80e67d26605b52d726b16";
+      sha256 = "0qi4ip94lxfxzbkhs779v1afmvh6q0wp8fcfxxdhzgl44qlhy6hx";
     };
     meta.homepage = "https://github.com/ctrlpvim/ctrlp.vim/";
   };
@@ -1568,12 +1568,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview.nvim";
-    version = "2021-10-08";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "2a838d444ef38e07170b161ed12ce241a8d8c54f";
-      sha256 = "1d23mxvc4ldlsv5a6zy0glxfnfmx08fvp1zyxds1v369pn6x61pi";
+      rev = "d4ee04c9eb8951dcf1aa83d7a896bededfc68228";
+      sha256 = "0wfrbhnal7y82bhrf446igc6g9avavk2jx0idk5sbv24bqhi9b60";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -2015,12 +2015,12 @@ final: prev:
 
   fzf-lsp-nvim = buildVimPluginFrom2Nix {
     pname = "fzf-lsp.nvim";
-    version = "2021-10-06";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "gfanto";
       repo = "fzf-lsp.nvim";
-      rev = "180b979697493d3b0878829202e8c9b0a27aa2cd";
-      sha256 = "0nypq514xx6rcvszxv2sz3s6vlg54adqkn2iawfy2jms93brcqs5";
+      rev = "34bddd8a31441435f1d29eef0452576d12144da7";
+      sha256 = "1ijqnqmdlm2f3jkjh68baif05lf27rww43vvndix2icypnd16vcp";
     };
     meta.homepage = "https://github.com/gfanto/fzf-lsp.nvim/";
   };
@@ -2171,12 +2171,12 @@ final: prev:
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns.nvim";
-    version = "2021-10-15";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "552f114caeaec4ce97822cb55dfa7c7e5368136b";
-      sha256 = "0qdafm3arjf8bcqpvv085dwzbikad3sr3xzvrn3gfa0dsls8pg6q";
+      rev = "a2a18c69bfd7923c4be8a57ed91d5dd0e7e34a93";
+      sha256 = "064fkd3dx16cxkkcghwc332v22xdghbfh7dakq81c269w5qzk8gr";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2243,12 +2243,12 @@ final: prev:
 
   goto-preview = buildVimPluginFrom2Nix {
     pname = "goto-preview";
-    version = "2021-10-15";
+    version = "2021-10-18";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "goto-preview";
-      rev = "05c6983e6d6cb6e35367a13eeda1ffb160f48753";
-      sha256 = "1qa22gsa62ginkad21bigj8qgbh8h3car598gl59643y2kc7lip3";
+      rev = "05383bbbfccbf4fd6a4527ef8383270d03dde833";
+      sha256 = "0djcvbj94k4qp09bvzvcnwwybsincc4lvdz84vw9jyzkz3pgxmy5";
     };
     meta.homepage = "https://github.com/rmagatti/goto-preview/";
   };
@@ -2339,12 +2339,12 @@ final: prev:
 
   gv-vim = buildVimPluginFrom2Nix {
     pname = "gv.vim";
-    version = "2021-08-24";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "gv.vim";
-      rev = "6f6a3afe73a2cb52d8517d1a95ecfc9b09fb3e92";
-      sha256 = "1j1yqanqcndxzi3r3d3pvgjh14bw28sfy0ik5jh8zvggkl240sqn";
+      rev = "386d770e916dd680d1d622e715b9eb3a77f21bd1";
+      sha256 = "184kvydzz9nyg0sv3crn38v04s24km0ma8vfg4i3agmffb1riibk";
     };
     meta.homepage = "https://github.com/junegunn/gv.vim/";
   };
@@ -2531,12 +2531,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline.nvim";
-    version = "2021-10-12";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "0a98fa8dacafe22df0c44658f9de3968dc284d20";
-      sha256 = "1mwj3wsp6b1m6amii5pz2b0nbs6ac8w0285wg8gd3g2y3ywihi2g";
+      rev = "cefd4ab194072ca608c2bc8e51f15882d6f1854e";
+      sha256 = "13ljp3dri9wz1y2l1d1va1qf7bzdcvhanj2bafv06i4mjcp3i73v";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2964,12 +2964,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed.nvim";
-    version = "2021-10-18";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "d2d47534b00d6fcd16cabab8ec8a6cd15c40ebf3";
-      sha256 = "13yb0srx7g9yf6rrr0bycxr4kac1ip1a1nzz27hamfkq3l9rcgn5";
+      rev = "61710967a57cc780f4b505c3821d3be54f53e79b";
+      sha256 = "12g6dfc5pkxz0s2vq6p747zw21pigv6sskrgnxsq7awp92xahxbd";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -2988,36 +2988,36 @@ final: prev:
 
   lir-nvim = buildVimPluginFrom2Nix {
     pname = "lir.nvim";
-    version = "2021-10-17";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "tamago324";
       repo = "lir.nvim";
-      rev = "5a7b21b0fdafe73719902b9848880fb3eb8500aa";
-      sha256 = "0pdswmrmc2nicii5szhig4qnmcx2cks6rc5g7s787cc0c458l98p";
+      rev = "e33a669824ea160a03b77357ba7f1a2617a3f16d";
+      sha256 = "1l5syicgdcd6badrrpxji8nig98mwq9dv0nq6abjyg4scip251li";
     };
     meta.homepage = "https://github.com/tamago324/lir.nvim/";
   };
 
   lispdocs-nvim = buildVimPluginFrom2Nix {
     pname = "lispdocs.nvim";
-    version = "2021-09-08";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "tami5";
       repo = "lispdocs.nvim";
-      rev = "811527775351070008549c3c2931f80f809fa25c";
-      sha256 = "1idbl5wmj0svh01dfvcilzbx24xl4cc6i77pb3laizh4fz7x7vza";
+      rev = "44d8321843b499a966255270ac59be6148b74097";
+      sha256 = "0pqyfx4b1wsfw30b22ycfvfwbf8h6gw2s4f4hxkicj24ix9qwx6w";
     };
     meta.homepage = "https://github.com/tami5/lispdocs.nvim/";
   };
 
   lsp-colors-nvim = buildVimPluginFrom2Nix {
     pname = "lsp-colors.nvim";
-    version = "2021-04-30";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "lsp-colors.nvim";
-      rev = "00b40add53f2f6bd249932d0c0cd25a42ce7a2fc";
-      sha256 = "1qa1kb5abrka5iixmz81kz4v8xrs4jv620nd583rhwya2jmkbaji";
+      rev = "517fe3ab6b63f9907b093bc9443ef06b56f804f3";
+      sha256 = "15q3hiwh0zpyhadapjk3wabnn71kafcljj2gq11qk53fk3zzsxdx";
     };
     meta.homepage = "https://github.com/folke/lsp-colors.nvim/";
   };
@@ -3060,12 +3060,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature.nvim";
-    version = "2021-10-11";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "422006c33c0da8947772c3a1040fa6c93be418d8";
-      sha256 = "0079b9zac83yjmv6ln37fzyl91f4pw8bzy075czvsx7kbpcg2a04";
+      rev = "c88cc24ec89a7ab0ecabdd6624f0bf717d83d2dd";
+      sha256 = "0jgznv9x7ickpdy492prv6yird847hqxjvr0a5zzfxbhlyvdysqk";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -3108,36 +3108,36 @@ final: prev:
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine.nvim";
-    version = "2021-05-27";
+    version = "2021-10-22";
     src = fetchFromGitHub {
-      owner = "hoob3rt";
+      owner = "nvim-lualine";
       repo = "lualine.nvim";
-      rev = "9726824f1dcc8907632bc7c32f9882f26340f815";
-      sha256 = "0gmbv0pbswkxjd4qw7dq66gp3fj594di0pgkb47yh3b46id8vkyj";
+      rev = "71f6fed3c3b29366bf58b2753803b93f58646ca4";
+      sha256 = "0wn9hjln2ixgm42sgy1biswp3knhac818bnj2v24ji7swryxjjda";
     };
-    meta.homepage = "https://github.com/hoob3rt/lualine.nvim/";
+    meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
   };
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2021-10-13";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "4526e71635b2d238c0f76f058e8c4de3a6b5bd51";
-      sha256 = "08xrppvjzc6hnzfkjy1y7k4n5pxgamrzchv9nry6yzi9w3ijnhyb";
+      rev = "3dc04d379f82b7263b26565c74748ea68879b022";
+      sha256 = "1wn6wa03xq3gsp79wsxwml14sxrg4540b3g4rvqhxilyi30m3kdn";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
 
   lush-nvim = buildVimPluginFrom2Nix {
     pname = "lush.nvim";
-    version = "2021-10-10";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "80366a41bcbb0dbbcaa6e6f51156d37c405e1d0b";
-      sha256 = "08xbiwqv69cjy28m3yirqa2f0vfm816gmsa3zp38ih5i41gfbqnr";
+      rev = "40d92a16a8d639b6cb928f9d49710711892fbf77";
+      sha256 = "0316lvwffkm4cgzgk4pxnmr6hc1ypgdiswb4yhg4wx9pfq8pccxb";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -3504,12 +3504,12 @@ final: prev:
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2021-10-16";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "253dc1d0c7de287440cc5e93c3e60d93cd92f096";
-      sha256 = "0xfb4dry3ybv1q2gkqbxkj4y9q6g7hvc4x6z4mvxfks96lcmgrm8";
+      rev = "8d45fc9266d005929a964b099c8f9f61e526ec10";
+      sha256 = "06skc44r4nccq0nfklm079b9yf99d9qfl8jp1ndn513hrnv8v5fp";
     };
     meta.homepage = "https://github.com/Shougo/neco-vim/";
   };
@@ -3540,24 +3540,24 @@ final: prev:
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2021-09-26";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "964c66fa22500ae7375114342d212d7fe15da341";
-      sha256 = "18gfwjgmk56n5xw4xrl8kn860a5sjqsbk14zjbc599id7m4jnaw9";
+      rev = "63c50a72ec44033b95a7dbc3bc2515bfa4dea457";
+      sha256 = "1rvn9bnjxhbmkd96b6a525yb4r8v338rc5k0vq6c6lxqd413vzrs";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-10-12";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "727652348bf4f39a354e88d1b2cbf36220d109db";
-      sha256 = "07skmgl78vqks21lr64sm808zqbqf2013rf7ph9rkfz5wrn4zcvd";
+      rev = "495ae477caa40b467e8b01aa83b5d240fabf13fa";
+      sha256 = "16kbzqgk3pbwkyyrzg461c7vw9rj7sa8hczv74ai4393cgcil38m";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3768,12 +3768,12 @@ final: prev:
 
   neuron-nvim = buildVimPluginFrom2Nix {
     pname = "neuron.nvim";
-    version = "2021-03-20";
+    version = "2021-10-18";
     src = fetchFromGitHub {
       owner = "oberblastmeister";
       repo = "neuron.nvim";
-      rev = "9c85f892f2f50a4e546950edd8fa41ac0d602549";
-      sha256 = "14mrimw2rjsz5j6613j1kjpkxk4yn7vw5mfw1g0xl9jmlvx7v085";
+      rev = "10b189437c3e080502ca14ed0e7bc041274e0610";
+      sha256 = "11p6n33c642z6q89j2a71czffp3d3mzhp9mdygw2gadar9g4fvl8";
     };
     meta.homepage = "https://github.com/oberblastmeister/neuron.nvim/";
   };
@@ -3804,12 +3804,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2021-10-15";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "dfaacec99f03a8412538974e8d6a96a0916a3a5f";
-      sha256 = "0hjqbisj9kd181qc6jav43r3jk2qyf79n56mxrjzwb8i5rndlr93";
+      rev = "fb46cbf616470707fac1232d135c0bd69906249d";
+      sha256 = "0lia11ni3q3ixjhngnhyrz4s33f19p784y22x3vxi0nvnibj6c40";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -3840,12 +3840,12 @@ final: prev:
 
   nnn-vim = buildVimPluginFrom2Nix {
     pname = "nnn.vim";
-    version = "2021-10-12";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "nnn.vim";
-      rev = "f7ebbaa41da15a964758f009e8e05463974a0aee";
-      sha256 = "1spma6n0vyavllawd98zccwmkscisq69547qqxqgfz9j69dllrfg";
+      rev = "be8fb31a073f92bf30d066bee7e4cb3a156ae101";
+      sha256 = "18j5m27wlwanzp63yh3db8hn1qkpbzr21jix3qjjkkj1bjw2cjh3";
     };
     meta.homepage = "https://github.com/mcchrish/nnn.vim/";
   };
@@ -3864,12 +3864,12 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord.nvim";
-    version = "2021-10-16";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "99941237d7b54831ce31026b2bf48f5af7c3eaa3";
-      sha256 = "1z46fkjyhfnaw3x8id7xs2fkglkbbv6sp45zmzg0f1r881dismi2";
+      rev = "9db1b2f034a90f5038a55bb0c9627599d6ea3900";
+      sha256 = "0av212d3rf8fawbkjj0x2f9qs3pdvxjzdxl8zf6slw14knqpydc3";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
@@ -3900,12 +3900,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2021-10-17";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "9534bda66ec8e919bace771bec74678b50b87a88";
-      sha256 = "0n61rf8qg8kqxa9hmf7jvnrj36xqi5ml9h3kfwszzbjmq89533kw";
+      rev = "4a7ac163de30d04ab697eeea86b7ea773100b8e4";
+      sha256 = "0chgqap87v2ar7jj1n0g6haqiprz5lhkny9jy4imi5qgf7hb5f6i";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -3948,12 +3948,12 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-10-17";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "7becc6bc9d8baa62eb0dbf65305f8e7f1470ace7";
-      sha256 = "1ihz1kci00r93f52fzz5nx9byh7rrax1sknmj9q232z1wv7dxb06";
+      rev = "3b1b99028340a3b31c620887b8f5b99f4193157c";
+      sha256 = "0ax5i7jjp1dmcywch8392vma91rk5cmi5201lhspggl8mawkcmbs";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
@@ -3972,12 +3972,12 @@ final: prev:
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2021-09-26";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "84789c508a1d4323f494faa5cf18f7cb00b5cb81";
-      sha256 = "0ddfkgx8235p07bnjmk01n9z5gnb51s8y22f905lfv2cn1jnaag5";
+      rev = "a57e44b31fe65665a29dd44597dbab0801723d61";
+      sha256 = "15cxpx5vdg9lqs9h7w3azg54z1di9hqzy7bkk0kw813mv7n0bcn0";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -4008,12 +4008,12 @@ final: prev:
 
   nvim-cmp = buildVimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2021-10-18";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "a6a98856c3986de675bc40c9c98b7458fb19e95c";
-      sha256 = "0x0hzymvna939iscz0llm64ic28iinh4bn6xihv8afgm693j3jbi";
+      rev = "533f17c5692d2b81cda487b327fafcbf8967142c";
+      sha256 = "1cc9a9wv00wqfd1cb9nk13hy51fjh128yhmd4zkkw9qgd7qhcks9";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -4104,12 +4104,12 @@ final: prev:
 
   nvim-dap-virtual-text = buildVimPluginFrom2Nix {
     pname = "nvim-dap-virtual-text";
-    version = "2021-09-24";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "nvim-dap-virtual-text";
-      rev = "8ab2aa7b04a4f3c0c8d72dc6affc8e5e20410d93";
-      sha256 = "1llrx9n0jg7j9q37lzjax2h1y1z6xp6a2d701q30j6l98yan6x9n";
+      rev = "5fb1dea489fee93fb30751860f98d3e0e6641b33";
+      sha256 = "14l98a3j8wb4d0952x1ids6ba6k9960bx07dqzzp8yvd38hxas80";
     };
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
@@ -4188,12 +4188,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2021-09-29";
+    version = "2021-10-18";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "adeca37bd8ac86ec1782f1a9f270827e7a64dac3";
-      sha256 = "0vrzvqzn8y2rr30fzyildc4mcicf0x6pv4d34z0lbfij2xjnlhqz";
+      rev = "914530792c9fbe4c87eca4aa6d4eebe8fe46717c";
+      sha256 = "0wkv5vwmwq9ij7h23qfzwv81f0z585w6q8i0qliizszfiik15lph";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -4212,24 +4212,24 @@ final: prev:
 
   nvim-lsp-ts-utils = buildVimPluginFrom2Nix {
     pname = "nvim-lsp-ts-utils";
-    version = "2021-10-18";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "nvim-lsp-ts-utils";
-      rev = "cae4c06308c1ba4f2fdde31836fd98de3fc3e2b5";
-      sha256 = "1s2jbl4wpylvqfc4mrycd211xsi1p97r8r579fccjxpswvsm4bbk";
+      rev = "ab8d54f206cff9fc7e686407be1c02ee58a3727f";
+      sha256 = "05npzvf40w0z0n2snn15vr055gkxhvyrhg451yppzqnx1af10skx";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/";
   };
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-10-17";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "7f902f952944aa708c78138f6536c0dc55aec3a2";
-      sha256 = "1n8srlrfliak2587r30la87x3jgl9iq1x8jdxlhrx7i874ha3ykp";
+      rev = "2fb4b6a2f3188f12bad5196e1978528d8bd1c733";
+      sha256 = "1rcijb0hh85sd0j659yinfiaz49ga5fwpragfsfdib6w12nlyiyx";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -4416,12 +4416,12 @@ final: prev:
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-10-14";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "2bd142b45fbe890d9588a50df3f26212c2b87c80";
-      sha256 = "09hcwm10b5rb77rpv0qbwak1x8hhqr0wqnrn118b7768pkqqwka0";
+      rev = "3e6597b4e560404ef5d2f1d5fb0ce3307b5d57f7";
+      sha256 = "0kkk16yl219p6p6bvyfgsipfsh1s15l2p80c2x88wqjvpk78wxmw";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
@@ -4522,18 +4522,6 @@ final: prev:
     meta.homepage = "https://github.com/Th3Whit3Wolf/one-nvim/";
   };
 
-  onedark-nvim = buildVimPluginFrom2Nix {
-    pname = "onedark.nvim";
-    version = "2021-10-15";
-    src = fetchFromGitHub {
-      owner = "olimorris";
-      repo = "onedark.nvim";
-      rev = "836551aee06e07dc77ff0aa5dc1de4ace50596a1";
-      sha256 = "0s654i6xlk3nkhjdrdmx202f9ig0xby5p9n98ajkhi6wq2yhfr72";
-    };
-    meta.homepage = "https://github.com/olimorris/onedark.nvim/";
-  };
-
   onedark-vim = buildVimPluginFrom2Nix {
     pname = "onedark.vim";
     version = "2021-10-15";
@@ -4546,6 +4534,18 @@ final: prev:
     meta.homepage = "https://github.com/joshdick/onedark.vim/";
   };
 
+  onedarkpro-nvim = buildVimPluginFrom2Nix {
+    pname = "onedarkpro.nvim";
+    version = "2021-10-21";
+    src = fetchFromGitHub {
+      owner = "olimorris";
+      repo = "onedarkpro.nvim";
+      rev = "abf91455610bc11b9a2f9e504179b9e48042e6b6";
+      sha256 = "0a5dp4fa4c63n1mpwn0jnhid0hzxiw33vqwrxdsiawgxdgg71sad";
+    };
+    meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
+  };
+
   onehalf = buildVimPluginFrom2Nix {
     pname = "onehalf";
     version = "2021-01-31";
@@ -4584,24 +4584,24 @@ final: prev:
 
   orgmode-nvim = buildVimPluginFrom2Nix {
     pname = "orgmode.nvim";
-    version = "2021-10-01";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "orgmode.nvim";
-      rev = "a94f7b8169ed9cbb8ca0d1ef9701fdcd2f4c4bbc";
-      sha256 = "0yf4nc7yywh22a44892cppilq58hd4dvlwn0v9jdl7p1b1fng9kc";
+      rev = "7592652e72cb1a69bd147e118fc05d373f09045b";
+      sha256 = "12r73q94m5cpgdm7rslz7p214nwlrhzm1rnvlbhhmvm3mq1g68ij";
     };
     meta.homepage = "https://github.com/kristijanhusak/orgmode.nvim/";
   };
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer.nvim";
-    version = "2021-10-08";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "257d6d30e4bd4ab8f5d2a40d73a9f1a4a65779fc";
-      sha256 = "0nxr1hy2hlqlmxaf2n8l8qkb1jk2rb8y6p4076zyhmg8lgn8gs8a";
+      rev = "797f15afd80dcfe213d421e969f9f5f62af3a728";
+      sha256 = "1zi6f7yabz9bvzyj2zwrl5fwbnzjhalacqznj09n8a4l0gxm0x7j";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -4704,12 +4704,12 @@ final: prev:
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary.nvim";
-    version = "2021-10-18";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "901b96d37a30be0504c97cc2c05d3a99b4cca842";
-      sha256 = "14nkpj4x9213waqsy93sdgnll42s4dxxpq5kv6g8w015drjrbwhv";
+      rev = "de5acdcb595f0a97bec874693008c94f94b57060";
+      sha256 = "1g0j2nnmnfkmbirpqg751pl1qxrbx6fx39r9ak0f7sl9rm8322s7";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -4753,12 +4753,12 @@ final: prev:
 
   presence-nvim = buildVimPluginFrom2Nix {
     pname = "presence.nvim";
-    version = "2021-09-28";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "84bf65287f32a9dbb9fd802f05f14bc688abc587";
-      sha256 = "0935j9s1mvgiwvxsaj6qiyycqa8drizlqw5969hrj61g7dnl2vp9";
+      rev = "11adcec0db647625c5f4876257d2764db4621662";
+      sha256 = "0jzks4nvsw69g0gvrb8qpqszhd957fmx0ly9a11h2m5wry179ppp";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -4981,24 +4981,24 @@ final: prev:
 
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2021-10-11";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "3990e5b3609bd883fdc432082f5e1c467ae7d615";
-      sha256 = "0hh4wysfm1p8kkh6ji27vmvxvg2nm7fnkicaby6y88v0zf5scham";
+      rev = "b572093519ccfae919e8d0d1e85fbbd11a1b127c";
+      sha256 = "1n7qi7xsg34x3dgbl5qbmsgkfdrscgfddn2rpimvcc6krdr1jzn2";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
 
   registers-nvim = buildVimPluginFrom2Nix {
     pname = "registers.nvim";
-    version = "2021-10-18";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "35227ec930cfa836f9a82bfdc3afc302b68a372f";
-      sha256 = "1pcc5bhacs6h0bxr3ksr6bwdgl75irqwmiwk4l3dwifdj1arhvq7";
+      rev = "4d1f3525c6f9be4297e99e6aed515af3677d7241";
+      sha256 = "1lw8nwa8z8d8r1i9wg0mm4qdfv17ijzw7iadg2n980dkl6clh1ag";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -5041,12 +5041,12 @@ final: prev:
 
   rnvimr = buildVimPluginFrom2Nix {
     pname = "rnvimr";
-    version = "2021-09-23";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "rnvimr";
-      rev = "ad2d155d7e1a633a597ed3b01e5a8eb084471620";
-      sha256 = "1h9d1pqqs1vzk8qiqzjpycv880m3amb1synfp0sl43a1lbavk8qr";
+      rev = "58fe5d6fae9a56e8d16a5184a12eff322803108d";
+      sha256 = "0q5pji0iwawzqq0g97vd816bj6p8p8i59wwlwvc0vnf21cfrmymz";
     };
     meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
   };
@@ -5089,12 +5089,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2021-10-16";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "441e0104648e1bae89e3eac6857590a64f17583d";
-      sha256 = "13g6vlg3r49vmzl0q6z2mqwz2p2chcjc74bfgn89c284bjri8x94";
+      rev = "04e471c8ba7b32ebc2a127ed7cb8a9e48788a898";
+      sha256 = "1h38zxnsdzswrdibwlxadb7ba6207n3v4q1lxi8k702z8p6ls5p6";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -5559,12 +5559,12 @@ final: prev:
 
   sved = buildVimPluginFrom2Nix {
     pname = "sved";
-    version = "2019-01-25";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "peterbjorgensen";
       repo = "sved";
-      rev = "3362db72447e8ac812c7299c15ecfc9f41341713";
-      sha256 = "1r2nv069d6r2q6gbiz795x94mfjm9hnv05zka085hhq9a3yf1pgx";
+      rev = "2f98472720d0e0c7da5a93b4ab4574f75747f693";
+      sha256 = "070fzga0b039wjhfzb7s0s422kv3as7ifv94ma6vh62ml6zm6mpl";
     };
     meta.homepage = "https://github.com/peterbjorgensen/sved/";
   };
@@ -5583,12 +5583,12 @@ final: prev:
 
   symbols-outline-nvim = buildVimPluginFrom2Nix {
     pname = "symbols-outline.nvim";
-    version = "2021-10-06";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "symbols-outline.nvim";
-      rev = "a1bbef84b7c7240f88092c57732c5b8eb6f48234";
-      sha256 = "0vai0p365hwjs8vzadfgx66ax6jdx6pivfzzjr5v63c83kc466hq";
+      rev = "552b67993ed959993279e0b0f8a1da9f3c5e6fc0";
+      sha256 = "051505dmgcl3hgkmbaszz5l8m9j0fx4jwc2xffgkryxgqwsm4j8s";
     };
     meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/";
   };
@@ -5861,12 +5861,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2021-10-12";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "b5c63c6329cff8dd8e23047eecd1f581379f1587";
-      sha256 = "16xd50ihmdlsbjidykqc53zk98vc0yfpj7rkmyha2jkvanxy53yh";
+      rev = "f56222738b719f5ae94ed85fdf080690371da0b9";
+      sha256 = "0sprnp1636srwa0vs93af3qbrqnhxdmrb6vmagdr66ypk8fpbibg";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -5981,12 +5981,12 @@ final: prev:
 
   todo-comments-nvim = buildVimPluginFrom2Nix {
     pname = "todo-comments.nvim";
-    version = "2021-08-05";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "todo-comments.nvim";
-      rev = "808a2e524b3720804716a99fd900986b9d727d4d";
-      sha256 = "1j1ls4d6c3shbm9pd0b6lwmccxsvlr8j12c3fhn9q6dizkir08qx";
+      rev = "9983edc5ef38c7a035c17c85f60ee13dbd75dcc8";
+      sha256 = "177syll14r0s7hbdv34rnjwc1r8gg7avcz6g9g08j1qzbb3sijh3";
     };
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
@@ -6018,12 +6018,12 @@ final: prev:
 
   tokyonight-nvim = buildVimPluginFrom2Nix {
     pname = "tokyonight.nvim";
-    version = "2021-08-30";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "tokyonight.nvim";
-      rev = "eede574f9ef57137e6d7e4bab37b09db636c5a56";
-      sha256 = "06hhg5n8k9iri3mlgbf80hwz9qwjkvvl6x5f6kjih7klzcx6x04j";
+      rev = "2981e4bd0919305675d8d665f9a20281bb33ed06";
+      sha256 = "15kv5g1srqsayryf3x469sl2bgaq69ni31imp7yi7dfvmzlxf6q1";
     };
     meta.homepage = "https://github.com/folke/tokyonight.nvim/";
   };
@@ -6066,12 +6066,12 @@ final: prev:
 
   trouble-nvim = buildVimPluginFrom2Nix {
     pname = "trouble.nvim";
-    version = "2021-08-05";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "51dd9175eb506b026189c70f81823dfa77defe86";
-      sha256 = "0cd3xiiwsqivy8vx408wdz622i7kcvxw6whmkm1dcw6lnsp4bcg1";
+      rev = "d40695ee07736d16bd764afb48faa193a33641ac";
+      sha256 = "0fqdrp4xyfzb6ch0p1dqlk5sa8xf6rf25kbfn63acjp5c23g6rl1";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
@@ -6834,12 +6834,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-09-26";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "c0cb720b416d9641f37c11abd9bcc005cfe4d8cd";
-      sha256 = "1zw9ygsmzs6n30vra8yxz2rglh5gm6zv81hvfrbvhmvw3cyz7yxf";
+      rev = "582ced5e7b75d68418ae893b346aac3123b9a31e";
+      sha256 = "1541mv5ivqj6nf79csr39pg03bm65fn9agw1wmikph3afplwx96c";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -7458,12 +7458,12 @@ final: prev:
 
   vim-exchange = buildVimPluginFrom2Nix {
     pname = "vim-exchange";
-    version = "2020-12-16";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "tommcdo";
       repo = "vim-exchange";
-      rev = "17f1a2cc0d009cfd7f0dcda06dd0f017fcc1c70b";
-      sha256 = "0c4s9cmyx1myqz9k35waply2mv0yr3agpkv64ndhwgqbmlxyifnj";
+      rev = "784d63083ad7d613aa96f00021cd0dfb126a781a";
+      sha256 = "15bwlky7if7jp3g3banxi2kkci1wa54y36b4m27mggsc6kdabd6q";
     };
     meta.homepage = "https://github.com/tommcdo/vim-exchange/";
   };
@@ -7638,12 +7638,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-10-18";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "4d29c1d6a0def18923b4762c8f85ca3ee5ae6c83";
-      sha256 = "1m8qw6pqgyvfnbph8xwpsvgwdyapsg2abxbpqvsjhcg6ylbxfx17";
+      rev = "30933405bbc77877d714260f4ad1cd4dadf34532";
+      sha256 = "147dpafl5g5h1y47gry26lqw6b7c480qddam1l5npp5bnv58swv4";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -7770,12 +7770,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-10-17";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "66ce1595569513a23e3e0dc7aeb8bcacec3b220c";
-      sha256 = "0bcbrbyqbn993g1i5py2ix8rnsvcxzyhn9fbk7c08257l2i7cc6x";
+      rev = "d317e93675df73feaa2aa32f4cb8f77feeb7114a";
+      sha256 = "0a2xv161kxqjgqvp72ha0gndqvv8f4rrzgiph1lpqbrfhp9jiqci";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -8504,12 +8504,12 @@ final: prev:
 
   vim-lsp-cxx-highlight = buildVimPluginFrom2Nix {
     pname = "vim-lsp-cxx-highlight";
-    version = "2021-10-18";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "jackguo380";
       repo = "vim-lsp-cxx-highlight";
-      rev = "679db721db12c2a1c3ae7addf2cc17ae9a26cf08";
-      sha256 = "064sqa11hnnxj6fnnp9dvd7m367ywg6vzwvqxawqv3cwvgr7123w";
+      rev = "0e7476ff41cd65e55f92fdbc7326335ec33b59b0";
+      sha256 = "02gyxhx39zqphqybsj8sgg70ilgcp0jaj9lcmyyivljg0qirnxhf";
     };
     meta.homepage = "https://github.com/jackguo380/vim-lsp-cxx-highlight/";
   };
@@ -8601,12 +8601,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2021-10-11";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "d0a84be64812f20d92fcd573980f0bc86e7c9bf5";
-      sha256 = "19sks7zai88mw0fvr8ksbwmzf1k34kv7kbkkr1xiqw82zkp7b544";
+      rev = "42c91ec8cc69f47c384c9b9e0aa12918da2e313c";
+      sha256 = "151xx3v95g0qlvxc8k52crnvakvjf0yq25qygwbp5bwh1jf1fbkd";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -9211,14 +9211,26 @@ final: prev:
     meta.homepage = "https://github.com/thinca/vim-prettyprint/";
   };
 
+  vim-prisma = buildVimPluginFrom2Nix {
+    pname = "vim-prisma";
+    version = "2020-04-04";
+    src = fetchFromGitHub {
+      owner = "pantharshit00";
+      repo = "vim-prisma";
+      rev = "e91ac5011232e1bd8ea53204db8d01203d5d0f3c";
+      sha256 = "0pc203n70g1b0qfvrnfi5sxg2vr9zfw274s9lpgpxmribknpxi86";
+    };
+    meta.homepage = "https://github.com/pantharshit00/vim-prisma/";
+  };
+
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2021-04-05";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "8dda7acb7e24b44ef691ba19b35f585e97e91b30";
-      sha256 = "0laqkgwv6hq1ix3kahvx0sfb8c7ifx61z2n4npqswpn0ri4ckd2j";
+      rev = "438b58aab54624e554d71063a69ba3d1e1bfbc2f";
+      sha256 = "1x9x7nb1r4x1lyj16l337dflccx7mbkqrhk7pz02zqnb7qip032f";
     };
     meta.homepage = "https://github.com/tpope/vim-projectionist/";
   };
@@ -9381,12 +9393,12 @@ final: prev:
 
   vim-rails = buildVimPluginFrom2Nix {
     pname = "vim-rails";
-    version = "2021-08-21";
+    version = "2021-10-19";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "03a5c3e85411db1488cdfd1029d2a91f9327c8a2";
-      sha256 = "0x72948i7ilzavf3922hl5d5vmq57f8a7zazpvlmnzs0msvvqzwr";
+      rev = "a4595b48a83824e36c1ebe48b574aa8624632695";
+      sha256 = "1czfv1v7vp2br8mpbb5zpi6rrzfrqr7mq5q4xa3n7b9lhdjw6r4i";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -10642,12 +10654,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2021-10-15";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "3aab9711c06186fc8205e920a82f9e357be66666";
-      sha256 = "16wssm6b0fsj45h4354xbwjz02gg0kasw7907hdhi4jyhpnn0xxs";
+      rev = "c1fca028b3f15779a6447c8be65dbdb9acce31ef";
+      sha256 = "0bq0i1skyrvbbksz3wv8l2021bxxzqbv8q56fc1mi1j9rj8bc459";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -10655,12 +10667,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-10-17";
+    version = "2021-10-21";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "0824ade4187472fcdc1634f462da84b3cfc5931f";
-      sha256 = "0p7308x3yy9n43jhpggqb1vmz39k00ckx3svpxbckwh9y21hjxnc";
+      rev = "60bec44a17f72f9bfbc04d1ea9e6f7752e240502";
+      sha256 = "1h7rp0fsc49af531d7hv8v738s07fv17xx6xlpkixi4rydlsmbv1";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -10763,24 +10775,24 @@ final: prev:
 
   which-key-nvim = buildVimPluginFrom2Nix {
     pname = "which-key.nvim";
-    version = "2021-08-05";
+    version = "2021-10-22";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "which-key.nvim";
-      rev = "b582c9d78f0d105041ed29ec3a8ee11d98ddfd50";
-      sha256 = "00k4x121v5zmd70xn24ipiqnpvzlvbv5p089mxsd0wpkng3q31ks";
+      rev = "d3032b6d3e0adb667975170f626cb693bfc66baa";
+      sha256 = "1jcaxljrknwh73i2s9vd6c5bly1x8gb7j09c8rixb2qwzz0fc0ls";
     };
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
 
   wilder-nvim = buildVimPluginFrom2Nix {
     pname = "wilder.nvim";
-    version = "2021-10-11";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "gelguy";
       repo = "wilder.nvim";
-      rev = "52ff550ef05a0110f4decc4629e0a58b94ca97b8";
-      sha256 = "1xwn6jcgf1wbyzsm64n51m82xpy8s6k7yhyvd7c8byp2gbh7z0r8";
+      rev = "e08642c862bd73828f50c4f701286cae3c81fe4f";
+      sha256 = "0v8jfldjvg7rybs2jgyzrv2mfbda5rgd3x2g4zz8kli6p1513zfp";
     };
     meta.homepage = "https://github.com/gelguy/wilder.nvim/";
   };
@@ -10896,12 +10908,12 @@ final: prev:
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2021-10-16";
+    version = "2021-10-20";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "69430d7ee6f204e0148102ba9c1b9b31a6315cf8";
-      sha256 = "1qqjnhybzf34xmzhhjk5zwv2aly2my51f4r81h54q5xqmkk05sgc";
+      rev = "f35a30d4e22783050944c89b666e481d016cd4e1";
+      sha256 = "1daj2p2gcpyasdik6chib7crz5spi410fy8vdd84xaak8g9s2b9b";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 887a0fb1778..cc12ff401fa 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -496,10 +496,6 @@ self: super: {
       });
   });
 
-  onedark-nvim = super.onedark-nvim.overrideAttrs (old: {
-    dependencies = with self; [ lush-nvim ];
-  });
-
   onehalf = super.onehalf.overrideAttrs (old: {
     configurePhase = "cd vim";
   });
@@ -724,7 +720,7 @@ self: super: {
             libiconv
           ];
 
-          cargoSha256 = "sha256-zg8PKuzC1srCOtn0ZcqI9cZxMwN9hsf+sNhYgDg93Gs=";
+          cargoSha256 = "sha256-DiCQpgyz0iNEm6gjaJU5IGdsQISHhPqlDQBzZafngjY=";
         };
       in
       ''
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 90ec235376e..a903f12a8a1 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -223,7 +223,6 @@ hecal3/vim-leader-guide
 henrik/vim-indexed-search
 HerringtonDarkholme/yats.vim
 honza/vim-snippets
-hoob3rt/lualine.nvim
 hotwatermorning/auto-git-diff
 hrsh7th/cmp-buffer@main
 hrsh7th/cmp-calc@main
@@ -527,6 +526,7 @@ nvim-lua/lsp-status.nvim
 nvim-lua/lsp_extensions.nvim
 nvim-lua/plenary.nvim
 nvim-lua/popup.nvim
+nvim-lualine/lualine.nvim
 nvim-neorg/neorg@main
 nvim-telescope/telescope-cheat.nvim
 nvim-telescope/telescope-dap.nvim
@@ -551,7 +551,7 @@ ojroques/nvim-bufdel@main
 ojroques/vim-oscyank@main
 Olical/aniseed
 Olical/conjure
-olimorris/onedark.nvim
+olimorris/onedarkpro.nvim@main
 onsails/diaglist.nvim
 onsails/lspkind-nvim
 OrangeT/vim-csharp
@@ -563,6 +563,7 @@ osyo-manga/vim-watchdogs
 overcache/NeoSolarized
 p00f/nvim-ts-rainbow
 pangloss/vim-javascript
+pantharshit00/vim-prisma
 parsonsmatt/intero-neovim
 PaterJason/cmp-conjure
 pearofducks/ansible-vim
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index 7fc03228f60..fa319dbab8f 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -1082,6 +1082,18 @@ let
         };
       };
 
+      mhutchie.git-graph = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "git-graph";
+          publisher = "mhutchie";
+          version = "1.30.0";
+          sha256 = "sha256-sHeaMMr5hmQ0kAFZxxMiRk6f0mfjkg2XMnA4Gf+DHwA=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       mikestead.dotenv = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "dotenv";
diff --git a/pkgs/misc/wiki-tui/default.nix b/pkgs/misc/wiki-tui/default.nix
new file mode 100644
index 00000000000..b07dd8c731b
--- /dev/null
+++ b/pkgs/misc/wiki-tui/default.nix
@@ -0,0 +1,25 @@
+{ lib, rustPlatform, fetchCrate, ncurses, openssl, pkg-config }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wiki-tui";
+  version = "0.3.4";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-H+C1AbZ2zUhw6TNlSPaNaNuY5iNf39JW4q2g6uolevM=";
+  };
+
+  buildInputs = [ ncurses openssl ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  cargoSha256 = "sha256-PIt592nGtNEREQMukqRl/6KSJ/P32fWucHEMyOOc7BA=";
+
+  meta = with lib; {
+    description = "A simple and easy to use Wikipedia Text User Interface";
+    homepage = "https://github.com/builditluc/wiki-tui";
+    license = licenses.mit;
+    maintainers = with maintainers; [ legendofmiracles ];
+    mainProgram = "wiki-tui";
+  };
+}
diff --git a/pkgs/os-specific/linux/cramfsswap/default.nix b/pkgs/os-specific/linux/cramfsswap/default.nix
index ee3c12d251b..f7992118638 100644
--- a/pkgs/os-specific/linux/cramfsswap/default.nix
+++ b/pkgs/os-specific/linux/cramfsswap/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     url = "mirror://debian/pool/main/c/cramfsswap/${pname}_${version}.tar.xz";
     sha256 = "10mj45zx71inaa3l1d81g64f7yn1xcprvq4v4yzpdwbxqmqaikw1";
   };
+  #  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996964
+  patches = [ ./parallel-make.patch ];
 
   # Needed for cross-compilation
   postPatch = ''
diff --git a/pkgs/os-specific/linux/cramfsswap/parallel-make.patch b/pkgs/os-specific/linux/cramfsswap/parallel-make.patch
new file mode 100644
index 00000000000..280c5286b79
--- /dev/null
+++ b/pkgs/os-specific/linux/cramfsswap/parallel-make.patch
@@ -0,0 +1,14 @@
+Fix parallel build failure bya dding the dependency.
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996964
+--- a/Makefile
++++ b/Makefile
+@@ -6,7 +6,7 @@ debian: cramfsswap
+ cramfsswap: cramfsswap.c
+ 	$(CC) -Wall -g -O $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o cramfsswap cramfsswap.c -lz
+ 
+-strip:
++strip: cramfsswap
+ 	strip cramfsswap
+ 
+ install: cramfsswap
diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix
index 3a6f31fa552..fa26f38941b 100644
--- a/pkgs/os-specific/linux/dmraid/default.nix
+++ b/pkgs/os-specific/linux/dmraid/default.nix
@@ -35,6 +35,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ lvm2 ];
 
+  # Hand-written Makefile does not have full dependencies to survive
+  # parallel build:
+  #   tools/dmraid.c:12:10: fatal error: dmraid/dmraid.h: No such file
+  enableParallelBuilding = false;
+
   meta = {
     description = "Old-style RAID configuration utility";
     longDescription = ''
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 717fdaee72a..0e48b2460bc 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -246,6 +246,8 @@ let
       FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER = whenAtLeast "4.19" yes;
       FRAMEBUFFER_CONSOLE_ROTATION = yes;
       FB_GEODE            = mkIf (stdenv.hostPlatform.system == "i686-linux") yes;
+      # On 5.14 this conflicts with FB_SIMPLE.
+      DRM_SIMPLEDRM = whenAtLeast "5.14" no;
     };
 
     video = {
@@ -410,7 +412,7 @@ let
       CIFS_POSIX        = option yes;
       CIFS_FSCACHE      = yes;
       CIFS_STATS        = whenOlder "4.19" yes;
-      CIFS_WEAK_PW_HASH = yes;
+      CIFS_WEAK_PW_HASH = whenOlder "5.15" yes;
       CIFS_UPCALL       = yes;
       CIFS_ACL          = whenOlder "5.3" yes;
       CIFS_DFS_UPCALL   = yes;
diff --git a/pkgs/os-specific/linux/kernel/linux-lqx.nix b/pkgs/os-specific/linux/kernel/linux-lqx.nix
index a0da293548d..8c8b764a881 100644
--- a/pkgs/os-specific/linux/kernel/linux-lqx.nix
+++ b/pkgs/os-specific/linux/kernel/linux-lqx.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub, buildLinux, linux_zen, ... } @ args:
 
 let
-  version = "5.14.11";
+  version = "5.14.14";
   suffix = "lqx1";
 in
 
@@ -14,7 +14,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "sha256-4SSAcI1TwaKgz/bwma+YQtIBtodEAYxqdtUI3ESM7I8=";
+    sha256 = "sha256-gwWZNGHmbKQajMP4mu3XT2Xf93MkcNpAXW8h94O4pNM=";
   };
 
   extraMeta = {
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 2caea08416e..0754ff335ba 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,15 +3,15 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.13-rc6";
-  extraMeta.branch = "5.12";
+  version = "5.15-rc6";
+  extraMeta.branch = lib.versions.majorMinor version;
 
   # 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 = "sha256-PunFd6tOsmrsPItp2QX4TEVxHnvvi1BMSwWio/DTlMU=";
+    sha256 = "1lp3jqwsbd97k3bx4crs8rc2wssyaf0v8x4kl4zv7g7ww2kkg2ii";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index 52e5b861330..c3ab1e6cb41 100644
--- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -2,7 +2,7 @@
 
 let
   version = "5.14.14";
-  release = "1";
+  release = "2";
   suffix = "xanmod${release}-cacule";
 in
 buildLinux (args // rec {
@@ -13,7 +13,7 @@ buildLinux (args // rec {
     owner = "xanmod";
     repo = "linux";
     rev = modDirVersion;
-    sha256 = "sha256-/cbTByyV+hYjn9PHSIb6FeKcl6ejbaVG6hj0VXgaHDg=";
+    sha256 = "sha256-zjFfxb/Q4fc7gE4+ZPErc2hoPXb1rGVftc9fy76BE/8=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix
index df740845b6f..5b354bee7aa 100644
--- a/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -2,7 +2,7 @@
 
 let
   # having the full version string here makes it easier to update
-  modDirVersion = "5.14.8-zen1";
+  modDirVersion = "5.14.14-zen1";
   parts = lib.splitString "-" modDirVersion;
   version = lib.elemAt parts 0;
   suffix = lib.elemAt parts 1;
@@ -19,7 +19,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${modDirVersion}";
-    sha256 = "sha256-hquMBDjP4fBMNdjxxnJJKx/oVNd2DwBPmVpZQeEQvHQ=";
+    sha256 = "sha256-cW3i672F7dmU3tzR1cJCkrm8T6F9uYt4DyMFDL37Fpo=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index e10af3abf92..bfe888c6e44 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -9,11 +9,11 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "lxc";
-  version = "4.0.10";
+  version = "4.0.11";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz";
-    sha256 = "1sgsic9dzj3wv2k5bx2vhcgappivhp1glkqfc2yrgr6jas052351";
+    sha256 = "0b7hv4n8b3lndhr0jf9j1gkbzxm8897a1myjsfgwzad9gkhq395g";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/headscale/default.nix b/pkgs/servers/headscale/default.nix
index c863115afb7..d27831402ec 100644
--- a/pkgs/servers/headscale/default.nix
+++ b/pkgs/servers/headscale/default.nix
@@ -1,26 +1,49 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "headscale";
-  version = "0.9.2";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = "juanfont";
     repo = "headscale";
     rev = "v${version}";
-    sha256 = "sha256-1YxcfSOGGdyUZyQdKSHUiK5/43Ki/QvHvIZ/Ai5Mq7E=";
+    sha256 = "sha256-cUDLqSMEw1SRMskHx3hhb/y7N7ZQEDEAZ40X5J53Bow=";
   };
 
-  vendorSha256 = "sha256-LJajQDk+r9Wt2t/kwNhsCoSlU+EjSNc1WT2vqtqg4LI=";
+  vendorSha256 = "sha256-t7S1jE76AFFIePrFtvrIQcId7hLeNIAm/eA9AVoFy5E=";
 
-  # Ldflags are same as build target in the project's Makefile
-  # https://github.com/juanfont/headscale/blob/main/Makefile
-  ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd headscale \
+      --bash <($out/bin/headscale completion bash) \
+      --fish <($out/bin/headscale completion fish) \
+      --zsh <($out/bin/headscale completion zsh)
+  '';
 
   meta = with lib; {
-    description = "An implementation of the Tailscale coordination server";
     homepage = "https://github.com/juanfont/headscale";
+    description = "An open source, self-hosted implementation of the Tailscale control server";
+    longDescription = ''
+      Tailscale is a modern VPN built on top of Wireguard. It works like an
+      overlay network between the computers of your networks - using all kinds
+      of NAT traversal sorcery.
+
+      Everything in Tailscale is Open Source, except the GUI clients for
+      proprietary OS (Windows and macOS/iOS), and the
+      'coordination/control server'.
+
+      The control server works as an exchange point of Wireguard public keys for
+      the nodes in the Tailscale network. It also assigns the IP addresses of
+      the clients, creates the boundaries between each user, enables sharing
+      machines between users, and exposes the advertised routes of your nodes.
+
+      Headscale implements this coordination server.
+    '';
     license = licenses.bsd3;
-    maintainers = with maintainers; [ nkje ];
+    maintainers = with maintainers; [ nkje jk ];
   };
 }
diff --git a/pkgs/servers/heisenbridge/default.nix b/pkgs/servers/heisenbridge/default.nix
index f0f2009fad1..8bee6d5b065 100644
--- a/pkgs/servers/heisenbridge/default.nix
+++ b/pkgs/servers/heisenbridge/default.nix
@@ -2,19 +2,20 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "heisenbridge";
-  version = "1.2.1";
+  version = "1.3.0";
 
   # Use the release tarball because it has the version set correctly using the
   # version.txt file.
   src = fetchurl {
     url = "https://github.com/hifi/heisenbridge/releases/download/v${version}/heisenbridge-${version}.tar.gz";
-    sha256 = "sha256-w+8gsuPlnT1pl+jiZFBYcIAN4agIAcvwkmdysj3+RAQ=";
+    sha256 = "sha256-fj0eJS7c1zSrzHfnlEhJICVDZ+Mo9hKgxwaZ2gn5CsY=";
   };
 
   propagatedBuildInputs = with python3Packages; [
     aiohttp
     irc
     mautrix
+    python-socks
     pyyaml
   ];
 
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 56e30167ad3..e66f138c66c 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -42,7 +42,7 @@
     "anel_pwrctrl" = ps: with ps; [ ]; # missing inputs: anel_pwrctrl-homeassistant
     "anthemav" = ps: with ps; [ ]; # missing inputs: anthemav
     "apache_kafka" = ps: with ps; [ aiokafka ];
-    "apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess
+    "apcupsd" = ps: with ps; [ apcaccess ];
     "api" = ps: with ps; [ aiohttp-cors ];
     "apns" = ps: with ps; [ ]; # missing inputs: apns2
     "apple_tv" = ps: with ps; [ pyatv ];
@@ -62,7 +62,7 @@
     "asuswrt" = ps: with ps; [ aioasuswrt ];
     "atag" = ps: with ps; [ pyatag ];
     "aten_pe" = ps: with ps; [ atenpdu ];
-    "atome" = ps: with ps; [ ]; # missing inputs: pyatome
+    "atome" = ps: with ps; [ pyatome ];
     "august" = ps: with ps; [ yalexs ];
     "aurora" = ps: with ps; [ auroranoaa ];
     "aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
@@ -845,7 +845,7 @@
     "syncthing" = ps: with ps; [ aiosyncthing ];
     "syncthru" = ps: with ps; [ pysyncthru url-normalize ];
     "synology_chat" = ps: with ps; [ ];
-    "synology_dsm" = ps: with ps; [ ]; # missing inputs: py-synologydsm-api
+    "synology_dsm" = ps: with ps; [ py-synologydsm-api ];
     "synology_srm" = ps: with ps; [ ]; # missing inputs: synology-srm
     "syslog" = ps: with ps; [ ];
     "system_bridge" = ps: with ps; [ aiohttp-cors ifaddr systembridge zeroconf ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index c697cba09d1..a6fd0bea0ef 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -642,6 +642,7 @@ in with py.pkgs; buildPythonApplication rec {
     "switcher_kis"
     "syncthing"
     "syncthru"
+    "synology_dsm"
     "system_health"
     "system_log"
     "tado"
diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix
index d08161c76b2..4503d362dc6 100644
--- a/pkgs/servers/http/unit/default.nix
+++ b/pkgs/servers/http/unit/default.nix
@@ -7,7 +7,6 @@
 , withPerl532 ? false, perl532
 , withPerl534 ? true, perl534
 , withPerldevel ? false, perldevel
-, withRuby_2_6 ? true, ruby_2_6
 , withRuby_2_7 ? false, ruby_2_7
 , withSSL ? true, openssl ? null
 , withIPv6 ? true
@@ -50,7 +49,6 @@ in stdenv.mkDerivation rec {
     ++ optional withPerl532 perl532
     ++ optional withPerl534 perl534
     ++ optional withPerldevel perldevel
-    ++ optional withRuby_2_6 ruby_2_6
     ++ optional withRuby_2_7 ruby_2_7
     ++ optional withSSL openssl;
 
@@ -75,7 +73,6 @@ in stdenv.mkDerivation rec {
     ${optionalString withPerl532    "./configure perl   --module=perl532  --perl=${perl532}/bin/perl"}
     ${optionalString withPerl534    "./configure perl   --module=perl534  --perl=${perl534}/bin/perl"}
     ${optionalString withPerldevel  "./configure perl   --module=perldev  --perl=${perldevel}/bin/perl"}
-    ${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"}
   '';
 
diff --git a/pkgs/servers/monitoring/sensu-go/default.nix b/pkgs/servers/monitoring/sensu-go/default.nix
index 6358fa75391..9b07f299f72 100644
--- a/pkgs/servers/monitoring/sensu-go/default.nix
+++ b/pkgs/servers/monitoring/sensu-go/default.nix
@@ -1,7 +1,7 @@
 { buildGoModule, fetchFromGitHub, lib }:
 
 let
-  generic = { subPackages, pname, postInstall ? "" }:
+  generic = { subPackages, pname, postInstall ? "", mainProgram }:
     buildGoModule rec {
       inherit pname;
       version = "6.4.1";
@@ -16,9 +16,9 @@ let
 
       inherit subPackages postInstall;
 
-  vendorSha256 = "sha256-fStGEKAR9fzA6Uom6r59jFGTBUfTTj0TzytoJWuicbU=";
+      vendorSha256 = "sha256-fStGEKAR9fzA6Uom6r59jFGTBUfTTj0TzytoJWuicbU=";
 
-  doCheck = false;
+      doCheck = false;
 
       ldflags = let
         versionPkg = "github.com/sensu/sensu-go/version";
@@ -28,6 +28,7 @@ let
       ];
 
       meta = {
+        inherit mainProgram;
         homepage = "https://sensu.io";
         description = "Open source monitoring tool for ephemeral infrastructure & distributed applications";
         license = lib.licenses.mit;
@@ -54,15 +55,18 @@ in
       ) > ''${!outputBin}/share/zsh/site-functions/_sensuctl
 
     '';
+    mainProgram = "sensuctl";
   };
 
   sensu-go-backend = generic {
     pname = "sensu-go-backend";
     subPackages = [ "cmd/sensu-backend" ];
+    mainProgram = "sensu-backend";
   };
 
   sensu-go-agent = generic {
     pname = "sensu-go-agent";
     subPackages = [ "cmd/sensu-agent" ];
+    mainProgram = "sensu-agent";
   };
 }
diff --git a/pkgs/servers/pufferpanel/default.nix b/pkgs/servers/pufferpanel/default.nix
index 044852bdfef..82bbe7b3a7b 100644
--- a/pkgs/servers/pufferpanel/default.nix
+++ b/pkgs/servers/pufferpanel/default.nix
@@ -5,7 +5,7 @@
 , pkgs
 , stdenv
 , fetchzip
-, openjdk16
+, jdk
 , nodejs
 , pathDeps ? [ ]
 }:
diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index a4a54e45c63..f7e33b88cec 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -2,26 +2,25 @@
 
 buildGoModule rec {
   pname = "hilbish";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "Rosettea";
     repo = "Hilbish";
     rev = "v${version}";
-    sha256 = "sha256-ACHHHGT3VGnvZVi1UZb57+g/slcld5e3bh+DDhUVVpQ=";
+    sha256 = "sha256-3qU1gQSWxyKgQcHgT61Q+n6u0rGU0vqTdT/VwMN20yw=";
     fetchSubmodules = true;
   };
 
-  vendorSha256 = "sha256-SVGPMFpQjVOWCfiPpEmqhp6MEO0wqeyAZVyeNmTuXl0=";
+  vendorSha256 = "sha256-xnq0CEfz9uVpDkqY5/Sw9O5uMTHV74vQBXrav3bbH7E=";
 
   buildInputs = [ readline ];
 
-  ldflags = [ "-s" "-w" ];
-
-  postPatch = ''
-    substituteInPlace vars_linux.go \
-      --replace "/usr/share" "${placeholder "out"}/share/"
-  '';
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.dataDir=${placeholder "out"}/share/hilbish"
+  ];
 
   postInstall = ''
     mkdir -p "$out/share/hilbish"
diff --git a/pkgs/tools/admin/puppet/puppet-bolt/Gemfile.lock b/pkgs/tools/admin/puppet/puppet-bolt/Gemfile.lock
index 4d5554b1173..ff3a8eda88f 100644
--- a/pkgs/tools/admin/puppet/puppet-bolt/Gemfile.lock
+++ b/pkgs/tools/admin/puppet/puppet-bolt/Gemfile.lock
@@ -4,20 +4,20 @@ GEM
     CFPropertyList (2.3.6)
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
-    aws-eventstream (1.1.1)
-    aws-partitions (1.493.0)
-    aws-sdk-core (3.119.1)
+    aws-eventstream (1.2.0)
+    aws-partitions (1.516.0)
+    aws-sdk-core (3.121.2)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.260.0)
-      aws-sdk-core (~> 3, >= 3.119.0)
+    aws-sdk-ec2 (1.271.0)
+      aws-sdk-core (~> 3, >= 3.121.2)
       aws-sigv4 (~> 1.1)
-    aws-sigv4 (1.2.4)
+    aws-sigv4 (1.4.0)
       aws-eventstream (~> 1, >= 1.0.2)
     bindata (2.4.10)
-    bolt (3.17.0)
+    bolt (3.19.0)
       CFPropertyList (~> 2.2)
       addressable (~> 2.5)
       aws-sdk-ec2 (~> 1)
@@ -35,7 +35,7 @@ GEM
       puppet-resource_api (>= 1.8.1)
       puppet-strings (~> 2.3)
       puppetfile-resolver (~> 0.5)
-      r10k (~> 3.1)
+      r10k (~> 3.10)
       ruby_smb (~> 1.0)
       terminal-table (~> 1.8)
       winrm (~> 2.0)
@@ -47,7 +47,7 @@ GEM
     cri (2.15.10)
     deep_merge (1.2.1)
     erubi (1.10.0)
-    facter (4.2.3)
+    facter (4.2.5)
       hocon (~> 1.3)
       thor (>= 1.0.1, < 2.0)
     faraday (0.17.4)
@@ -55,7 +55,7 @@ GEM
     faraday_middleware (0.14.0)
       faraday (>= 0.7.4, < 1.0)
     fast_gettext (1.1.2)
-    ffi (1.15.3)
+    ffi (1.15.4)
     gettext (3.2.9)
       locale (>= 2.0.5)
       text (>= 1.3.0)
@@ -100,7 +100,7 @@ GEM
       faraday
       net-http-persistent
     public_suffix (4.0.6)
-    puppet (7.10.0)
+    puppet (7.12.0)
       concurrent-ruby (~> 1.0)
       deep_merge (~> 1.0)
       facter (> 2.0.1, < 5)
@@ -125,7 +125,7 @@ GEM
     puppetfile-resolver (0.5.0)
       molinillo (~> 0.6)
       semantic_puppet (~> 1.0)
-    r10k (3.11.0)
+    r10k (3.12.1)
       colored2 (= 3.1.2)
       cri (= 2.15.10)
       fast_gettext (~> 1.1.0)
@@ -135,7 +135,7 @@ GEM
       log4r (= 1.1.10)
       multi_json (~> 1.10)
       puppet_forge (~> 2.3.0)
-    rgen (0.8.2)
+    rgen (0.9.0)
     ruby_smb (1.1.0)
       bindata
       rubyntlm
@@ -148,7 +148,7 @@ GEM
       unicode-display_width (~> 1.1, >= 1.1.1)
     text (1.3.1)
     thor (1.1.0)
-    unicode-display_width (1.7.0)
+    unicode-display_width (1.8.0)
     windows_error (0.1.2)
     winrm (2.3.6)
       builder (>= 2.1.2)
diff --git a/pkgs/tools/admin/puppet/puppet-bolt/gemset.nix b/pkgs/tools/admin/puppet/puppet-bolt/gemset.nix
index 9ea6423f29d..12126edfc82 100644
--- a/pkgs/tools/admin/puppet/puppet-bolt/gemset.nix
+++ b/pkgs/tools/admin/puppet/puppet-bolt/gemset.nix
@@ -15,20 +15,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jfki5ikfr8ln5cdgv4iv1643kax0bjpp29jh78chzy713274jh3";
+      sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.0";
   };
   aws-partitions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qq2fsccafv3lag6c86xai9nbiszfhzfdj9hla9iphjpa1wlfqcp";
+      sha256 = "1jx44f1hc41712k8fqmzrbpqs2j9yl0msdqcmmfp0pirkbqw6ri0";
       type = "gem";
     };
-    version = "1.493.0";
+    version = "1.516.0";
   };
   aws-sdk-core = {
     dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -36,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l09wjfa3y38jc5njqcxmj4f6gra79adhxzmsym2cvcrazcv272w";
+      sha256 = "0d44wgbzlwc6gb2ql9cayljdwhlvz9byp2grk0n9favb7rq42fwc";
       type = "gem";
     };
-    version = "3.119.1";
+    version = "3.121.2";
   };
   aws-sdk-ec2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -47,10 +47,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07l9nsd9fk42qbc727s73qylrrbag6l1qig5xgcfqjh2m2qjb9b4";
+      sha256 = "0k85khm2c53y2sq29c9rg5kmjm1fnw2glgpjsl6hbh8cq3ciaain";
       type = "gem";
     };
-    version = "1.260.0";
+    version = "1.271.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -58,10 +58,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cb9hsg0x9v4yk6sxif8968sg646qphmsjaqy9z8p7y3my5bkrf0";
+      sha256 = "1wh1y79v0s4zgby2m79bnifk65hwf5pvk2yyrxzn2jkjjq8f8fqa";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.4.0";
   };
   bindata = {
     groups = ["default"];
@@ -79,10 +79,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zszklla2j1dh4w9drz03zn20ls5im4vji5wsvn6zbyaj2ivkdiq";
+      sha256 = "0jmknsa10zazwba1mi19awywk14vj0danppx1hqzmmrpp0af98if";
       type = "gem";
     };
-    version = "3.17.0";
+    version = "3.19.0";
   };
   builder = {
     groups = ["default"];
@@ -170,10 +170,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08n13ygl2fripg9a8wxf2p6qpv48dkmq079cbcpw3g351pq38gzk";
+      sha256 = "1mhq4rmyc60ijzw6f6sbphyb76vlwcgbaqyqw6y7wb8qdisn19wc";
       type = "gem";
     };
-    version = "4.2.3";
+    version = "4.2.5";
   };
   faraday = {
     dependencies = ["multipart-post"];
@@ -212,10 +212,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq";
+      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
       type = "gem";
     };
-    version = "1.15.3";
+    version = "1.15.4";
   };
   gettext = {
     dependencies = ["locale" "text"];
@@ -503,10 +503,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bfqwz6jyx746sf06bh14blf1g2xh7lv5bqpradzpfkxgxcy9j2b";
+      sha256 = "02d9rqbqlmdbw6zh89zwh27ra6pqspcv5afqbpj1yrvg1k6cliri";
       type = "gem";
     };
-    version = "7.10.0";
+    version = "7.12.0";
   };
   puppet-resource_api = {
     dependencies = ["hocon"];
@@ -558,20 +558,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "004z9nhgc3w33snrcyjikhrw53nk5nprysq9l3dkssv79ygfw5dg";
+      sha256 = "05qwvwgh08g5pw1cxikb7hpg0ia6nisva1gwpj0d9gb9wacml2qh";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.12.1";
   };
   rgen = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "077kbdnn4cp6jks0w4xsybpiw2cc8y2c7hw7zx5dpf9cwzl7mq0p";
+      sha256 = "18ryflbkc2pvbb7jwl35pnyb1mlx9fby85dnqi7hsbz78mzsf87n";
       type = "gem";
     };
-    version = "0.8.2";
+    version = "0.9.0";
   };
   ruby_smb = {
     dependencies = ["bindata" "rubyntlm" "windows_error"];
@@ -660,10 +660,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
+      sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.8.0";
   };
   windows_error = {
     groups = ["default"];
diff --git a/pkgs/tools/admin/winbox/default.nix b/pkgs/tools/admin/winbox/default.nix
new file mode 100644
index 00000000000..c8595ee1072
--- /dev/null
+++ b/pkgs/tools/admin/winbox/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, symlinkJoin
+, writeShellScriptBin
+
+, wine
+, use64 ? false
+}:
+
+let
+  inherit (lib) last splitString;
+
+  pname = "winbox";
+  version = "3.31";
+  name = "${pname}-${version}";
+
+  executable = fetchurl (if use64 then {
+    url = "https://download.mikrotik.com/winbox/${version}/${pname}64.exe";
+    sha256 = "sha256-aE6RZ2bCYahxH5QWxBH4CJOjW9dbzibx8zQ4Z5652V4=";
+  } else {
+    url = "https://download.mikrotik.com/winbox/${version}/${pname}.exe";
+    sha256 = "sha256-yyKiU5xJlp/VQVYuX79pdCEve63yV3SUzi+/c915gAc=";
+  });
+  # This is from the winbox AUR package:
+  # https://aur.archlinux.org/cgit/aur.git/tree/winbox64?h=winbox64&id=8edd93792af84e87592e8645ca09e9795931e60e
+  wrapper = writeShellScriptBin pname ''
+    export WINEPREFIX="''${WINBOX_HOME:-"''${XDG_DATA_HOME:-"''${HOME}/.local/share"}/winbox"}/wine"
+    export WINEARCH=${if use64 then "win64" else "win32"}
+    export WINEDLLOVERRIDES="mscoree=" # disable mono
+    export WINEDEBUG=-all
+    if [ ! -d "$WINEPREFIX" ] ; then
+      mkdir -p "$WINEPREFIX"
+      ${wine}/bin/wineboot -u
+    fi
+
+    ${wine}/bin/wine ${executable} "$@"
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = pname;
+    desktopName = "Winbox";
+    comment = "GUI administration for Mikrotik RouterOS";
+    exec = pname;
+    icon = pname;
+    type = "Application";
+    categories = "Utility";
+    extraDesktopEntries = {
+      StartupWMClass = last (splitString "/" executable);
+    };
+  };
+
+  # The icon is also from the winbox AUR package (see above).
+  icon = fetchurl {
+    name = "winbox.png";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/winbox.png?h=winbox";
+    sha256 = "sha256-YD6u2N+1thRnEsXO6AHm138fRda9XEtUX5+EGTg004A=";
+  };
+in
+symlinkJoin {
+  inherit name pname version;
+  paths = [ wrapper desktopItem ];
+
+  postBuild = ''
+    mkdir -p "$out/share/pixmaps"
+    ln -s "${icon}" "$out/share/pixmaps/${pname}.png"
+  '';
+
+  meta = with lib; {
+    description = "Graphical configuration utility for RouterOS-based devices";
+    homepage = "https://mikrotik.com";
+    downloadPage = "https://mikrotik.com/download";
+    changelog = "https://wiki.mikrotik.com/wiki/Winbox_changelog";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ yrd ];
+  };
+}
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 073d61a3d4c..136da49491b 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2021.09.15";
+  version = "2021.10.11";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "sha256-BrEgvrAHNfJpFTlI8tec+9w3G+5YR15lbzh/RKKpQ1c=";
+    sha256 = "sha256-2M6nCJD1ovW8Wzw+ucii5PjeNTOiTletor7MPCMPl38=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/graphics/spirv-cross/default.nix b/pkgs/tools/graphics/spirv-cross/default.nix
index 19359698f02..0c5b936093c 100644
--- a/pkgs/tools/graphics/spirv-cross/default.nix
+++ b/pkgs/tools/graphics/spirv-cross/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-cross";
-  version = "2021-01-15";
+  version = "MoltenVK-1.1.5";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Cross";
     rev = version;
-    sha256 = "/9/Owt7XcdOjujWZnaG1Q7FlywvsRo8/l8/CouS48Vk=";
+    sha256 = "/t6hAlGY3+bddWg5ERFbqeU4/MAjq+/AEVv1Jy2C0HA=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/tools/misc/dpt-rp1-py/default.nix b/pkgs/tools/misc/dpt-rp1-py/default.nix
index 52038c8efa9..4fb7acb188a 100644
--- a/pkgs/tools/misc/dpt-rp1-py/default.nix
+++ b/pkgs/tools/misc/dpt-rp1-py/default.nix
@@ -32,5 +32,6 @@ python3Packages.buildPythonApplication rec {
     description = "Python script to manage Sony DPT-RP1 without Digital Paper App";
     license = licenses.mit;
     maintainers = with maintainers; [ mt-caret ];
+    mainProgram = "dptrp1";
   };
 }
diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix
index cc2123c9d33..1ce5ced3f3e 100644
--- a/pkgs/tools/misc/esphome/dashboard.nix
+++ b/pkgs/tools/misc/esphome/dashboard.nix
@@ -4,11 +4,11 @@
 
 with python3.pkgs; buildPythonPackage rec {
   pname = "esphome-dashboard";
-  version = "20210908.0";
+  version = "20211021.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Oz/87FFP9AEK7vVTjgqIA6hSSQJLKet759S2t5Ci1oA=";
+    sha256 = "sha256-stJ6fUs02XpCN671EztHTLkXd57eMo6472Q1e1/cbHY=";
   };
 
   # no tests
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index 4e772399171..dbe57f1bdf5 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -16,13 +16,13 @@ let
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "esphome";
-  version = "2021.9.3";
+  version = "2021.10.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-vQ4OX+iHWWIxi/r5ayChgNglI7QQsgx0LqXCR6J0pLE=";
+    sha256 = "sha256-zVZantMYtDWkvFrXmX0HpUchmc3T2gbkrMiWGP2ibNc=";
   };
 
   patches = [
@@ -54,12 +54,14 @@ with python.pkgs; buildPythonApplication rec {
     cryptography
     esphome-dashboard
     ifaddr
+    kconfiglib
     paho-mqtt
     pillow
     protobuf
     pyserial
     pyyaml
     tornado
+    tzdata
     tzlocal
     voluptuous
   ];
diff --git a/pkgs/tools/misc/rust-motd/default.nix b/pkgs/tools/misc/rust-motd/default.nix
new file mode 100644
index 00000000000..cdc3dbdae10
--- /dev/null
+++ b/pkgs/tools/misc/rust-motd/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, stdenv
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rust-motd";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "rust-motd";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0xhdbhl0riaq9n4g9n333pgw966bsi60zpcy7gpndzfj21bj2x1m";
+  };
+
+  cargoSha256 = "sha256-l9Sit+niCLOnL1mdK6i8jea8NWsJlFM6p9lMTXyWOKY=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+
+  meta = with lib; {
+    description = "Beautiful, useful MOTD generation with zero runtime dependencies";
+    homepage = "https://github.com/rust-motd/rust-motd";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/tools/misc/z-lua/default.nix b/pkgs/tools/misc/z-lua/default.nix
index cee704e9381..751f68bf089 100644
--- a/pkgs/tools/misc/z-lua/default.nix
+++ b/pkgs/tools/misc/z-lua/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/skywind3000/z.lua";
     description = "A new cd command that helps you navigate faster by learning your habits";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
+    mainProgram = "z.lua";
   };
 }
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index 7c56f43ca16..fcf2caf277a 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.18.1";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-r9RZVmWKJJLiNSbSQPVJPR5koLR6DoAwlitTiQOc1fI=";
+    sha256 = "sha256-/1ngmthzWp9K7pBBOBiSMUv0yC66K3Tg2g2PoBskpTU=";
   };
 
-  cargoSha256 = "sha256-xaC9wuT21SYH7H8/d4usDjHeojNZ2d/NkqMqNlQQ1n0=";
+  cargoSha256 = "sha256-eFWsqjXO6QFTO26ppZ4tiJXc/PEYD+5ZdbTBMoDoLFI=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/networking/dogdns/default.nix b/pkgs/tools/networking/dogdns/default.nix
index 1374e4473c0..c101615855f 100644
--- a/pkgs/tools/networking/dogdns/default.nix
+++ b/pkgs/tools/networking/dogdns/default.nix
@@ -1,10 +1,11 @@
-{ lib, stdenv
-, fetchFromGitHub
+{ lib
 , rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, stdenv
 , pkg-config
 , openssl
 , Security
-, installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -34,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://dns.lookup.dog";
     license = licenses.eupl12;
     maintainers = with maintainers; [ bbigras ];
+    mainProgram = "dog";
   };
 }
diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix
index 0182440a8eb..65adb3c5eb8 100644
--- a/pkgs/tools/networking/miniupnpc/default.nix
+++ b/pkgs/tools/networking/miniupnpc/default.nix
@@ -19,7 +19,9 @@ let
 
       makeFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ];
 
-      postInstall = ''chmod +x "$out"/lib/libminiupnpc.so'';
+      postInstall = ''
+        chmod +x "$out"/lib/libminiupnpc${stdenv.hostPlatform.extensions.sharedLibrary}
+      '';
 
       meta = with lib; {
         homepage = "http://miniupnp.free.fr/";
diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix b/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix
new file mode 100644
index 00000000000..56fec5333fc
--- /dev/null
+++ b/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix
@@ -0,0 +1,9 @@
+{ lib
+, pkgs
+, callPackage
+}:
+
+rec {
+  libtorrent = callPackage ./libtorrent.nix { };
+  rtorrent = callPackage ./rtorrent.nix { };
+}
diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix b/pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix
new file mode 100644
index 00000000000..08b646421b8
--- /dev/null
+++ b/pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtest
+, openssl
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jesec-libtorrent";
+  version = "0.13.8-r3";
+
+  src = fetchFromGitHub {
+    owner = "jesec";
+    repo = "libtorrent";
+    rev = "v${version}";
+    hash = "sha256-S3DOKzXkvU+ZJxfrxwLXCVBnepzmiZ+3iiQqz084BEk=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+  buildInputs = [
+    openssl
+    zlib
+  ];
+
+  doCheck = true;
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
+  '';
+  checkInputs = [
+    gtest
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/jesec/libtorrent";
+    description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code (jesec's fork)";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ winterqt AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/p2p/rtorrent-jesec/default.nix b/pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix
index eeff6e91399..3e69e64de35 100644
--- a/pkgs/tools/networking/p2p/rtorrent-jesec/default.nix
+++ b/pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix
@@ -2,40 +2,48 @@
 , stdenv
 , fetchFromGitHub
 , cmake
-, gtest
-, libtorrent-jesec
 , curl
+, gtest
+, libtorrent
 , ncurses
-, xmlrpc_c
-, nlohmann_json
-, xmlRpcSupport ? true
-, jsonRpcSupport ? true
+, jsonRpcSupport ? true, nlohmann_json
+, xmlRpcSupport ? true, xmlrpc_c
 }:
-let
-  inherit (lib) optional;
-in
+
 stdenv.mkDerivation rec {
-  pname = "rtorrent-jesec";
-  version = "0.9.8-r14";
+  pname = "jesec-rtorrent";
+  version = "0.9.8-r15";
 
   src = fetchFromGitHub {
     owner = "jesec";
     repo = "rtorrent";
     rev = "v${version}";
-    sha256 = "sha256-AbjzNIha3MkCZi6MuyUfPx9r3zeXeTUzkbD7uHB85lo=";
+    hash = "sha256-yYOw8wsiQd478JijLgPtEWsw2/ewd46re+t9D705rmk=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libtorrent-jesec curl ncurses ]
-    ++ optional xmlRpcSupport xmlrpc_c
-    ++ optional jsonRpcSupport nlohmann_json;
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    curl
+    libtorrent
+    ncurses
+  ]
+  ++ lib.optional jsonRpcSupport nlohmann_json
+  ++ lib.optional xmlRpcSupport xmlrpc_c;
+
+  cmakeFlags = [
+    "-DUSE_RUNTIME_CA_DETECTION=NO"
+  ]
+  ++ lib.optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO"
+  ++ lib.optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO";
 
-  cmakeFlags = [ "-DUSE_RUNTIME_CA_DETECTION=NO" ]
-    ++ optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO"
-    ++ optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO";
 
   doCheck = true;
-  checkInputs = [ gtest ];
+  checkInputs = [
+    gtest
+  ];
 
   prePatch = ''
     substituteInPlace src/main.cc \
@@ -51,7 +59,7 @@ stdenv.mkDerivation rec {
     description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach (jesec's fork)";
     homepage = "https://github.com/jesec/rtorrent";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ winterqt ];
+    maintainers = with maintainers; [ winterqt AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/p2p/libtorrent-jesec/default.nix b/pkgs/tools/networking/p2p/libtorrent-jesec/default.nix
deleted file mode 100644
index 0fd16f4799d..00000000000
--- a/pkgs/tools/networking/p2p/libtorrent-jesec/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, gtest, openssl, zlib }:
-
-stdenv.mkDerivation rec {
-  pname = "libtorrent-jesec";
-  version = "0.13.8-r2";
-
-  src = fetchFromGitHub {
-    owner = "jesec";
-    repo = "libtorrent";
-    rev = "v${version}";
-    sha256 = "sha256-eIXVTbVOCRHcxSsLPvIm9F60t2upk5ORpDSOOYqTCJ4=";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "test-fallback";
-      url = "https://github.com/jesec/libtorrent/commit/a38205ce06aadc9908478ec3a9c8aefd9be06344.patch";
-      sha256 = "sha256-2TyQ9zYWZw6bzAfVZzTOQSkfIZnDU8ykgpRAFXscEH0=";
-    })
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ openssl zlib ];
-
-  doCheck = true;
-  preCheck = ''
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
-  '';
-  checkInputs = [ gtest ];
-
-  meta = with lib; {
-    description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code (jesec's fork)";
-    homepage = "https://github.com/jesec/libtorrent";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ winterqt ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
deleted file mode 100644
index 9a635512f04..00000000000
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-# NOTE: this is rakshava's version of libtorrent, used mainly by rtorrent
-# This is NOT libtorrent-rasterbar, used by Deluge, qbitttorent, and others
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook
-, cppunit, openssl, libsigcxx, zlib
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libtorrent";
-  version = "0.13.8";
-
-  src = fetchFromGitHub {
-    owner = "rakshasa";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1h5y6ab3gs20yyprdfwcw8fh1c6czs4yrdj0kf54d2vp9qwz685r";
-  };
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ cppunit openssl libsigcxx zlib ];
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = "https://github.com/rakshasa/libtorrent";
-    description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code";
-
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ebzzry codyopel ];
-  };
-}
diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix b/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix
new file mode 100644
index 00000000000..56fec5333fc
--- /dev/null
+++ b/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix
@@ -0,0 +1,9 @@
+{ lib
+, pkgs
+, callPackage
+}:
+
+rec {
+  libtorrent = callPackage ./libtorrent.nix { };
+  rtorrent = callPackage ./rtorrent.nix { };
+}
diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix b/pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix
new file mode 100644
index 00000000000..fff4cbb36cf
--- /dev/null
+++ b/pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix
@@ -0,0 +1,48 @@
+# Note: this is rakshasa's version of libtorrent, used mainly by rtorrent.
+# *Do not* mistake it by libtorrent-rasterbar, used by Deluge, qbitttorent etc.
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf-archive
+, autoreconfHook
+, cppunit
+, libsigcxx
+, openssl
+, pkg-config
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rakshasa-libtorrent";
+  version = "0.13.8+date=2021-08-07";
+
+  src = fetchFromGitHub {
+    owner = "rakshasa";
+    repo = "libtorrent";
+    rev = "53596afc5fae275b3fb5753a4bb2a1a7f7cf6a51";
+    hash = "sha256-gyl/jfbptHz/gHkkVGWShhv1Z7o9fa9nJIz27U2A6wg=";
+  };
+
+  nativeBuildInputs = [
+    autoconf-archive
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    cppunit
+    libsigcxx
+    openssl
+    zlib
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/rakshasa/libtorrent";
+    description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ebzzry codyopel ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix b/pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix
new file mode 100644
index 00000000000..f166f6d0e29
--- /dev/null
+++ b/pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix
@@ -0,0 +1,68 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchFromGitHub
+, autoreconfHook
+, autoconf-archive
+, cppunit
+, curl
+, libsigcxx
+, libtool
+, libtorrent
+, ncurses
+, openssl
+, pkg-config
+, xmlrpc_c
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rakshasa-rtorrent";
+  version = "0.9.8+date=2021-08-07";
+
+  src = fetchFromGitHub {
+    owner = "rakshasa";
+    repo = "rtorrent";
+    rev = "a6bc99bb821d86b3b0633552db3fbd0a22497657";
+    hash = "sha256-HTwAs8dfZVXfLRNiT6QpjKGnuahHfoMfYWqdKkedUL0=";
+  };
+
+  nativeBuildInputs = [
+    autoconf-archive
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    cppunit
+    curl
+    libsigcxx
+    libtool
+    libtorrent
+    ncurses
+    openssl
+    xmlrpc_c
+    zlib
+  ];
+
+  configureFlags = [
+    "--with-xmlrpc-c"
+    "--with-posix-fallocate"
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    mkdir -p $out/share/man/man1 $out/share/doc/rtorrent
+    mv doc/old/rtorrent.1 $out/share/man/man1/rtorrent.1
+    mv doc/rtorrent.rc $out/share/doc/rtorrent/rtorrent.rc
+  '';
+
+  meta = with lib; {
+    homepage = "https://rakshasa.github.io/rtorrent/";
+    description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ebzzry codyopel ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/p2p/rtorrent/default.nix b/pkgs/tools/networking/p2p/rtorrent/default.nix
deleted file mode 100644
index ead7d9f79fb..00000000000
--- a/pkgs/tools/networking/p2p/rtorrent/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, pkg-config
-, libtool, autoconf, automake, cppunit
-, libtorrent, ncurses, libsigcxx, curl
-, zlib, openssl, xmlrpc_c
-
-# This no longer works
-, colorSupport ? false
-}:
-
-stdenv.mkDerivation rec {
-  pname = "rtorrent";
-  version = "0.9.8";
-
-  src = fetchFromGitHub {
-    owner = "rakshasa";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0hcaf1brk402caa7hhlb2r1c93mjzxkm8gb19xfl33gkp3jpf372";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libtool autoconf automake cppunit
-    libtorrent ncurses libsigcxx curl zlib openssl xmlrpc_c
-  ];
-
-  # Optional patch adds support for custom configurable colors
-  # https://github.com/Chlorm/chlorm_overlay/blob/master/net-p2p/rtorrent/README.md
-  patches = lib.optional colorSupport (fetchurl {
-    url = "https://gist.githubusercontent.com/codyopel/a816c2993f8013b5f4d6/raw/b952b32da1dcf14c61820dfcf7df00bc8918fec4/rtorrent-color.patch";
-    sha256 = "00gcl7yq6261rrfzpz2k8bd7mffwya0ifji1xqcvhfw50syk8965";
-  });
-
-  preConfigure = "./autogen.sh";
-
-  configureFlags = [ "--with-xmlrpc-c" "--with-posix-fallocate" ];
-
-  enableParallelBuilding = true;
-
-  postInstall = ''
-    mkdir -p $out/share/man/man1 $out/share/doc/rtorrent
-    mv doc/old/rtorrent.1 $out/share/man/man1/rtorrent.1
-    mv doc/rtorrent.rc $out/share/doc/rtorrent/rtorrent.rc
-  '';
-
-  meta = with lib; {
-    homepage = "https://rakshasa.github.io/rtorrent/";
-    description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach";
-
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ebzzry codyopel ];
-    license = licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/tools/security/kbs2/default.nix b/pkgs/tools/security/kbs2/default.nix
index 54c9bfa1f4b..5cccc1dd5f5 100644
--- a/pkgs/tools/security/kbs2/default.nix
+++ b/pkgs/tools/security/kbs2/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kbs2";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "woodruffw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Mh56VjFHwjiZ0fvOF3fFw+1IU5HwkRdMlFrt3tZjcZY=";
+    sha256 = "1bipphrzfz4dfzaqn1q60qazs7ylcx0b34gyl4q6d6jivsrhi8a4";
   };
 
-  cargoSha256 = "sha256-hjUDLA5vNCCIEFQsAhv3hDur1LIGQKYO2rR6AoEb+wA=";
+  cargoSha256 = "0r254k85hqf2v8kdhwld8k7b350qjvkwfw2v22ikk2b41b2g4gbw";
 
   nativeBuildInputs = [ installShellFiles ]
     ++ lib.optionals stdenv.isLinux [ python3 ];
diff --git a/pkgs/tools/security/keyscope/default.nix b/pkgs/tools/security/keyscope/default.nix
new file mode 100644
index 00000000000..163ebc592c5
--- /dev/null
+++ b/pkgs/tools/security/keyscope/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, stdenv
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "keyscope";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "spectralops";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0dv559a5al7p8r3l90sky4fx4qsxwxlm0ani8qn75pxb70z22qj5";
+  };
+
+  cargoSha256 = "sha256-+6O1EY67MVxWrco7a0QTF7Ls1w9YWwNYjiaEe9ckCkg=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+
+  # build script tries to get information from git
+  postPatch = ''
+    echo "fn main() {}" > build.rs
+  '';
+
+  VERGEN_GIT_SEMVER = "v${version}";
+
+  meta = with lib; {
+    description = "A key and secret workflow (validation, invalidation, etc.) tool";
+    homepage = "https://github.com/spectralops/keyscope";
+    changelog = "https://github.com/spectralops/keyscope/blob/v${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix
index 612e14b5249..a935c302d44 100644
--- a/pkgs/tools/security/kubescape/default.nix
+++ b/pkgs/tools/security/kubescape/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "kubescape";
-  version = "1.0.123";
+  version = "1.0.126";
 
   src = fetchFromGitHub {
     owner = "armosec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mrpQXIcV1KxOLDhWAS9Og76k18jsey7vPAcbhGe+cN4=";
+    sha256 = "sha256-kx7TgQ+ordlgYfnlt9/KkmTMUwfykGnTOEcTtq7EAYA=";
   };
 
-  vendorSha256 = "sha256-4v/7JrSGZKOyLwU6U3+hc9P+kzxGGj4aXG/wXmNdo+M=";
+  vendorSha256 = "sha256-u9Jo3/AdW+AhVe/5RwAPfLIjp+H1Omb1SlpctOEQB5Q=";
 
   # One test is failing, disabling for now
   doCheck = false;
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 4d8107902e6..a9785cde190 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rn4qys3af41f40zr4gi23zy9gawbbjddssm95v5a4zyd5xjfr6b";
+    sha256 = "sha256-LcOErqnjnBjC2OKObI1r4ydJ2mes2j6WdQpyHi0rLoU=";
   };
 
-  vendorSha256 = "04q9japkv41127kl0x2268n6j13y22qg1icd783cl40584ajk2am";
+  vendorSha256 = "sha256-lC88sV/WGZuiFZhXNdmMhDyrBdCxbspvpl8JPBS4in4=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index 7b56e50e3bc..a0a06e2906c 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -14,14 +14,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.2";
+  version = "4.1.3";
   pname = "yara";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "0n716snh0h5pk00kps6xvfi8z16xw12h1a8cd7w02cj2537xzj3m";
+    sha256 = "sha256-7t2KksI3l+wFHqUSw2L4FXepMTJfTow/cTFYA47YBqY=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index 41da0b99fd9..9c4526c91b3 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "syslog-ng";
-  version = "3.28.1";
+  version = "3.33.2";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1s56q8k69sdrqsh3y9lr4di01fqw7xb49wr0dz75jmz084yg8kmg";
+    sha256 = "sha256-C3hqBgd7kVAZHXFPRaG0s3kpUstYFjo68zbwdNqfsUs=";
   };
 
   nativeBuildInputs = [ pkg-config which ];
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index 264e944028e..805876bd21e 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -11,7 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "0p2gznrsvv82zxbajqir8y2ap1ribbgagqg1bzhv3i81p2byhjh7";
   };
 
-  patches = ./fix-configure-path.patch;
+  patches = [
+    ./fix-configure-path.patch
+
+    # Fix parallel make depends:
+    # - https://github.com/Orc/discount/commit/e42188e6c4c30d9de668cf98d98dd0c13ecce7cf.patch
+    # - https://github.com/Orc/discount/pull/245
+    ./parallel-make.patch
+  ];
   configureScript = "./configure.sh";
 
   configureFlags = [
@@ -21,6 +28,7 @@ stdenv.mkDerivation rec {
     "--with-fenced-code"
   ];
 
+  enableParallelBuilding = true;
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/tools/text/discount/parallel-make.patch b/pkgs/tools/text/discount/parallel-make.patch
new file mode 100644
index 00000000000..583622a9152
--- /dev/null
+++ b/pkgs/tools/text/discount/parallel-make.patch
@@ -0,0 +1,15 @@
+https://github.com/Orc/discount/pull/245
+https://github.com/Orc/discount/commit/e42188e6c4c30d9de668cf98d98dd0c13ecce7cf.patch
+
+Fix parallel make failure: add missing pandoc_headers dependency.
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -139,7 +139,7 @@ test:	$(PGMS) $(TESTFRAMEWORK) verify
+ 
+ pandoc_headers.o: tools/pandoc_headers.c config.h
+ 	$(BUILD) -c -o pandoc_headers.o tools/pandoc_headers.c
+-pandoc_headers: pandoc_headers.o
++pandoc_headers: pandoc_headers.o $(COMMON) $(MKDLIB)
+ 	$(LINK) -o pandoc_headers pandoc_headers.o $(COMMON) -lmarkdown 
+ 
+ branch.o: tools/branch.c config.h
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
index eef08eec0a1..6e9e4d09f55 100644
--- a/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -11,10 +11,10 @@
 }:
 
 let
-  sha256 = "08j7j9fpxh08vkczjqahb8r55bwks8p3ykrv6a2kfi309629nm96";
+  sha256 = "1hhbwyhw6nmzb2a88papfca5rjavav6srcnvmbni5l6ln79pgqj7";
   # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
-  specVersion = "4.104.0";
-  specSha256 = "0lbky0djqsndp33067q6yir5525m3zcgkpvf1z16mkspkixzadqs";
+  specVersion = "4.107.0";
+  specSha256 = "1z260w0517k3sgd2ygzwzkhq5w9rbkls69mnl84501fpd2nx7qvi";
   spec = fetchurl {
     url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
     sha256 = specSha256;
@@ -24,7 +24,7 @@ in
 
 buildPythonApplication rec {
   pname = "linode-cli";
-  version = "5.9.0";
+  version = "5.11.1";
 
   src = fetchFromGitHub {
     owner = "linode";
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e28d75c8421..726b7ab33af 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -84,9 +84,6 @@ mapAliases ({
   bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # added 2020-12-10
   btrfsProgs = btrfs-progs; # added 2016-01-03
   bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # added 2021-08-22
-  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
-  bittorrentSync20 = throw "bittorrentSync20 has been deprecated by resilio-sync."; # added 2019-06-03
 
   # bitwarden_rs renamed to vaultwarden with release 1.21.0 (2021-04-30)
   bitwarden_rs = vaultwarden;
@@ -100,7 +97,6 @@ mapAliases ({
   buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
   buildGo112Package = throw "buildGo112Package has been removed"; # added 2020-04-26
   buildGo112Module = throw "buildGo112Module has been removed"; # added 2020-04-26
-  buildkite-agent2 = throw "buildkite-agent2 has been discontinued. Please use buildkite-agent (v3.x)"; # added 2018-09-26
   buildkite-agent3 = buildkite-agent; # added 2018-09-26
   bundler_HEAD = bundler; # added 2015-11-15
   calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement."; # added 2021-01-13
@@ -143,7 +139,6 @@ mapAliases ({
   coprthr = throw "coprthr has been removed."; # added 2019-12-08
   couchdb = throw "couchdb was removed from nixpkgs, use couchdb3 instead"; # added 2021-03-03
   couchdb2 = throw "couchdb2 was removed from nixpkgs, use couchdb3 instead"; # added 2021-03-03
-  corebird = throw "corebird was 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_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # added 2020-11-30
   cryptol = throw "cryptol was removed due to prolonged broken build"; # added 2020-08-21
@@ -223,7 +218,6 @@ mapAliases ({
   emacs27WithPackages = emacs27.pkgs.withPackages; # added 2020-12-18
   emacsWithPackages = emacs.pkgs.withPackages; # added 2020-12-18
   emacsPackages = emacs.pkgs; # added 2020-12-18
-  emby = throw "The Emby derivation has been removed, see jellyfin instead for a free software fork."; # added 2019-05-01
   enblendenfuse = enblend-enfuse; # 2015-09-30
   envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
   esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # added 2021-04-12
@@ -268,15 +262,12 @@ mapAliases ({
     fontconfig 2.10.x hasn't had a release in years, is vulnerable to CVE-2016-5384
     and has only been used for old fontconfig caches.
   '';
-  font-droid = throw "font-droid has been deprecated by noto-fonts"; # 2019-04-12
   foomatic_filters = foomatic-filters;  # 2016-08
   fsharp41 = throw "fsharp41 has been removed, please use dotnet-sdk_5 or later";
   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
   fwupdate = throw "fwupdate was merged into fwupd"; # added 2020-05-19
   g4py = python3Packages.geant4; # added 2020-06-06
-  gccApple = throw "gccApple is no longer supported"; # added 2018-04-25
   gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead."; # added 2021-04-03
   gdb-multitarget = gdb; # added 2017-11-13
   gdk_pixbuf = gdk-pixbuf; # added 2019-05-22
@@ -410,7 +401,6 @@ mapAliases ({
   kvm = qemu_kvm; # added 2018-04-25
   latinmodern-math = lmmath;
   letsencrypt = certbot; # added 2016-05-16
-  leksah = throw "To use leksah, refer to the instructions in https://github.com/leksah/leksah."; # added 2019-04-28
   libaudit = audit; # added 2018-04-25
   libcanberra_gtk2 = libcanberra-gtk2; # added 2018-02-25
   libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
@@ -564,7 +554,6 @@ mapAliases ({
   mobile_broadband_provider_info = mobile-broadband-provider-info; # added 2018-02-25
   moby = throw "moby has been removed, merged into linuxkit in 2018.  Use linuxkit instead.";
   module_init_tools = kmod; # added 2016-04-22
-  mono-zeroconf = throw "mono-zeroconf was deprecated on 2019-09-20: abandoned by upstream.";
   mozart = mozart2-binary; # added 2019-09-23
   mozart-binary = mozart2-binary; # added 2019-09-23
   mpd_clientlib = libmpdclient; # added 2021-02-11
@@ -709,7 +698,6 @@ mapAliases ({
   polarssl = mbedtls; # added 2018-04-25
   poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
   postgresql96 = postgresql_9_6;
-  postgresql100 = throw "postgresql100 was deprecated on 2018-10-21: use postgresql_10 instead";
   # postgresql plugins
   pgjwt = postgresqlPackages.pgjwt;
   pg_repack = postgresqlPackages.pg_repack;
@@ -731,7 +719,6 @@ mapAliases ({
   pinentry_qt5 = pinentry-qt; # added 2020-02-11
   postgis = postgresqlPackages.postgis;
   # end
-  ppl-address-book = throw "ppl-address-book deprecated on 2019-05-02: abandoned by upstream.";
   privateer = throw "privateer was removed because it was broken"; # added 2021-05-18
   processing3 = processing; # added 2019-08-16
   procps-ng = procps; # added 2018-06-08
@@ -764,14 +751,12 @@ mapAliases ({
   qwt6 = libsForQt5.qwt;  # added 2015-12-19
   qtkeychain = throw "the qtkeychain attribute (qt4 version) has been removes, use the qt5 version: libsForQt5.qtkeychain"; # added 2021-08-04
   qtcurve = libsForQt5.qtcurve;  # added 2020-11-07
-  qtpfsgui = throw "qtpfsgui is now luminanceHDR"; # added 2019-06-26
   quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # added 2020-04-09
   raspberrypi-tools = throw "raspberrypi-tools has been removed in favor of identical 'libraspberrypi'"; # added 2020-12-24
   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
   readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version or 'readline81' for most recent version"; # added 2021-04-22
-  rhc = throw "rhc was deprecated on 2019-04-09: abandoned by upstream.";
   rng_tools = rng-tools; # added 2018-10-24
   robomongo = robo3t; #added 2017-09-28
   rocm-runtime-ext = throw "rocm-runtime-ext has been removed, since its functionality was added to rocm-runtime"; #added 2020-08-21
@@ -792,22 +777,12 @@ mapAliases ({
   rkt = throw "rkt was archived by upstream"; # added 2020-05-16
   rpiboot-unstable = rpiboot; # added 2021-07-30
   rtv = throw "rtv was archived by upstream. Consider using tuir, an actively maintained fork"; # added 2021-08-08
-  ruby_2_0_0 = throw "ruby_2_0_0 was deprecated on 2018-02-13: use a newer version of ruby";
-  ruby_2_1_0 = throw "ruby_2_1_0 was deprecated on 2018-02-13: use a newer version of ruby";
-  ruby_2_2_9 = throw "ruby_2_2_9 was deprecated on 2018-02-13: use a newer version of ruby";
-  ruby_2_3_6 = throw "ruby_2_3_6 was deprecated on 2018-02-13: use a newer version of ruby";
-  ruby_2_3 = throw "ruby_2_3 was deprecated on 2019-09-06: use a newer version of ruby";
-  ruby_2_4_3 = throw "ruby_2_4_3 was deprecated on 2018-02-13: use a newer version of ruby";
-  ruby_2_4 = throw "ruby_2_4 was deprecated in 2019-12: use a newer version of ruby";
-  ruby_2_5_0 = throw "ruby_2_5_0 was deprecated on 2018-02-13: use a newer version of ruby";
-  rubyPackages_2_4 = throw "rubyPackages_2_4 was deprecated in 2019-12: use a newer version of rubyPackages instead";
-  ruby_2_5 = throw "ruby_2_5 was deprecated in 2021-02: use a newer version of ruby";
-  rubyPackages_2_5 = throw "rubyPackages_2_5 was deprecated in 2021-02: use a newer version of rubyPackages instead";
   rubygems = throw "rubygems was deprecated on 2016-03-02: rubygems is now bundled with ruby";
   rubyMinimal = throw "rubyMinimal was removed due to being unused";
   runCommandNoCC = runCommand;
   runCommandNoCCLocal = runCommandLocal;
   runwayml = throw "runwayml is now a webapp"; # added 2021-04-17
+  rustracerd = throw "rustracerd has been removed because it is broken and unmaintained"; # added 2021-10-19
   rxvt_unicode-with-plugins = rxvt-unicode; # added 2020-02-02
   rxvt_unicode = rxvt-unicode-unwrapped; # added 2020-02-02
   subversion19 = throw "subversion19 has been removed as it has reached its end of life"; # added 2021-03-31
@@ -829,15 +804,11 @@ 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 "sambaMaster was removed in 2019-09-13: outdated and no longer needed";
   samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
   saneBackends = sane-backends; # added 2016-01-02
   saneBackendsGit = sane-backends; # added 2016-01-02
   sane-backends-git = sane-backends; # added 2021-02-19
   saneFrontends = sane-frontends; # added 2016-01-02
-  sapic = throw "sapic was deprecated on 2019-1-19: sapic is bundled with 'tamarin-prover' now";
   scaff = throw "scaff is deprecated - replaced by https://gitlab.com/jD91mZM2/inc (not in nixpkgs yet)"; # added 2020-03-01
   scim = sc-im; # added 2016-01-22
   scollector = bosun; # added 2018-04-25
@@ -850,7 +821,6 @@ mapAliases ({
   skype = skypeforlinux; # added 2017-07-27
   skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired."; # added 2020-10-31
   skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired."; # added 2021-07-14
-  skydive = throw "skydive has been removed from nixpkgs (2019-09-10)";
   slack-dark = slack; # added 2020-03-27
   slic3r-prusa3d = prusa-slicer; # added 2019-05-21
   slurm-llnl = slurm; # renamed July 2017
@@ -885,6 +855,8 @@ mapAliases ({
   source-han-serif-korean = source-han-serif;
   source-han-serif-simplified-chinese = source-han-serif;
   source-han-serif-traditional-chinese = source-han-serif;
+  source-sans-pro = source-sans; # added 2021-10-20
+  source-serif-pro = source-serif; # added 2021-10-20
 
   net_snmp = net-snmp; # added 2019-12-21
   oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained."; # added 2020-10-09
@@ -905,7 +877,6 @@ mapAliases ({
   stanchion = throw "Stanchion was part of riak-cs which is not maintained anymore"; # added 2020-10-14
   stumpwm-git = throw "stumpwm-git has been broken for a long time and lispPackages.stumpwm follows Quicklisp that is close to git version"; # added 2021-05-09
   surf-webkit2 = surf; # added 2017-04-02
-  sup = throw "sup was deprecated on 2019-09-10: abandoned by upstream";
   swec = throw "swec has been removed; broken and abandoned upstream."; # added 2021-10-14
   swfdec = throw "swfdec has been removed as broken and unmaintained."; # added 2020-08-23
   swtpm-tpm2 = swtpm; # added 2021-02-26
@@ -936,7 +907,6 @@ mapAliases ({
   terraform-provider-lxd = terraform-providers.lxd; # added 2020-03-16
   terraform-provider-nixos = terraform-providers.nixos; # added 2018-09-28
   tesseract_4 = tesseract4; # added 2018-12-19
-  testdisk-photorec = throw "testdisk-photorec: 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
@@ -944,8 +914,8 @@ mapAliases ({
   tftp_hpa = tftp-hpa; # added 2015-04-03
   timescale-prometheus = promscale; # added 2020-09-29
   timetable = throw "timetable has been removed, as the upstream project has been abandoned"; # added 2021-09-05
-  tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life."; # added 2022-06-16
-  tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life."; # added 2022-06-16
+  tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life."; # added 2021-06-16
+  tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life."; # added 2021-06-16
   tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life."; # added 2020-03-11
   torbrowser = tor-browser-bundle-bin; # added 2017-04-05
   torch = throw "torch has been removed, as the upstream project has been abandoned"; # added 2020-03-28
@@ -978,7 +948,6 @@ mapAliases ({
   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 "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages";
-  valadoc = throw "valadoc was deprecated on 2019-10-10: valadoc was merged into vala 0.38";
   vamp = { vampSDK = vamp-plugin-sdk; }; # added 2020-03-26
   varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # 2021-07-26
   varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # 2021-07-26
@@ -1001,7 +970,6 @@ mapAliases ({
   wicd = throw "wicd has been removed as it is abandoned."; # added 2021-09-11
   wineStaging = wine-staging; # added 2018-01-08
   winusb = woeusb; # added 2017-12-22
-  winstone = throw "winstone is not supported anymore. Alternatives are Jetty or Tomcat."; # added 2019-05-14
   winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
   wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # added 2019-11-18
   wireguard = wireguard-tools; # added 2018-05-19
@@ -1094,11 +1062,6 @@ mapAliases ({
   tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead. See #77452."; # added 2020-01-10
   dina-font-pcf = dina-font; # added 2020-02-09
 
-  # added 2019-04-13
-  # *-polly pointed to llvmPackages_latest
-  llvm-polly = throw "llvm-polly: clang is now built with polly-plugin by default";
-  clang-polly = throw "clang-polly: clang is now built with polly-plugin by default";
-
   /* Cleanup before 20.09 */
   oraclejdk8psu = throw ''
     oraclejdk8psu: The *psu versions of oraclejdk aren't provided by upstream anymore and were therefore removed!
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 13e9ec20680..839f0824234 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -178,6 +178,8 @@ with pkgs;
 
   antsimulator = callPackage ../games/antsimulator { };
 
+  atkinson-hyperlegible = callPackage ../data/fonts/atkinson-hyperlegible { };
+
   atuin = callPackage ../tools/misc/atuin {
     inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
@@ -410,6 +412,7 @@ with pkgs;
   dotnet-sdk_2 = dotnetCorePackages.sdk_2_1;
   dotnet-sdk_3 = dotnetCorePackages.sdk_3_1;
   dotnet-sdk_5 = dotnetCorePackages.sdk_5_0;
+  dotnet-sdk_6 = dotnetCorePackages.sdk_6_0;
 
   dotnet-sdk = dotnetCorePackages.sdk_5_0;
   dotnet-runtime = dotnetCorePackages.runtime_5_0;
@@ -903,6 +906,8 @@ with pkgs;
 
   airspy = callPackage ../applications/radio/airspy { };
 
+  airspyhf = callPackage ../applications/radio/airspyhf { };
+
   airtame = callPackage ../applications/misc/airtame { };
 
   aj-snapshot  = callPackage ../applications/audio/aj-snapshot { };
@@ -970,6 +975,11 @@ with pkgs;
 
   vopono = callPackage ../tools/networking/vopono { };
 
+  winbox = callPackage ../tools/admin/winbox {
+    wine = wineWowPackages.staging;
+    use64 = true;
+  };
+
   xcd = callPackage ../tools/misc/xcd { };
 
   xtrt = callPackage ../tools/archivers/xtrt { };
@@ -2257,6 +2267,12 @@ with pkgs;
 
   bs-platform = callPackage ../development/compilers/bs-platform {};
 
+  ciano = callPackage ../applications/graphics/ciano {
+    inherit (pantheon) granite;
+    python = python3;
+    gtk = gtk3;
+  };
+
   c3d = callPackage ../applications/graphics/c3d {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
@@ -2588,6 +2604,8 @@ with pkgs;
 
   ddate = callPackage ../tools/misc/ddate { };
 
+  ddosify = callPackage ../development/tools/ddosify { };
+
   dduper = callPackage ../tools/filesystems/dduper { };
 
   dedup = callPackage ../tools/backup/dedup { };
@@ -6601,6 +6619,10 @@ with pkgs;
 
   keyfuzz = callPackage ../tools/inputmethods/keyfuzz { };
 
+  keyscope = callPackage ../tools/security/keyscope {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   keystore-explorer = callPackage ../applications/misc/keystore-explorer {
     jdk = jdk11;
   };
@@ -7165,9 +7187,21 @@ with pkgs;
 
   libnids = callPackage ../tools/networking/libnids { };
 
-  libtorrent = callPackage ../tools/networking/p2p/libtorrent { };
+  rakshasa-rtorrent = recurseIntoAttrs
+    (callPackage ../tools/networking/p2p/rakshasa-rtorrent {
+      callPackage = newScope pkgs.rakshasa-rtorrent;
+    });
 
-  libtorrent-jesec = callPackage ../tools/networking/p2p/libtorrent-jesec { };
+  rtorrent = rakshasa-rtorrent.rtorrent;
+  libtorrent = rakshasa-rtorrent.libtorrent;
+
+  jesec-rtorrent = recurseIntoAttrs
+    (callPackage ../tools/networking/p2p/jesec-rtorrent {
+      callPackage = newScope pkgs.jesec-rtorrent;
+    });
+
+  rtorrent-jesec = jesec-rtorrent.rtorrent;
+  libtorrent-jesec = jesec-rtorrent.libtorrent;
 
   libmpack = callPackage ../development/libraries/libmpack { };
 
@@ -9003,10 +9037,6 @@ with pkgs;
 
   rsstail = callPackage ../applications/networking/feedreaders/rsstail { };
 
-  rtorrent = callPackage ../tools/networking/p2p/rtorrent { };
-
-  rtorrent-jesec = callPackage ../tools/networking/p2p/rtorrent-jesec { };
-
   rubber = callPackage ../tools/typesetting/rubber { };
 
   rubocop = rubyPackages.rubocop;
@@ -9029,6 +9059,10 @@ with pkgs;
 
   rust-code-analysis = callPackage ../development/tools/rust-code-analysis { };
 
+  rust-motd = callPackage ../tools/misc/rust-motd {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   rust-petname = callPackage ../tools/text/rust-petname { };
 
   rustcat = callPackage ../tools/networking/rustcat {
@@ -12038,7 +12072,6 @@ with pkgs;
     else
       callPackage ../development/compilers/openjdk/bootstrap.nix { version = "10"; };
 
-  /* currently maintained LTS JDK */
   openjdk11 =
     if stdenv.isDarwin then
       callPackage ../development/compilers/openjdk/darwin/11.nix { }
@@ -12054,32 +12087,38 @@ with pkgs;
     else
       openjdk11.override { headless = true; };
 
-  openjdk16-bootstrap =
-    if adoptopenjdk-hotspot-bin-15.meta.available then
-      adoptopenjdk-hotspot-bin-15
+  openjdk17-bootstrap =
+    if adoptopenjdk-hotspot-bin-16.meta.available then
+      adoptopenjdk-hotspot-bin-16
     else
-      /* adoptopenjdk not available for i686, so fall back to our old builds of 12, 13, & 14 for bootstrapping */
-      callPackage ../development/compilers/openjdk/15.nix {
+      /* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */
+      callPackage ../development/compilers/openjdk/16.nix {
         openjfx = openjfx11; /* need this despite next line :-( */
         enableJavaFX = false;
         headless = true;
         inherit (gnome2) GConf gnome_vfs;
-        openjdk15-bootstrap = callPackage ../development/compilers/openjdk/14.nix {
+        openjdk16-bootstrap = callPackage ../development/compilers/openjdk/15.nix {
           openjfx = openjfx11; /* need this despite next line :-( */
           enableJavaFX = false;
           headless = true;
           inherit (gnome2) GConf gnome_vfs;
-          openjdk14-bootstrap = callPackage ../development/compilers/openjdk/13.nix {
+          openjdk15-bootstrap = callPackage ../development/compilers/openjdk/14.nix {
             openjfx = openjfx11; /* need this despite next line :-( */
             enableJavaFX = false;
             headless = true;
             inherit (gnome2) GConf gnome_vfs;
-            openjdk13-bootstrap = callPackage ../development/compilers/openjdk/12.nix {
-              stdenv = gcc8Stdenv; /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */
+            openjdk14-bootstrap = callPackage ../development/compilers/openjdk/13.nix {
               openjfx = openjfx11; /* need this despite next line :-( */
               enableJavaFX = false;
               headless = true;
               inherit (gnome2) GConf gnome_vfs;
+              openjdk13-bootstrap = callPackage ../development/compilers/openjdk/12.nix {
+                stdenv = gcc8Stdenv; /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */
+                openjfx = openjfx11; /* need this despite next line :-( */
+                enableJavaFX = false;
+                headless = true;
+                inherit (gnome2) GConf gnome_vfs;
+              };
             };
           };
         };
@@ -12089,27 +12128,26 @@ with pkgs;
   jdk11_headless = openjdk11_headless;
 
   /* Latest JDK */
-  openjdk16 =
+  openjdk17 =
     if stdenv.isDarwin then
       callPackage ../development/compilers/openjdk/darwin { }
     else
-      callPackage ../development/compilers/openjdk/16.nix {
+      callPackage ../development/compilers/openjdk/17.nix {
         openjfx = openjfx15;
         inherit (gnome2) GConf gnome_vfs;
       };
 
-  openjdk16_headless =
+  openjdk17_headless =
     if stdenv.isDarwin then
-      openjdk16
+      openjdk17
     else
-      openjdk16.override { headless = true; };
+      openjdk17.override { headless = true; };
 
-  jdk16 = openjdk16;
-  jdk16_headless = openjdk16_headless;
+  jdk17 = openjdk17;
+  jdk17_headless = openjdk17_headless;
 
   /* default JDK */
-
-  jdk = jdk16;
+  jdk = jdk17;
 
   # Since the introduction of the Java Platform Module System in Java 9, Java
   # no longer ships a separate JRE package.
@@ -12118,13 +12156,13 @@ with pkgs;
   # 'jre_minimal' to build a bespoke JRE containing only the modules you need.
   #
   # For a general-purpose system, 'jre' defaults to the full JDK:
-  jre = jdk16;
-  jre_headless = jdk16_headless;
+  jre = jdk17;
+  jre_headless = jdk17_headless;
 
   jre_minimal = callPackage ../development/compilers/openjdk/jre.nix { };
 
-  openjdk = openjdk16;
-  openjdk_headless = openjdk16_headless;
+  openjdk = openjdk17;
+  openjdk_headless = openjdk17_headless;
 
   graalvmCEPackages =
     recurseIntoAttrs (callPackage ../development/compilers/graalvm/community-edition {
@@ -12754,9 +12792,6 @@ with pkgs;
   rustracer = callPackage ../development/tools/rust/racer {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
-  rustracerd = callPackage ../development/tools/rust/racerd {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
   rust-analyzer-unwrapped = callPackage ../development/tools/rust/rust-analyzer {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -13229,6 +13264,8 @@ with pkgs;
 
   mujs = callPackage ../development/interpreters/mujs { };
 
+  ngn-k = callPackage ../development/interpreters/ngn-k { };
+
   octave = callPackage ../development/interpreters/octave {
     python = python3;
     mkDerivation = stdenv.mkDerivation;
@@ -13465,14 +13502,12 @@ with pkgs;
     autoreconfHook = buildPackages.autoreconfHook269;
     bison = buildPackages.bison_3_5;
   })
-    ruby_2_6
     ruby_2_7
     ruby_3_0;
 
   ruby = ruby_2_7;
   rubyPackages = rubyPackages_2_7;
 
-  rubyPackages_2_6 = recurseIntoAttrs ruby_2_6.gems;
   rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems;
   rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems;
 
@@ -14297,6 +14332,8 @@ with pkgs;
 
   ezquake = callPackage ../games/ezquake { };
 
+  faas-cli = callPackage ../development/tools/faas-cli { };
+
   findbugs = callPackage ../development/tools/analysis/findbugs { };
 
   findnewest = callPackage ../development/tools/misc/findnewest { };
@@ -15295,8 +15332,6 @@ with pkgs;
   ycmd = callPackage ../development/tools/misc/ycmd {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
     python = python3;
-    # currently broken
-    rustracerd = null;
   };
 
   yodl = callPackage ../development/tools/misc/yodl { };
@@ -16656,7 +16691,10 @@ with pkgs;
 
   hound = callPackage ../development/tools/misc/hound { };
 
-  hpx = callPackage ../development/libraries/hpx { };
+  hpx = callPackage ../development/libraries/hpx {
+    boost = boost17x;
+    asio = asio.override { boost = boost17x; };
+  };
 
   hspell = callPackage ../development/libraries/hspell { };
 
@@ -16960,6 +16998,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
+  libad9361 = callPackage ../development/libraries/libad9361 { };
+
   libadwaita = callPackage ../development/libraries/libadwaita { };
 
   libaec = callPackage ../development/libraries/libaec { };
@@ -19209,6 +19249,8 @@ with pkgs;
 
   sdrplay = callPackage ../applications/radio/sdrplay {};
 
+  sdrpp = callPackage ../applications/radio/sdrpp { };
+
   sblim-sfcc = callPackage ../development/libraries/sblim-sfcc {};
 
   selinux-sandbox = callPackage ../os-specific/linux/selinux-sandbox { };
@@ -22107,6 +22149,8 @@ with pkgs;
 
   go-tools = callPackage ../development/tools/go-tools { };
 
+  gotest = callPackage ../development/tools/gotest { };
+
   gotools = callPackage ../development/tools/gotools { };
 
   gotop = callPackage ../tools/system/gotop { };
@@ -23346,9 +23390,9 @@ with pkgs;
 
   source-code-pro = callPackage ../data/fonts/source-code-pro {};
 
-  source-sans-pro = callPackage ../data/fonts/source-sans-pro { };
+  source-sans = callPackage ../data/fonts/source-sans { };
 
-  source-serif-pro = callPackage ../data/fonts/source-serif-pro { };
+  source-serif = callPackage ../data/fonts/source-serif { };
 
   source-han-code-jp = callPackage ../data/fonts/source-han-code-jp { };
 
@@ -24618,6 +24662,8 @@ with pkgs;
   geany = callPackage ../applications/editors/geany { };
   geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { };
 
+  geek-life = callPackage ../applications/misc/geek-life { };
+
   genact = callPackage ../applications/misc/genact { };
 
   genxword = callPackage ../applications/misc/genxword { };
@@ -25821,6 +25867,8 @@ with pkgs;
 
   kaidan = libsForQt5.callPackage ../applications/networking/instant-messengers/kaidan { };
 
+  kde-gruvbox = callPackage ../data/themes/kde-gruvbox { };
+
   kdeltachat = libsForQt5.callPackage ../applications/networking/instant-messengers/kdeltachat { };
 
   kdevelop-pg-qt = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevelop-pg-qt.nix { };
@@ -25961,6 +26009,8 @@ with pkgs;
 
   kiln = callPackage ../applications/misc/kiln { };
 
+  kubernetes-controller-tools = callPackage ../development/tools/kubernetes-controller-tools { };
+
   kubernetes-helm = callPackage ../applications/networking/cluster/helm { };
 
   wrapHelm = callPackage ../applications/networking/cluster/helm/wrapper.nix { };
@@ -32802,6 +32852,8 @@ with pkgs;
 
   wiki-js = callPackage ../servers/web-apps/wiki-js { };
 
+  wiki-tui = callPackage ../misc/wiki-tui { };
+
   winePackagesFor = wineBuild: lib.makeExtensible (self: with self; {
     callPackage = newScope self;
 
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index dc657ab1df5..5feb98a1704 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -37,12 +37,15 @@ let
       coqtail-math = callPackage ../development/coq-modules/coqtail-math {};
       coquelicot = callPackage ../development/coq-modules/coquelicot {};
       corn = callPackage ../development/coq-modules/corn {};
+      deriving = callPackage ../development/coq-modules/deriving {};
       dpdgraph = callPackage ../development/coq-modules/dpdgraph {};
       equations = callPackage ../development/coq-modules/equations { };
+      extructures = callPackage ../development/coq-modules/extructures { };
       fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {};
       flocq = callPackage ../development/coq-modules/flocq {};
       fourcolor = callPackage ../development/coq-modules/fourcolor {};
       gaia = callPackage ../development/coq-modules/gaia {};
+      gaia-hydras = callPackage ../development/coq-modules/gaia-hydras {};
       gappalib = callPackage ../development/coq-modules/gappalib {};
       goedel = callPackage ../development/coq-modules/goedel {};
       graph-theory = callPackage ../development/coq-modules/graph-theory {};
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index da6bd08e567..4220d57aee1 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -395,6 +395,8 @@ in {
 
     isgx = callPackage ../os-specific/linux/isgx { };
 
+    rr-zen_workaround = callPackage ../development/tools/analysis/rr/zen_workaround.nix { };
+
     sysdig = callPackage ../os-specific/linux/sysdig {};
 
     systemtap = callPackage ../development/tools/profiling/systemtap { };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 00b97d1c659..87eff1a02f0 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -52,6 +52,7 @@ mapAliases ({
   googleapis_common_protos = googleapis-common-protos; # added 2021-03-19
   grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21
   HAP-python = hap-python; # added 2021-06-01
+  jupyter_client = jupyter-client; # added 2021-10-15
   lammps-cython = throw "no longer builds and is unmaintained";
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
   pam = python-pam; # added 2020-09-07.
@@ -61,6 +62,7 @@ mapAliases ({
   prompt_toolkit = prompt-toolkit;
   pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20
   pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
+  pysmart-smartx = pysmart; # added 2021-10-22
   pytestcov = pytest-cov; # added 2021-01-04
   pytest-pep8 = pytestpep8; # added 2021-01-04
   pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5cfff4c6624..089a3931a5a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -511,6 +511,8 @@ in {
 
   apache-airflow = callPackage ../development/python-modules/apache-airflow { };
 
+  apcaccess = callPackage ../development/python-modules/apcaccess { };
+
   apipkg = callPackage ../development/python-modules/apipkg { };
 
   apispec = callPackage ../development/python-modules/apispec { };
@@ -1493,10 +1495,20 @@ in {
 
   cirq = callPackage ../development/python-modules/cirq { };
 
+  cirq-aqt = callPackage ../development/python-modules/cirq-aqt { };
+
   cirq-core = callPackage ../development/python-modules/cirq-core { };
 
+  cirq-ionq = callPackage ../development/python-modules/cirq-ionq { };
+
   cirq-google = callPackage ../development/python-modules/cirq-google { };
 
+  cirq-rigetti = callPackage ../development/python-modules/cirq-rigetti { };
+
+  cirq-pasqal = callPackage ../development/python-modules/cirq-pasqal { };
+
+  cirq-web = callPackage ../development/python-modules/cirq-web { };
+
   ciscomobilityexpress = callPackage ../development/python-modules/ciscomobilityexpress { };
 
   ciso8601 = callPackage ../development/python-modules/ciso8601 { };
@@ -1824,6 +1836,8 @@ in {
 
   cycler = callPackage ../development/python-modules/cycler { };
 
+  cyclonedx-python-lib = callPackage ../development/python-modules/cyclonedx-python-lib { };
+
   cymem = callPackage ../development/python-modules/cymem { };
 
   cypari2 = callPackage ../development/python-modules/cypari2 { };
@@ -3965,7 +3979,7 @@ in {
 
   jupyter-c-kernel = callPackage ../development/python-modules/jupyter-c-kernel { };
 
-  jupyter_client = callPackage ../development/python-modules/jupyter_client { };
+  jupyter-client = callPackage ../development/python-modules/jupyter-client { };
 
   jupyter_console = callPackage ../development/python-modules/jupyter_console { };
 
@@ -5625,6 +5639,8 @@ in {
 
   pyatag = callPackage ../development/python-modules/pyatag { };
 
+  pyatome = callPackage ../development/python-modules/pyatome { };
+
   pycontrol4 = callPackage ../development/python-modules/pycontrol4 { };
 
   pycoolmasternet-async = callPackage ../development/python-modules/pycoolmasternet-async { };
@@ -6808,6 +6824,8 @@ in {
 
   pyquery = callPackage ../development/python-modules/pyquery { };
 
+  pyquil = callPackage ../development/python-modules/pyquil { };
+
   pyrabbit2 = callPackage ../development/python-modules/pyrabbit2 { };
 
   pyrad = callPackage ../development/python-modules/pyrad { };
@@ -6973,7 +6991,7 @@ in {
 
   pysmappee = callPackage ../development/python-modules/pysmappee { };
 
-  pysmart-smartx = callPackage ../development/python-modules/pysmart-smartx { };
+  pysmart = callPackage ../development/python-modules/pysmart { };
 
   pysmartapp = callPackage ../development/python-modules/pysmartapp { };
 
@@ -7778,6 +7796,8 @@ in {
 
   qcengine = callPackage ../development/python-modules/qcengine { };
 
+  qcs-api-client = callPackage ../development/python-modules/qcs-api-client { };
+
   qdarkstyle = callPackage ../development/python-modules/qdarkstyle { };
 
   qdldl = callPackage ../development/python-modules/qdldl { };
@@ -8015,6 +8035,8 @@ in {
 
   retworkx = callPackage ../development/python-modules/retworkx { };
 
+  rfc3339 = callPackage ../development/python-modules/rfc3339 { };
+
   rfc3339-validator = callPackage ../development/python-modules/rfc3339-validator { };
 
   rfc3986 = callPackage ../development/python-modules/rfc3986 { };
@@ -8103,6 +8125,8 @@ in {
 
   routes = callPackage ../development/python-modules/routes { };
 
+  rpcq = callPackage ../development/python-modules/rpcq { };
+
   rpdb = callPackage ../development/python-modules/rpdb { };
 
   rply = callPackage ../development/python-modules/rply { };
diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix
index 033bc4dc7c0..334e86a9d5b 100644
--- a/pkgs/top-level/python2-packages.nix
+++ b/pkgs/top-level/python2-packages.nix
@@ -212,7 +212,7 @@ with self; with super; {
 
   jsonrpclib = callPackage ../development/python-modules/jsonrpclib { };
 
-  jupyter_client = callPackage ../development/python-modules/jupyter_client/5.nix { };
+  jupyter-client = callPackage ../development/python-modules/jupyter-client/5.nix { };
 
   jupyter_console = callPackage ../development/python-modules/jupyter_console/5.nix { };