Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frozen haskellPackages set for 21.05 to ease backporting bug fix releases #138407

Conversation

sternenseemann
Copy link
Member

@sternenseemann sternenseemann commented Sep 18, 2021

Motivation for this change

Idea is to generate a list of constraints from the package set we have at branch-off (in this case quite some time after, which increased the pain associated with it). As a result regenerating hackage-packages.nix will only touch the underscore attributes and the cabal file revisions, but not the package versions.

Backporting would then be as easy as:

  1. ./maintainers/scripts/haskell/update-hackage.sh --do-commit
  2. ./maintainers/scripts/haskell/regenerate-hackage-packages.sh
  3. Fixing any new eval errors
  4. ./maintainers/scripts/haskell/freeze-packages.sh to freeze all newly added packages
  5. Edit the version constraint in pkgs/development/haskell-modules/configuration-hackage2nix/frozen-packages.yaml
  6. ./maintainers/scripts/haskell/regenerate-hackage-packages.sh

This is not as polished as it could be possibly, but a lot better than the status quo. I would like to gain some experience with this, so we can start out with such a system for 21.11. I'd prioritize this over pondering if there is a better technical solution for parts of this (maybe dumping the used constraints from hackage2nix?).

Documentation will be added to HACKING.md on master in a separate PR, since release-21.05 doesn't have this file and backporting it would be an unnecessary painful experience.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • 21.11 Release Notes (or backporting 21.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

sternenseemann and others added 4 commits September 21, 2021 17:55
Allow setting the HACKAGE2NIX environment variable to change the
hackage2nix the script uses to an absolute path to a local build. Useful
to test local changes in a realistic environment.

(cherry picked from commit 1e73515)
Make sure they are all prefixed with haskellPackages: except for
update-hackage.sh which changes the top-level attribute
all-cabal-hashes.

(cherry picked from commit be6de30)
This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
@github-actions github-actions bot removed the 6.topic: kernel The Linux kernel label Sep 21, 2021
Adds freeze-packages.sh which writes the frozen-packages.yaml config
file for hackage2nix. This is used for release branches to allow
continuous updates of the all-cabal-hashes package to get up to date
latest versions of packages in haskellPackages without updating the
default versions in that set (to avoid introducing breaking changes).

This is very useful for backports, since changing a version number in
the frozen-packages.yaml file and running 1-3 scripts is all that needs
to be done for that.
This commit introduces a lot of rebuilds. This is not due to package
updates, but rather due to cabal file revisions which require the
affected package to be rebuild.

Also removes stackage.yaml which is no longer used on the release-21.05
branch.
@sternenseemann sternenseemann marked this pull request as ready for review September 21, 2021 18:28
@SuperSandro2000
Copy link
Member

haskellPackages is already the biggest part of the repo size and this PR won't help with that. IIRC almost all of the biggest files in the pack are from haskellPackages with a few nodePackages in between.

@sternenseemann sternenseemann changed the title WIP: Frozen haskellPackages set for 21.05 to ease backporting bug fix releases Frozen haskellPackages set for 21.05 to ease backporting bug fix releases Sep 21, 2021
sternenseemann added a commit to sternenseemann/nixpkgs that referenced this pull request Sep 21, 2021
Initial documentation of the branch-off procedure with the changes
in NixOS#138407 which are yet to be forward-ported.
@sternenseemann
Copy link
Member Author

Went ahead and documented the changed workflow with this PR since I believe it make reviewing easier:

Documentation is in different PRs due to branching troubles.

@sternenseemann
Copy link
Member Author

haskellPackages is already the biggest part of the repo size and this PR won't help with that. IIRC almost all of the biggest files in the pack are from haskellPackages with a few nodePackages in between.

I would like to trade the necessary huge config file in for a sensible backporting workflow for haskellPackages. I'm currently not aware of a better way to do it, sadly.

I agree though that especially the hackage-packages.nix problem will be solved somehow, it not only impacts repository size, but also evaluation performance. See NixOS/cabal2nix#518.

@maralorn
Copy link
Member

I have the nagging feeling that this solution will fail in expected and unexpected ways. I am especially unsatisfied with the fact, that with this setup a hackage bump on stable can cause eval errors. Never-the-less I think this is a strict improvement over the status quo. So I think we can go ahead with this.

@sternenseemann
Copy link
Member Author

sternenseemann commented Sep 22, 2021

Version diff between release-21.05 and the PR
--- version-list	2021-09-22 13:08:44.456117265 +0200
+++ ../nixpkgs/version-list-frozen	2021-09-22 13:08:32.483115908 +0200
@@ -130,6 +130,7 @@
 haskellPackages.actor	actor-0.1.1
 haskellPackages.acts	acts-0.3.1.0
 haskellPackages.ad	ad-4.4.1
+haskellPackages.ad-delcont	ad-delcont-0.3.0.0
 haskellPackages.Adaptive	Adaptive-0.23
 haskellPackages.Adaptive-Blaisorblade	Adaptive-Blaisorblade-0.23
 haskellPackages.adaptive-containers	adaptive-containers-0.3
@@ -192,6 +193,7 @@
 haskellPackages.aeson-json-ast	aeson-json-ast-0.1.1
 haskellPackages.aeson-lens	aeson-lens-0.5.0.0
 haskellPackages.aeson-match-qq	aeson-match-qq-1.2.0
+haskellPackages.aeson-modern-tojson	aeson-modern-tojson-0.1.0.0
 haskellPackages.aeson-native	aeson-native-0.3.3.2
 haskellPackages.aeson-optics	aeson-optics-1.1.0.1
 haskellPackages.aeson-options	aeson-options-0.1.0
@@ -294,6 +296,7 @@
 haskellPackages.algorithmic-composition-overtones	algorithmic-composition-overtones-0.1.0.0
 haskellPackages.AlgorithmW	AlgorithmW-0.1.1.0
 haskellPackages.align	align-0.1.1.2
+haskellPackages.align-audio	align-audio-0.0
 haskellPackages.align-text	align-text-0.1.0.1
 haskellPackages.aligned-foreignptr	aligned-foreignptr-0.1
 haskellPackages.AlignmentAlgorithms	AlignmentAlgorithms-0.1.0.0
@@ -368,6 +371,7 @@
 haskellPackages.amazonka-comprehend	amazonka-comprehend-1.6.1
 haskellPackages.amazonka-config	amazonka-config-1.6.1
 haskellPackages.amazonka-connect	amazonka-connect-1.6.1
+haskellPackages.amazonka-contrib-rds-utils	amazonka-contrib-rds-utils-1.6.1.0
 haskellPackages.amazonka-core	amazonka-core-1.6.1
 haskellPackages.amazonka-cost-explorer	amazonka-cost-explorer-1.6.1
 haskellPackages.amazonka-cur	amazonka-cur-1.6.1
@@ -665,6 +669,7 @@
 haskellPackages.arrow-extras	arrow-extras-0.1.0.1
 haskellPackages.arrow-improve	arrow-improve-0.1.0.0
 haskellPackages.arrow-list	arrow-list-0.7.1
+haskellPackages.arrow-utils	arrow-utils-0.1.0.0
 haskellPackages.arrowapply-utils	arrowapply-utils-0.2
 haskellPackages.arrowp	arrowp-0.5.0.2
 haskellPackages.arrowp-qq	arrowp-qq-0.3.0
@@ -774,6 +779,7 @@
 haskellPackages.ats-setup	ats-setup-0.4.0.2
 haskellPackages.ats-storable	ats-storable-0.3.0.5
 haskellPackages.attempt	attempt-0.4.0.1
+haskellPackages.attenuation	attenuation-0.1.0.0
 haskellPackages.attic-schedule	attic-schedule-0.2.0
 haskellPackages.atto-lisp	atto-lisp-0.2.2.3
 haskellPackages.AttoBencode	AttoBencode-0.3.1.0
@@ -839,6 +845,7 @@
 haskellPackages.avers-server	avers-server-0.1.0.1
 haskellPackages.aviation-cessna172-diagrams	aviation-cessna172-diagrams-0.0.3
 haskellPackages.aviation-cessna172-weight-balance	aviation-cessna172-weight-balance-0.0.2
+haskellPackages.aviation-navigation	aviation-navigation-0.1.0.0
 haskellPackages.aviation-units	aviation-units-0.0.3
 haskellPackages.aviation-weight-balance	aviation-weight-balance-0.0.3
 haskellPackages.avl-static	avl-static-0.1.0.0
@@ -882,6 +889,10 @@
 haskellPackages.aws-sign4	aws-sign4-1.1.0.1
 haskellPackages.aws-simple	aws-simple-0.4.0.0
 haskellPackages.aws-sns	aws-sns-0.1
+haskellPackages.aws-transcribe-ws	aws-transcribe-ws-0.0.1.0
+haskellPackages.aws-xray-client	aws-xray-client-0.1.0.1
+haskellPackages.aws-xray-client-persistent	aws-xray-client-persistent-0.1.0.2
+haskellPackages.aws-xray-client-wai	aws-xray-client-wai-0.1.0.1
 haskellPackages.axel	axel-0.0.12
 haskellPackages.axiom	axiom-0.4.7
 haskellPackages.axiomatic-classes	axiomatic-classes-0.1.0.0
@@ -923,6 +934,7 @@
 haskellPackages.bank-holidays-england	bank-holidays-england-0.2.0.6
 haskellPackages.banwords	banwords-0.2.0.1
 haskellPackages.barbies	barbies-2.0.2.0
+haskellPackages.barbies-layered	barbies-layered-0.1.0.0
 haskellPackages.barbies-th	barbies-th-0.1.8
 haskellPackages.barbly	barbly-0.1.0.0
 haskellPackages.barchart	barchart-0.1.1.1
@@ -980,6 +992,7 @@
 haskellPackages.batch	batch-0.1.0.0
 haskellPackages.batch-rename	batch-rename-0.1.1.0
 haskellPackages.batchd	batchd-0.1.0.0
+haskellPackages.batching	batching-0.1.0.0
 haskellPackages.battlenet	battlenet-0.2.0.0
 haskellPackages.battlenet-yesod	battlenet-yesod-0.2.0.0
 haskellPackages.battleplace	battleplace-0.1.0.10
@@ -1208,6 +1221,8 @@
 haskellPackages.BirdPP	BirdPP-1.1
 haskellPackages.birds-of-paradise	birds-of-paradise-0.2.0.0
 haskellPackages.bisc	bisc-0.3.0.0
+haskellPackages.biscuit-haskell	biscuit-haskell-0.1.1.0
+haskellPackages.biscuit-servant	biscuit-servant-0.1.1.0
 haskellPackages.bisect-binary	bisect-binary-0.1.0.1
 haskellPackages.bishbosh	bishbosh-0.0.0.8
 haskellPackages.bit-array	bit-array-0.1.2
@@ -1302,8 +1317,13 @@
 haskellPackages.blink1	blink1-0.4
 haskellPackages.blip	blip-0.2.1
 haskellPackages.bliplib	bliplib-0.2.1
+haskellPackages.blizzard-html	blizzard-html-0.1.0.0
 haskellPackages.Blobs	Blobs-0.3
 haskellPackages.blockchain	blockchain-0.0.3
+haskellPackages.blockfrost-api	blockfrost-api-0.1.0.0
+haskellPackages.blockfrost-client	blockfrost-client-0.1.0.0
+haskellPackages.blockfrost-client-core	blockfrost-client-core-0.1.0.0
+haskellPackages.blockfrost-pretty	blockfrost-pretty-0.1.0.0
 haskellPackages.blockhash	blockhash-0.1.0.0
 haskellPackages.blocking-transactions	blocking-transactions-0.1.0.5
 haskellPackages.Blogdown	Blogdown-0.2.4
@@ -1328,6 +1348,7 @@
 haskellPackages.blunk-hask-tests	blunk-hask-tests-0.2
 haskellPackages.blunt	blunt-1.0.2
 haskellPackages.bmp	bmp-1.2.6.3
+haskellPackages.bnb-staking-csvs	bnb-staking-csvs-0.2.0.0
 haskellPackages.BNFC	BNFC-2.9.1
 haskellPackages.BNFC-meta	BNFC-meta-0.6.1
 haskellPackages.bno055-haskell	bno055-haskell-0.1.0
@@ -1541,6 +1562,7 @@
 haskellPackages.c-mosquitto	c-mosquitto-0.1.7.0
 haskellPackages.c-storable	c-storable-0.3
 haskellPackages.c-storable-deriving	c-storable-deriving-0.1.3
+haskellPackages.c-struct	c-struct-0.1.0.1
 haskellPackages.C-structs	C-structs-0.2.0.2
 haskellPackages.c0check	c0check-0.2
 haskellPackages.c0parser	c0parser-0.2
@@ -1562,6 +1584,7 @@
 haskellPackages.cabal-bundle-clib	cabal-bundle-clib-0.1.0
 haskellPackages.cabal-cache	cabal-cache-1.0.3.0
 haskellPackages.cabal-cargs	cabal-cargs-1.3.0
+haskellPackages.cabal-clean	cabal-clean-0.1.20210815
 haskellPackages.cabal-constraints	cabal-constraints-0.0.0.1
 haskellPackages.cabal-db	cabal-db-0.1.12
 haskellPackages.cabal-debian	cabal-debian-5.1
@@ -1627,6 +1650,7 @@
 haskellPackages.cache-polysemy	cache-polysemy-0.1.2
 haskellPackages.cached	cached-0.1.0.0
 haskellPackages.cached-io	cached-io-1.1.0.0
+haskellPackages.cached-json-file	cached-json-file-0.1.0
 haskellPackages.cached-traversable	cached-traversable-0.1.0.1
 haskellPackages.caching	caching-0
 haskellPackages.caching-vault	caching-vault-0.1.0.0
@@ -1863,6 +1887,7 @@
 haskellPackages.cheapskate-lucid	cheapskate-lucid-0.1.0.0
 haskellPackages.cheapskate-terminal	cheapskate-terminal-0.1.0.0
 haskellPackages.CheatSheet	CheatSheet-2.9
+haskellPackages.check-cfg-ambiguity	check-cfg-ambiguity-0.0.0.1
 haskellPackages.check-email	check-email-1.0.2
 haskellPackages.check-pvp	check-pvp-0.0.3
 haskellPackages.Checked	Checked-0.0.0.2
@@ -1935,6 +1960,7 @@
 haskellPackages.circlehs	circlehs-0.0.3
 haskellPackages.circuit-breaker	circuit-breaker-0.1.0.0
 haskellPackages.circular	circular-0.3.1.1
+haskellPackages.circus	circus-0.1.0.0
 haskellPackages.cirru-parser	cirru-parser-0.0.2
 haskellPackages.CirruParser	CirruParser-0.0.1
 haskellPackages.cisco-spark-api	cisco-spark-api-0.1.0.4
@@ -1953,18 +1979,18 @@
 haskellPackages.claferIG	claferIG-0.4.5
 haskellPackages.claferwiki	claferwiki-0.4.5
 haskellPackages.llvmPackages.libclang	clang-9.0.1
-haskellPackages.llvmPackages.clang-polly-unwrapped	clang-9.0.1
 haskellPackages.llvmPackages.clang-unwrapped	clang-9.0.1
+haskellPackages.llvmPackages.clang-polly-unwrapped	clang-9.0.1
 haskellPackages.clang-compilation-database	clang-compilation-database-0.1.0.1
 haskellPackages.llvmPackages.clang-manpages	clang-manpages-9.0.1
 haskellPackages.clang-pure	clang-pure-0.2.0.6
+haskellPackages.llvmPackages.clangNoCompilerRt	clang-wrapper-9.0.1
 haskellPackages.llvmPackages.clangNoCompilerRtWithLibc	clang-wrapper-9.0.1
 haskellPackages.llvmPackages.clangNoLibc	clang-wrapper-9.0.1
-haskellPackages.llvmPackages.libcxxClang	clang-wrapper-9.0.1
-haskellPackages.llvmPackages.clangUseLLVM	clang-wrapper-9.0.1
 haskellPackages.llvmPackages.clangNoLibcxx	clang-wrapper-9.0.1
+haskellPackages.llvmPackages.clangUseLLVM	clang-wrapper-9.0.1
 haskellPackages.llvmPackages.clang	clang-wrapper-9.0.1
-haskellPackages.llvmPackages.clangNoCompilerRt	clang-wrapper-9.0.1
+haskellPackages.llvmPackages.libcxxClang	clang-wrapper-9.0.1
 haskellPackages.clanki	clanki-1.2.7
 haskellPackages.clarifai	clarifai-0.2.0.0
 haskellPackages.CLASE	CLASE-2009.2.11
@@ -1975,9 +2001,11 @@
 haskellPackages.clash-prelude	clash-prelude-1.2.5
 haskellPackages.clash-prelude-quickcheck	clash-prelude-quickcheck-0.1.2.1
 haskellPackages.Clash-Royale-Hack-Cheats	Clash-Royale-Hack-Cheats-1.0.1
+haskellPackages.clash-shake	clash-shake-0.1.0
 haskellPackages.clash-systemverilog	clash-systemverilog-0.7.2
 haskellPackages.clash-verilog	clash-verilog-0.7.2
 haskellPackages.clash-vhdl	clash-vhdl-0.7.2
+haskellPackages.clashilator	clashilator-0.1.0
 haskellPackages.classify	classify-2013.11.6.1
 haskellPackages.classify-frog	classify-frog-0.2.4.3
 haskellPackages.ClassLaws	ClassLaws-0.3.1.0
@@ -2038,6 +2066,7 @@
 haskellPackages.clogparse	clogparse-0.2
 haskellPackages.clone-all	clone-all-0.1.0.0
 haskellPackages.closed	closed-0.2.0.1
+haskellPackages.closed-classes	closed-classes-0.1
 haskellPackages.closed-intervals	closed-intervals-0.1.0.1
 haskellPackages.closure	closure-0.1.0.0
 haskellPackages.cloud-haskell	cloud-haskell-0.3.0.0
@@ -2086,6 +2115,7 @@
 haskellPackages.cmv	cmv-1.0.8
 haskellPackages.cnc-spec-compiler	cnc-spec-compiler-0.2.0.1
 haskellPackages.cndict	cndict-0.10.0
+haskellPackages.co-feldspar	co-feldspar-0.1.0.1
 haskellPackages.co-log	co-log-0.4.0.1
 haskellPackages.co-log-concurrent	co-log-concurrent-0.5.0.0
 haskellPackages.co-log-core	co-log-core-0.2.1.1
@@ -2109,6 +2139,7 @@
 haskellPackages.codec-mbox	codec-mbox-0.2.0.0
 haskellPackages.codec-rpm	codec-rpm-0.2.2
 haskellPackages.codecov-haskell	codecov-haskell-0.5.0
+haskellPackages.codeforces-cli	codeforces-cli-0.1.0
 haskellPackages.codemonitor	codemonitor-0.2
 haskellPackages.codepad	codepad-0.1
 haskellPackages.codeworld-api	codeworld-api-0.7.0
@@ -2126,6 +2157,7 @@
 haskellPackages.coinbase-exchange	coinbase-exchange-0.4.0.0
 haskellPackages.coinbase-pro	coinbase-pro-0.9.2.0
 haskellPackages.coincident-root-loci	coincident-root-loci-0.2
+haskellPackages.cointracking-imports	cointracking-imports-0.1.0.1
 haskellPackages.colada	colada-0.8.4.0
 haskellPackages.colchis	colchis-0.2.0.3
 haskellPackages.cold-widow	cold-widow-0.1.2
@@ -2133,6 +2165,7 @@
 haskellPackages.collada-types	collada-types-0.4
 haskellPackages.collapse-duplication	collapse-duplication-0.4.0.1
 haskellPackages.collapse-util	collapse-util-0.1.0.1
+haskellPackages.collate	collate-0.1.0.0
 haskellPackages.collect-errors	collect-errors-0.1.1.0
 haskellPackages.collection-json	collection-json-1.3.1.3
 haskellPackages.collections	collections-0.3.1.1
@@ -2170,6 +2203,8 @@
 haskellPackages.Combinatorrent	Combinatorrent-0.3.2
 haskellPackages.combobuffer	combobuffer-0.2
 haskellPackages.comfort-array	comfort-array-0.4.1
+haskellPackages.comfort-array-shape	comfort-array-shape-0.0
+haskellPackages.comfort-fftw	comfort-fftw-0.0
 haskellPackages.comfort-graph	comfort-graph-0.0.3.1
 haskellPackages.comic	comic-0.0.1
 haskellPackages.comma	comma-1.1.0
@@ -2219,8 +2254,8 @@
 haskellPackages.compensated	compensated-0.8.3
 haskellPackages.competition	competition-0.2.0.0
 haskellPackages.compilation	compilation-0.0.0.3
-haskellPackages.llvmPackages.compiler-rt-libc	compiler-rt-libc-9.0.1
 haskellPackages.llvmPackages.compiler-rt	compiler-rt-libc-9.0.1
+haskellPackages.llvmPackages.compiler-rt-libc	compiler-rt-libc-9.0.1
 haskellPackages.compiler-warnings	compiler-warnings-0.1.0
 haskellPackages.complex-generic	complex-generic-0.1.1.1
 haskellPackages.complex-integrate	complex-integrate-1.0.0
@@ -2239,8 +2274,11 @@
 haskellPackages.composite-aeson-writeonly	composite-aeson-writeonly-0.1.0.0
 haskellPackages.composite-base	composite-base-0.7.5.0
 haskellPackages.composite-binary	composite-binary-0.7.5.0
+haskellPackages.composite-cassava	composite-cassava-0.0.3.1
+haskellPackages.composite-dhall	composite-dhall-0.1.0.0
 haskellPackages.composite-ekg	composite-ekg-0.7.5.0
 haskellPackages.composite-hashable	composite-hashable-0.7.5.0
+haskellPackages.composite-lens-extra	composite-lens-extra-0.0.1.0
 haskellPackages.composite-opaleye	composite-opaleye-0.7.5.0
 haskellPackages.composite-swagger	composite-swagger-0.7.5.0
 haskellPackages.composite-tuple	composite-tuple-0.1.2.0
@@ -2363,6 +2401,7 @@
 haskellPackages.configurator-pg	configurator-pg-0.2.5
 haskellPackages.confsolve	confsolve-0.5.6
 haskellPackages.congruence-relation	congruence-relation-0.1.0.0
+haskellPackages.conic-graphs	conic-graphs-0.0.1.0
 haskellPackages.conjugateGradient	conjugateGradient-2.2
 haskellPackages.conjure	conjure-0.1
 haskellPackages.conkin	conkin-1.0.2
@@ -2411,6 +2450,7 @@
 haskellPackages.containers-accelerate	containers-accelerate-0.1.0.0
 haskellPackages.containers-benchmark	containers-benchmark-1.1.0.0
 haskellPackages.containers-deepseq	containers-deepseq-0.1.0.1
+haskellPackages.containers-good-graph	containers-good-graph-0.6.4.1
 haskellPackages.containers-unicode-symbols	containers-unicode-symbols-0.3.1.2
 haskellPackages.containers-verified	containers-verified-0.6.0.1
 haskellPackages.ContArrow	ContArrow-0.0.5
@@ -2516,6 +2556,7 @@
 haskellPackages.country-codes	country-codes-0.1.4
 haskellPackages.courier	courier-0.1.1.5
 haskellPackages.court	court-0.1.0.1
+haskellPackages.covariance	covariance-0.1.0.5
 haskellPackages.coverage	coverage-0.1.0.4
 haskellPackages.coya	coya-0.1.0.1
 haskellPackages.cparsing	cparsing-0.1.0.0
@@ -2587,6 +2628,7 @@
 haskellPackages.cron	cron-0.7.0
 haskellPackages.cron-compat	cron-compat-0.2.6
 haskellPackages.cronus	cronus-0.1.0.0
+haskellPackages.cropty	cropty-0.2.0.0
 haskellPackages.cruncher-types	cruncher-types-1.1.0
 haskellPackages.crunghc	crunghc-0.1.1.1
 haskellPackages.crypt-sha512	crypt-sha512-0
@@ -2845,6 +2887,7 @@
 haskellPackages.data-or	data-or-1.0.0.5
 haskellPackages.data-ordlist	data-ordlist-0.4.7.0
 haskellPackages.data-partition	data-partition-0.3.0.0
+haskellPackages.data-pdf-fieldreader	data-pdf-fieldreader-0.1.1.0
 haskellPackages.data-pprint	data-pprint-0.2.4.1
 haskellPackages.data-quotientref	data-quotientref-0.1
 haskellPackages.data-r-tree	data-r-tree-0.6.0
@@ -2859,6 +2902,8 @@
 haskellPackages.data-rtuple	data-rtuple-1.0
 haskellPackages.data-serializer	data-serializer-0.3.5
 haskellPackages.data-size	data-size-0.1.1.7
+haskellPackages.data-sketches	data-sketches-0.3.1.0
+haskellPackages.data-sketches-core	data-sketches-core-0.1.0.0
 haskellPackages.data-spacepart	data-spacepart-20090215.0
 haskellPackages.data-standards	data-standards-0.1.0.2
 haskellPackages.data-stm32	data-stm32-0.1.0.0
@@ -2949,6 +2994,7 @@
 haskellPackages.dead-code-detection	dead-code-detection-0.8.1
 haskellPackages.dead-simple-json	dead-simple-json-0.1.2
 haskellPackages.Deadpan-DDP	Deadpan-DDP-0.9.6.0
+haskellPackages.dear-imgui	dear-imgui-1.2.0
 haskellPackages.debian	debian-4.0.2
 haskellPackages.debian-binary	debian-binary-0.0.1
 haskellPackages.debian-build	debian-build-0.10.2.0
@@ -3016,6 +3062,8 @@
 haskellPackages.dep-t-advice	dep-t-advice-0.4.6.0
 haskellPackages.dependency	dependency-1.2.0.3
 haskellPackages.dependent-hashmap	dependent-hashmap-0.1.0.1
+haskellPackages.dependent-literals	dependent-literals-0.1.1.0
+haskellPackages.dependent-literals-plugin	dependent-literals-plugin-0.1.0.1
 haskellPackages.dependent-map	dependent-map-0.4.0.0
 haskellPackages.dependent-monoidal-map	dependent-monoidal-map-0.1.1.2
 haskellPackages.dependent-state	dependent-state-1.0.1
@@ -3046,6 +3094,7 @@
 haskellPackages.deriving-aeson	deriving-aeson-0.2.6.1
 haskellPackages.deriving-compat	deriving-compat-0.5.10
 haskellPackages.deriving-show-simple	deriving-show-simple-0
+haskellPackages.deriving-trans	deriving-trans-0.1.0.0
 haskellPackages.derp	derp-0.1.6
 haskellPackages.derp-lib	derp-lib-0.0.0.1
 haskellPackages.derulo	derulo-1.0.10
@@ -3075,6 +3124,7 @@
 haskellPackages.dhall	dhall-1.38.1
 haskellPackages.dhall-bash	dhall-bash-1.0.36
 haskellPackages.dhall-check	dhall-check-1.1.0.0
+haskellPackages.dhall-csv	dhall-csv-1.0.0
 haskellPackages.dhall-docs	dhall-docs-1.0.5
 haskellPackages.dhall-fly	dhall-fly-0.3.0
 haskellPackages.dhall-json	dhall-json-1.7.6
@@ -3086,6 +3136,7 @@
 haskellPackages.dhall-recursive-adt	dhall-recursive-adt-0.1.0.0
 haskellPackages.dhall-text	dhall-text-1.0.18
 haskellPackages.dhall-to-cabal	dhall-to-cabal-1.3.4.0
+haskellPackages.dhall-toml	dhall-toml-1.0.0
 haskellPackages.dhall-yaml	dhall-yaml-1.2.6
 haskellPackages.dhcp-lease-parser	dhcp-lease-parser-0.1
 haskellPackages.dhrun	dhrun-1.0.1
@@ -3215,6 +3266,7 @@
 haskellPackages.discord-types	discord-types-0.2.2
 haskellPackages.discordian-calendar	discordian-calendar-0.1
 haskellPackages.discount	discount-0.1.1
+haskellPackages.discover-instances	discover-instances-0.1.0.0
 haskellPackages.discrete	discrete-0.1.0.0
 haskellPackages.discrete-intervals	discrete-intervals-0.0.3
 haskellPackages.discrete-space-map	discrete-space-map-0.0.5
@@ -3400,6 +3452,7 @@
 haskellPackages.drifter-postgresql	drifter-postgresql-0.2.1
 haskellPackages.drifter-sqlite	drifter-sqlite-0.1.0.0
 haskellPackages.drinkery	drinkery-0.4
+haskellPackages.driving-classes-plugin	driving-classes-plugin-0.1.2.0
 haskellPackages.drmaa	drmaa-0.3.0
 haskellPackages.drone	drone-1.1.0
 haskellPackages.dropbox	dropbox-0.0.4
@@ -3470,6 +3523,7 @@
 haskellPackages.dynamic-loader	dynamic-loader-0.0.1
 haskellPackages.dynamic-mvector	dynamic-mvector-0.1.0.5
 haskellPackages.dynamic-object	dynamic-object-0.2.1
+haskellPackages.dynamic-pipeline	dynamic-pipeline-0.3.2.0
 haskellPackages.dynamic-plot	dynamic-plot-0.4.1.0
 haskellPackages.dynamic-pp	dynamic-pp-0.2.0
 haskellPackages.dynamic-state	dynamic-state-0.3.1
@@ -3542,6 +3596,7 @@
 haskellPackages.effect-handlers	effect-handlers-0.1.0.8
 haskellPackages.effect-monad	effect-monad-0.8.1.0
 haskellPackages.effect-stack	effect-stack-0.3
+haskellPackages.effectful	effectful-0.0.0.0
 haskellPackages.effective-aspects	effective-aspects-0.1.0.0
 haskellPackages.effective-aspects-mzv	effective-aspects-mzv-0.1.0.1
 haskellPackages.effects	effects-0.2.4
@@ -3726,6 +3781,7 @@
 haskellPackages.eros-http	eros-http-0.6.0.1
 haskellPackages.errata	errata-0.3.0.0
 haskellPackages.errno	errno-0.1
+haskellPackages.error	error-0.1.0.0
 haskellPackages.error-analyze	error-analyze-0.0.1
 haskellPackages.error-codes	error-codes-0.1.0.1
 haskellPackages.error-context	error-context-0.2.0.1
@@ -3793,6 +3849,7 @@
 haskellPackages.evdev-streamly	evdev-streamly-0.0.1.0
 haskellPackages.eve	eve-0.1.9.0
 haskellPackages.eve-cli	eve-cli-0.2.0.0
+haskellPackages.eved	eved-0.0.3.0
 haskellPackages.eveff	eveff-1.0.0.1
 haskellPackages.event	event-0.1.4
 haskellPackages.event-driven	event-driven-0.0.2
@@ -3820,6 +3877,8 @@
 haskellPackages.eventstore	eventstore-1.4.1
 haskellPackages.every	every-0.0.1
 haskellPackages.every-bit-counts	every-bit-counts-0.1
+haskellPackages.evm-opcodes	evm-opcodes-0.1.0
+haskellPackages.evoke	evoke-0.2021.9.14
 haskellPackages.ewe	ewe-0.3.1.1
 haskellPackages.ex-pool	ex-pool-0.2.1
 haskellPackages.exact-combinatorics	exact-combinatorics-0.2.0.9
@@ -3864,6 +3923,7 @@
 haskellPackages.exit-codes	exit-codes-1.0.0
 haskellPackages.exitcode	exitcode-0.1.0.2
 haskellPackages.exomizer	exomizer-1.0.0
+haskellPackages.exon	exon-0.2.0.0
 haskellPackages.exotic-list-monads	exotic-list-monads-1.0.1
 haskellPackages.exp-cache	exp-cache-0.1.0.2
 haskellPackages.exp-extended	exp-extended-0.2
@@ -3996,7 +4056,10 @@
 haskellPackages.fca	fca-0.1.0.2
 haskellPackages.fcache	fcache-0.1.0.0
 haskellPackages.fcd	fcd-1.0.0.0
+haskellPackages.fcf-composite	fcf-composite-0.1.1.0
 haskellPackages.fcf-containers	fcf-containers-0.6.0
+haskellPackages.fcf-graphs	fcf-graphs-0.0.1.0
+haskellPackages.fcf-vinyl	fcf-vinyl-0.0.1.0
 haskellPackages.fcg	fcg-0.0.0
 haskellPackages.fckeditor	fckeditor-0.1
 haskellPackages.fclabels	fclabels-2.0.5
@@ -4049,6 +4112,7 @@
 haskellPackages.ffmpeg-light	ffmpeg-light-0.13.0
 haskellPackages.ffmpeg-tutorials	ffmpeg-tutorials-0.3.3
 haskellPackages.fft	fft-0.1.8.6
+haskellPackages.fftw-ffi	fftw-ffi-0.1
 haskellPackages.fftwRaw	fftwRaw-0.1.0.2
 haskellPackages.ffunctor	ffunctor-1.2.1
 haskellPackages.fgl	fgl-5.7.0.3
@@ -4100,6 +4164,7 @@
 haskellPackages.filtrable	filtrable-0.1.4.0
 haskellPackages.fin	fin-0.2
 haskellPackages.Fin	Fin-0.2.9.0
+haskellPackages.fin-int	fin-int-0.1.0.0
 haskellPackages.final	final-0.1
 haskellPackages.final-pretty-printer	final-pretty-printer-0.1.0.0
 haskellPackages.Finance-Quote-Yahoo	Finance-Quote-Yahoo-0.8.0
@@ -4118,6 +4183,7 @@
 haskellPackages.finite	finite-1.4.1.2
 haskellPackages.finite-field	finite-field-0.10.0
 haskellPackages.finite-fields	finite-fields-0.2
+haskellPackages.finite-table	finite-table-0.1.0.1
 haskellPackages.finite-typelits	finite-typelits-0.1.4.2
 haskellPackages.FiniteMap	FiniteMap-0.1
 haskellPackages.finito	finito-0.1.0.0
@@ -4182,6 +4248,7 @@
 haskellPackages.flatparse	flatparse-0.2.1.0
 haskellPackages.flay	flay-0.4
 haskellPackages.flexible-defaults	flexible-defaults-0.0.3
+haskellPackages.flexible-numeric-parsers	flexible-numeric-parsers-0.1.0.0
 haskellPackages.flexible-time	flexible-time-0.1.0.3
 haskellPackages.flexible-unlit	flexible-unlit-0.2013.314.0
 haskellPackages.flexiwrap	flexiwrap-0.1.0
@@ -4301,6 +4368,7 @@
 haskellPackages.Fortnite-Hack-Cheats-Free-V-Bucks-Generator	Fortnite-Hack-Cheats-Free-V-Bucks-Generator-1.0.1
 haskellPackages.fortran-src	fortran-src-0.4.2
 haskellPackages.fortran-src-extras	fortran-src-extras-0.1.0
+haskellPackages.fortran-vars	fortran-vars-0.1.0
 haskellPackages.fortytwo	fortytwo-1.0.5
 haskellPackages.forward-chan	forward-chan-0.0.0.0
 haskellPackages.foscam-directory	foscam-directory-0.0.8
@@ -4339,6 +4407,7 @@
 haskellPackages.Frank	Frank-0.3
 haskellPackages.franz	franz-0.3.0.1
 haskellPackages.fraxl	fraxl-0.3.0.0
+haskellPackages.freckle-app	freckle-app-1.0.0.3
 haskellPackages.freddy	freddy-0.1.2.0
 haskellPackages.free	free-5.1.5
 haskellPackages.free-algebras	free-algebras-0.1.0.1
@@ -4479,6 +4548,8 @@
 haskellPackages.fusion-plugin	fusion-plugin-0.2.2
 haskellPackages.fusion-plugin-types	fusion-plugin-types-0.1.0
 haskellPackages.futhark	futhark-0.19.4
+haskellPackages.futhark-data	futhark-data-1.0.2.0
+haskellPackages.futhark-server	futhark-server-1.1.0.0
 haskellPackages.futhask	futhask-0.1.0
 haskellPackages.futun	futun-0.1.0.2
 haskellPackages.future	future-2.0.0
@@ -4676,9 +4747,11 @@
 haskellPackages.geojson-types	geojson-types-0.1.3
 haskellPackages.geolite-csv	geolite-csv-0.2
 haskellPackages.geom2d	geom2d-0.2.2
+haskellPackages.geomancy	geomancy-0.2.3.0
 haskellPackages.GeomPredicates	GeomPredicates-0.1
 haskellPackages.GeomPredicates-SSE	GeomPredicates-SSE-0.2
 haskellPackages.geos	geos-0.4.1
+haskellPackages.gerrit	gerrit-0.1.0.0
 haskellPackages.Get	Get-0.2018.1.10
 haskellPackages.getemx	getemx-0.1
 haskellPackages.getflag	getflag-1.0
@@ -4692,6 +4765,7 @@
 haskellPackages.ghc	ghc-8.10.4
 haskellPackages.ghc-api-compat	ghc-api-compat-8.6
 haskellPackages.ghc-bignum	ghc-bignum-1.0
+haskellPackages.ghc-bignum-orphans	ghc-bignum-orphans-0.1
 haskellPackages.ghc-byteorder	ghc-byteorder-4.11.0.0.10
 haskellPackages.ghc-call-stack-extras	ghc-call-stack-extras-0.1.0.2
 haskellPackages.ghc-check	ghc-check-0.5.0.4
@@ -4700,6 +4774,12 @@
 haskellPackages.ghc-core-html	ghc-core-html-0.1.4
 haskellPackages.ghc-core-smallstep	ghc-core-smallstep-0.1.0.1
 haskellPackages.ghc-datasize	ghc-datasize-0.2.3
+haskellPackages.ghc-debug-brick	ghc-debug-brick-0.1.0.0
+haskellPackages.ghc-debug-client	ghc-debug-client-0.1.0.0
+haskellPackages.ghc-debug-common	ghc-debug-common-0.1.0.0
+haskellPackages.ghc-debug-convention	ghc-debug-convention-0.1.0.0
+haskellPackages.ghc-debug-stub	ghc-debug-stub-0.1.0.0
+haskellPackages.ghc-definitions-th	ghc-definitions-th-0.1
 haskellPackages.ghc-dump-core	ghc-dump-core-0.1.2.0
 haskellPackages.ghc-dump-tree	ghc-dump-tree-0.2.0.2
 haskellPackages.ghc-dump-util	ghc-dump-util-0.1.2.0
@@ -4742,8 +4822,10 @@
 haskellPackages.ghc-syb	ghc-syb-0.2.0.0
 haskellPackages.ghc-syb-utils	ghc-syb-utils-0.3.0.0
 haskellPackages.ghc-syntax-highlighter	ghc-syntax-highlighter-0.0.6.0
+haskellPackages.ghc-tags	ghc-tags-1.3
 haskellPackages.ghc-tags-core	ghc-tags-core-0.3.0.0
 haskellPackages.ghc-tags-plugin	ghc-tags-plugin-0.3.0.0
+haskellPackages.ghc-tcplugin-api	ghc-tcplugin-api-0.5.1.0
 haskellPackages.ghc-tcplugins-extra	ghc-tcplugins-extra-0.4.1
 haskellPackages.ghc-time-alloc-prof	ghc-time-alloc-prof-0.1.0
 haskellPackages.ghc-timers	ghc-timers-0.1.0.0
@@ -4800,6 +4882,7 @@
 haskellPackages.gi-gdkx11	gi-gdkx11-3.0.11
 haskellPackages.gi-ggit	gi-ggit-1.0.10
 haskellPackages.gi-gio	gi-gio-2.0.28
+haskellPackages.gi-gio-hs-list-model	gi-gio-hs-list-model-0.1.0.1
 haskellPackages.gi-girepository	gi-girepository-1.0.24
 haskellPackages.gi-glib	gi-glib-2.0.25
 haskellPackages.gi-gmodule	gi-gmodule-2.0.1
@@ -4838,6 +4921,7 @@
 haskellPackages.gi-wnck	gi-wnck-3.0.10
 haskellPackages.gi-xlib	gi-xlib-2.0.10
 haskellPackages.giak	giak-0.1.0.1
+haskellPackages.gibbon	gibbon-0.1.1
 haskellPackages.Gifcurry	Gifcurry-3.0.0.1
 haskellPackages.gimlh	gimlh-0.1.3.0
 haskellPackages.ginger	ginger-0.10.1.0
@@ -4972,6 +5056,7 @@
 haskellPackages.GLUT	GLUT-2.7.0.16
 haskellPackages.GLUtil	GLUtil-0.10.4
 haskellPackages.gluturtle	gluturtle-0.0.58.1
+haskellPackages.gmail-simple	gmail-simple-0.1.0.2
 haskellPackages.gmap	gmap-0.1
 haskellPackages.gmndl	gmndl-0.4.0.4
 haskellPackages.gmpint	gmpint-0.1.1.2
@@ -4985,6 +5070,7 @@
 haskellPackages.goa	goa-3.3
 haskellPackages.goal-core	goal-core-0.1
 haskellPackages.goal-geometry	goal-geometry-0.1
+haskellPackages.goal-graphical	goal-graphical-0.20
 haskellPackages.goal-probability	goal-probability-0.1
 haskellPackages.goal-simulation	goal-simulation-0.1
 haskellPackages.goat	goat-1.0.0
@@ -5219,6 +5305,7 @@
 haskellPackages.gothic	gothic-0.1.6
 haskellPackages.GotoT-transformers	GotoT-transformers-1.0.0.1
 haskellPackages.gotta-go-fast	gotta-go-fast-0.3.0.6
+haskellPackages.gotyno-hs	gotyno-hs-1.1.0
 haskellPackages.gpah	gpah-0.0.2
 haskellPackages.gpcsets	gpcsets-0.9.2.0
 haskellPackages.gpio	gpio-0.1.0.3
@@ -5840,6 +5927,7 @@
 haskellPackages.haskheap	haskheap-0.1.2
 haskellPackages.haskhol-core	haskhol-core-1.1.0
 haskellPackages.haskintex	haskintex-0.8.0.0
+haskellPackages.hasklepias	hasklepias-0.20.0
 haskellPackages.haskmon	haskmon-0.2.2.0
 haskellPackages.haskoin	haskoin-0.1.0.2
 haskellPackages.haskoin-bitcoind	haskoin-bitcoind-0.4.1
@@ -5910,6 +5998,7 @@
 haskellPackages.hasql-th	hasql-th-0.4.0.8
 haskellPackages.hasql-transaction	hasql-transaction-1.0.0.2
 haskellPackages.hasql-url	hasql-url-0.1.0.0
+haskellPackages.hasqlator-mysql	hasqlator-mysql-0.1.0
 haskellPackages.hasqly-mysql	hasqly-mysql-0.0.1
 haskellPackages.hastache	hastache-0.6.1
 haskellPackages.hastache-aeson	hastache-aeson-0.1.1.0
@@ -6044,6 +6133,7 @@
 haskellPackages.hecc	hecc-0.4.1.1
 haskellPackages.heckin	heckin-0.0.1.0
 haskellPackages.heckle	heckle-2.0.2.1
+haskellPackages.heddit	heddit-0.2
 haskellPackages.hedgehog	hedgehog-1.0.5
 haskellPackages.hedgehog-checkers	hedgehog-checkers-0.1.0.0
 haskellPackages.hedgehog-checkers-lens	hedgehog-checkers-lens-0.1.0.0
@@ -6055,6 +6145,7 @@
 haskellPackages.hedgehog-gen-json	hedgehog-gen-json-0.5.1
 haskellPackages.hedgehog-generic	hedgehog-generic-0.1
 haskellPackages.hedgehog-golden	hedgehog-golden-1.0.0
+haskellPackages.hedgehog-optics	hedgehog-optics-1.0.0.1
 haskellPackages.hedgehog-quickcheck	hedgehog-quickcheck-0.1.1
 haskellPackages.hedgehog-servant	hedgehog-servant-0.0.1.1
 haskellPackages.Hedi	Hedi-0.1.1
@@ -6214,6 +6305,7 @@
 haskellPackages.hgmp	hgmp-0.1.2
 haskellPackages.hgom	hgom-0.6
 haskellPackages.hgopher	hgopher-0.1.0.0
+haskellPackages.hgraph	hgraph-1.2.0.1
 haskellPackages.HGraphStorage	HGraphStorage-0.0.3
 haskellPackages.hgrep	hgrep-0.1
 haskellPackages.hgrev	hgrev-0.2.6
@@ -6264,6 +6356,7 @@
 haskellPackages.himpy	himpy-0.5.0
 haskellPackages.hindent	hindent-5.3.2
 haskellPackages.hindley-milner	hindley-milner-0.1.0.0
+haskellPackages.hindley-milner-type-check	hindley-milner-type-check-0.1.1.0
 haskellPackages.hinduce-associations-apriori	hinduce-associations-apriori-0.0.0.0
 haskellPackages.hinduce-classifier	hinduce-classifier-0.0.0.1
 haskellPackages.hinduce-classifier-decisiontree	hinduce-classifier-decisiontree-0.0.0.1
@@ -6377,14 +6470,21 @@
 haskellPackages.hlrdb-core	hlrdb-core-0.1.6.1
 haskellPackages.hls	hls-0.15
 haskellPackages.hls-brittany-plugin	hls-brittany-plugin-1.0.0.1
+haskellPackages.hls-call-hierarchy-plugin	hls-call-hierarchy-plugin-1.0.1.0
 haskellPackages.hls-class-plugin	hls-class-plugin-1.0.0.1
 haskellPackages.hls-eval-plugin	hls-eval-plugin-1.1.0.0
 haskellPackages.hls-exactprint-utils	hls-exactprint-utils-0.5.0.1
 haskellPackages.hls-explicit-imports-plugin	hls-explicit-imports-plugin-1.0.0.1
+haskellPackages.hls-floskell-plugin	hls-floskell-plugin-1.0.0.1
+haskellPackages.hls-fourmolu-plugin	hls-fourmolu-plugin-1.0.0.2
 haskellPackages.hls-graph	hls-graph-1.3.0.0
 haskellPackages.hls-haddock-comments-plugin	hls-haddock-comments-plugin-1.0.0.1
 haskellPackages.hls-hlint-plugin	hls-hlint-plugin-1.0.0.2
+haskellPackages.hls-module-name-plugin	hls-module-name-plugin-1.0.0.1
+haskellPackages.hls-ormolu-plugin	hls-ormolu-plugin-1.0.1.0
 haskellPackages.hls-plugin-api	hls-plugin-api-1.1.0.0
+haskellPackages.hls-pragmas-plugin	hls-pragmas-plugin-1.0.1.0
+haskellPackages.hls-refine-imports-plugin	hls-refine-imports-plugin-1.0.0.1
 haskellPackages.hls-retrie-plugin	hls-retrie-plugin-1.0.0.2
 haskellPackages.hls-splice-plugin	hls-splice-plugin-1.0.0.1
 haskellPackages.hls-stylish-haskell-plugin	hls-stylish-haskell-plugin-1.0.0.0
@@ -6428,6 +6528,7 @@
 haskellPackages.hmm	hmm-0.2.1.1
 haskellPackages.hmm-hmatrix	hmm-hmatrix-0.1.1
 haskellPackages.hmm-lapack	hmm-lapack-0.4
+haskellPackages.HMock	HMock-0.4.0.0
 haskellPackages.hMollom	hMollom-0.4.0
 haskellPackages.hmp3	hmp3-1.5.2.1
 haskellPackages.hmp3-ng	hmp3-ng-2.12.1
@@ -6598,6 +6699,8 @@
 haskellPackages.hpylos	hpylos-1.0
 haskellPackages.hpyrg	hpyrg-0.1.0.0
 haskellPackages.hpython	hpython-0.3
+haskellPackages.hq	hq-0.1.0.11
+haskellPackages.HQu	HQu-0.0.0.5
 haskellPackages.hquantlib	hquantlib-0.0.5.0
 haskellPackages.hquantlib-time	hquantlib-time-0.0.4.1
 haskellPackages.hquery	hquery-0.1.1.0
@@ -6622,6 +6725,7 @@
 haskellPackages.HROOT-math	HROOT-math-0.9.0.1
 haskellPackages.HROOT-tree	HROOT-tree-0.9.0.1
 haskellPackages.hruby	hruby-0.3.8.1
+haskellPackages.hs	hs-0.1.0.2
 haskellPackages.hs-aws-lambda	hs-aws-lambda-0.1.0.2
 haskellPackages.hs-bibutils	hs-bibutils-6.10.0.0
 haskellPackages.hs-blake2	hs-blake2-0.0.2
@@ -6662,11 +6766,13 @@
 haskellPackages.hs-rqlite	hs-rqlite-0.1.2.0
 haskellPackages.hs-rs-notify	hs-rs-notify-0.1.0.18
 haskellPackages.hs-scrape	hs-scrape-0.1.0.0
+haskellPackages.hs-sdl-term-emulator	hs-sdl-term-emulator-0.1.0.4
 haskellPackages.hs-server-starter	hs-server-starter-0.1.2.0
 haskellPackages.hs-snowtify	hs-snowtify-0.1.0.0
 haskellPackages.hs-speedscope	hs-speedscope-0.2.1
 haskellPackages.hs-swisstable-hashtables-class	hs-swisstable-hashtables-class-0.1.0.0
 haskellPackages.hs-tags	hs-tags-0.1.5
+haskellPackages.hs-term-emulator	hs-term-emulator-0.1.0.4
 haskellPackages.hs-twitter	hs-twitter-0.2.8
 haskellPackages.hs-twitterarchiver	hs-twitterarchiver-0.2
 haskellPackages.hs-vcard	hs-vcard-0.1
@@ -6715,11 +6821,13 @@
 haskellPackages.hscamwire	hscamwire-0.2.1
 haskellPackages.hscassandra	hscassandra-0.0.7
 haskellPackages.hscd	hscd-0.0.3
+haskellPackages.hscdio	hscdio-0.1.0.0
 haskellPackages.hscharm	hscharm-0.0.2
 haskellPackages.hschema	hschema-0.0.1.1
 haskellPackages.hschema-aeson	hschema-aeson-0.0.1.1
 haskellPackages.hschema-prettyprinter	hschema-prettyprinter-0.0.1.1
 haskellPackages.hschema-quickcheck	hschema-quickcheck-0.0.1.1
+haskellPackages.hscim	hscim-0.3.6
 haskellPackages.hsclock	hsclock-1.0
 haskellPackages.hscolour	hscolour-1.24.4
 haskellPackages.hsConfigure	hsConfigure-0.1.0.2
@@ -6869,6 +6977,7 @@
 haskellPackages.hspr-sh	hspr-sh-0.3
 haskellPackages.hspread	hspread-0.3.3
 haskellPackages.hspresent	hspresent-0.2.2
+haskellPackages.hspretty	hspretty-0.2.0.0
 haskellPackages.hsprocess	hsprocess-0.3
 haskellPackages.hsql	hsql-1.8.2
 haskellPackages.hsql-mysql	hsql-mysql-1.8.3
@@ -7196,6 +7305,7 @@
 haskellPackages.hyperloglog	hyperloglog-0.4.4
 haskellPackages.hyperloglogplus	hyperloglogplus-0.1.0.0
 haskellPackages.hyperpublic	hyperpublic-0.1.1
+haskellPackages.hypertypes	hypertypes-0.1.0.2
 haskellPackages.hyphenate	hyphenate-0.1
 haskellPackages.hyphenation	hyphenation-0.8.1
 haskellPackages.hypher	hypher-0.1.5
@@ -7249,6 +7359,7 @@
 haskellPackages.iException	iException-0.0.1
 haskellPackages.iexcloud	iexcloud-0.0.0.1
 haskellPackages.if	if-0.1.0.0
+haskellPackages.if-instance	if-instance-0.3.0.0
 haskellPackages.ifcxt	ifcxt-0.1.1
 haskellPackages.IfElse	IfElse-0.85
 haskellPackages.iff	iff-0.0.6
@@ -7327,6 +7438,7 @@
 haskellPackages.inc-ref	inc-ref-0.3.0.0
 haskellPackages.inch	inch-0.2.0
 haskellPackages.inchworm	inchworm-1.1.1.2
+haskellPackages.include-env	include-env-0.3.0.0
 haskellPackages.include-file	include-file-0.1.0.4
 haskellPackages.incremental	incremental-0.3.1
 haskellPackages.incremental-computing	incremental-computing-0.0.1.0
@@ -7380,6 +7492,7 @@
 haskellPackages.inj-base	inj-base-0.2.0.0
 haskellPackages.inject	inject-0.1.0
 haskellPackages.inject-function	inject-function-0.2.1.0
+haskellPackages.injections	injections-0.1.0.0
 haskellPackages.inline-asm	inline-asm-0.4.0.2
 haskellPackages.inline-c	inline-c-0.9.1.4
 haskellPackages.inline-c-cpp	inline-c-cpp-0.4.0.3
@@ -7551,6 +7664,7 @@
 haskellPackages.iso8601-time	iso8601-time-0.1.5
 haskellPackages.isobmff	isobmff-0.14.0.0
 haskellPackages.isobmff-builder	isobmff-builder-0.11.3.0
+haskellPackages.isocline	isocline-1.0.5
 haskellPackages.isohunt	isohunt-0.1.3
 haskellPackages.isotope	isotope-0.5.0.1
 haskellPackages.ispositive	ispositive-0.2
@@ -7565,6 +7679,7 @@
 haskellPackages.iteratee-mtl	iteratee-mtl-0.5.0.0
 haskellPackages.iteratee-parsec	iteratee-parsec-0.0.6
 haskellPackages.iteratee-stm	iteratee-stm-0.1.2
+haskellPackages.iterative-forward-search	iterative-forward-search-0.1.0.0
 haskellPackages.iterIO	iterIO-0.2.2
 haskellPackages.iterio-server	iterio-server-0.3
 haskellPackages.iterm-show	iterm-show-0.1.0.1
@@ -7594,6 +7709,7 @@
 haskellPackages.ixset	ixset-1.1.1.1
 haskellPackages.ixset-typed	ixset-typed-0.5
 haskellPackages.ixset-typed-binary-instance	ixset-typed-binary-instance-0.1.0.2
+haskellPackages.ixset-typed-cassava	ixset-typed-cassava-0.0.2.0
 haskellPackages.ixset-typed-conversions	ixset-typed-conversions-0.1.2.0
 haskellPackages.ixset-typed-hashable-instance	ixset-typed-hashable-instance-0.1.0.2
 haskellPackages.ixshader	ixshader-0.0.1.0
@@ -7603,8 +7719,8 @@
 haskellPackages.ja-base-extra	ja-base-extra-0.2.1.0
 haskellPackages.jack	jack-0.7.2
 haskellPackages.jack-bindings	jack-bindings-0.1.1
-haskellPackages.JackMiniMix	JackMiniMix-0.1
 haskellPackages.jackminimix	jackminimix-0.1
+haskellPackages.JackMiniMix	JackMiniMix-0.1
 haskellPackages.jacobi-roots	jacobi-roots-0.2.0.4
 haskellPackages.jaeger-flamegraph	jaeger-flamegraph-1.3.2
 haskellPackages.jail	jail-0.0.1.1
@@ -7638,6 +7754,8 @@
 haskellPackages.jenga	jenga-0.1.1.0
 haskellPackages.jenkinsPlugins2nix	jenkinsPlugins2nix-0.2.0.2
 haskellPackages.jespresso	jespresso-1.0.2
+haskellPackages.jet-stream	jet-stream-1.0.0.0
+haskellPackages.Jikka	Jikka-5.5.0.0
 haskellPackages.jinquantities	jinquantities-0.1.1
 haskellPackages.jira-wiki-markup	jira-wiki-markup-1.3.4
 haskellPackages.jmacro	jmacro-0.6.17
@@ -7795,6 +7913,7 @@
 haskellPackages.kansas-lava-cores	kansas-lava-cores-0.1.2.2
 haskellPackages.kansas-lava-papilio	kansas-lava-papilio-0.3.1
 haskellPackages.kansas-lava-shake	kansas-lava-shake-0.3.0
+haskellPackages.karabiner-config	karabiner-config-0.0.0.0
 haskellPackages.karakuri	karakuri-0.1.1
 haskellPackages.karps	karps-0.2.0.0
 haskellPackages.karver	karver-0.1.2
@@ -7846,6 +7965,12 @@
 haskellPackages.keera-hails-reactivelenses	keera-hails-reactivelenses-0.0.1
 haskellPackages.keera-hails-reactivevalues	keera-hails-reactivevalues-0.7.0
 haskellPackages.keera-posture	keera-posture-0.2.4.3
+haskellPackages.keid-core	keid-core-0.1.2.0
+haskellPackages.keid-geometry	keid-geometry-0.1.1.1
+haskellPackages.keid-render-basic	keid-render-basic-0.1.2.1
+haskellPackages.keid-resource-gltf	keid-resource-gltf-0.1.0.0
+haskellPackages.keid-sound-openal	keid-sound-openal-0.1.1.0
+haskellPackages.keid-ui-dearimgui	keid-ui-dearimgui-0.1.0.1
 haskellPackages.keiretsu	keiretsu-0.4.4
 haskellPackages.kempe	kempe-0.2.0.3
 haskellPackages.kerry	kerry-0.1.1
@@ -7946,6 +8071,7 @@
 haskellPackages.lambda-calculator	lambda-calculator-2.0.0
 haskellPackages.lambda-calculus-interpreter	lambda-calculus-interpreter-0.1.0.3
 haskellPackages.lambda-canvas	lambda-canvas-0.1
+haskellPackages.lambda-cube	lambda-cube-0.3.0.0
 haskellPackages.lambda-devs	lambda-devs-0.4.0
 haskellPackages.lambda-options	lambda-options-1.1.0.1
 haskellPackages.lambda-placeholders	lambda-placeholders-0.0.0.0
@@ -8072,7 +8198,9 @@
 haskellPackages.lapack-comfort-array	lapack-comfort-array-0.0.0.1
 haskellPackages.lapack-ffi	lapack-ffi-0.0.3
 haskellPackages.lapack-ffi-tools	lapack-ffi-tools-0.1.2.1
+haskellPackages.lapack-hmatrix	lapack-hmatrix-0.0
 haskellPackages.large-hashable	large-hashable-0.1.0.4
+haskellPackages.large-records	large-records-0.1.0.0
 haskellPackages.LargeCardinalHierarchy	LargeCardinalHierarchy-0.0.1
 haskellPackages.largeword	largeword-1.2.5
 haskellPackages.Lastik	Lastik-0.7.0
@@ -8103,7 +8231,9 @@
 haskellPackages.layout-bootstrap	layout-bootstrap-0.2.2
 haskellPackages.layout-rules	layout-rules-0.1.0.2
 haskellPackages.layouting	layouting-1.1.4
+haskellPackages.lazify	lazify-0.1.0.1
 haskellPackages.lazy	lazy-0.1
+haskellPackages.lazy-async	lazy-async-1.0.0.0
 haskellPackages.lazy-csv	lazy-csv-0.5.1
 haskellPackages.lazy-hash	lazy-hash-0.1.0.0
 haskellPackages.lazy-hash-cache	lazy-hash-cache-0.1.0.0
@@ -8127,6 +8257,7 @@
 haskellPackages.lda	lda-0.0.2
 haskellPackages.LDAP	LDAP-0.6.11
 haskellPackages.ldap-client	ldap-client-0.4.1
+haskellPackages.ldap-scim-bridge	ldap-scim-bridge-0.2
 haskellPackages.ldapply	ldapply-0.2.0
 haskellPackages.LDAPv3	LDAPv3-0.1.0.0
 haskellPackages.ldgallery-compiler	ldgallery-compiler-2.0
@@ -8181,6 +8312,7 @@
 haskellPackages.lens-regex-pcre	lens-regex-pcre-1.1.0.0
 haskellPackages.lens-simple	lens-simple-0.1.0.9
 haskellPackages.lens-sop	lens-sop-0.2.0.3
+haskellPackages.lens-tell	lens-tell-0.1
 haskellPackages.lens-text-encoding	lens-text-encoding-0.1.0.0
 haskellPackages.lens-th-rewrite	lens-th-rewrite-0.3.0.0
 haskellPackages.lens-time	lens-time-0.1.0.0
@@ -8200,6 +8332,7 @@
 haskellPackages.Level0	Level0-1.0
 haskellPackages.leveldb-haskell	leveldb-haskell-0.6.5
 haskellPackages.leveldb-haskell-fork	leveldb-haskell-fork-0.3.4.4
+haskellPackages.levenshtein	levenshtein-0.1.3.0
 haskellPackages.levmar	levmar-1.2.1.8
 haskellPackages.levmar-chart	levmar-chart-0.2
 haskellPackages.lex-applicative	lex-applicative-0.0.0.1
@@ -8237,6 +8370,7 @@
 haskellPackages.liblawless	liblawless-0.26.0
 haskellPackages.liblinear-enumerator	liblinear-enumerator-0.1.2
 haskellPackages.libltdl	libltdl-0.1.1.2
+haskellPackages.libmdbx	libmdbx-0.2.1.0
 haskellPackages.libmodbus	libmodbus-1.1.1
 haskellPackages.libmolude	libmolude-0.12.3
 haskellPackages.libmpd	libmpd-0.10.0.0
@@ -8289,6 +8423,7 @@
 haskellPackages.lifted-stm	lifted-stm-0.2
 haskellPackages.lifted-threads	lifted-threads-1.0
 haskellPackages.lifter	lifter-0.1
+haskellPackages.lifx-lan	lifx-lan-0.5.0.1
 haskellPackages.ligature	ligature-0.1.0.0
 haskellPackages.ligd	ligd-0.2
 haskellPackages.light	light-0.2.0.1
@@ -8319,6 +8454,7 @@
 haskellPackages.linear-grammar	linear-grammar-0.0.2.1
 haskellPackages.linear-maps	linear-maps-0.6.1
 haskellPackages.linear-opengl	linear-opengl-0.3.0.0
+haskellPackages.linear-smc	linear-smc-1.0.0
 haskellPackages.linear-socket	linear-socket-0.3.3.3
 haskellPackages.linear-tests	linear-tests-0.1.2.0
 haskellPackages.linear-vect	linear-vect-0.1.1.0
@@ -8417,6 +8553,8 @@
 haskellPackages.lit	lit-0.1.10.0
 haskellPackages.literals	literals-1.0
 haskellPackages.LiterateMarkdown	LiterateMarkdown-0.1.0.1
+haskellPackages.literatex	literatex-0.2.0.0
+haskellPackages.little-earley	little-earley-0.2.0.0
 haskellPackages.little-logger	little-logger-0.3.1
 haskellPackages.little-rio	little-rio-0.2.2
 haskellPackages.live-sequencer	live-sequencer-0.0.6.2
@@ -8427,10 +8565,10 @@
 haskellPackages.llrbtree	llrbtree-0.1.1
 haskellPackages.llsd	llsd-0.2.0.0
 haskellPackages.llvm	llvm-3.2.0.2
-haskellPackages.llvmPackages.llvm	llvm-9.0.1
-haskellPackages.llvmPackages.libllvm-polly	llvm-9.0.1
 haskellPackages.llvmPackages.libllvm	llvm-9.0.1
+haskellPackages.llvmPackages.libllvm-polly	llvm-9.0.1
 haskellPackages.llvmPackages.llvm-polly	llvm-9.0.1
+haskellPackages.llvmPackages.llvm	llvm-9.0.1
 haskellPackages.llvm-analysis	llvm-analysis-0.3.0
 haskellPackages.llvm-base	llvm-base-3.2.0.2
 haskellPackages.llvm-base-types	llvm-base-types-0.3.0
@@ -8461,6 +8599,9 @@
 haskellPackages.lmdb-simple	lmdb-simple-0.4.0.0
 haskellPackages.lmonad	lmonad-0.1.0.0
 haskellPackages.lmonad-yesod	lmonad-yesod-1.0.0.0
+haskellPackages.lnd-client	lnd-client-0.1.0.0
+haskellPackages.lnurl	lnurl-0.1.0.0
+haskellPackages.lnurl-authenticator	lnurl-authenticator-0.1.0.0
 haskellPackages.load-balancing	load-balancing-1.0.1.1
 haskellPackages.load-env	load-env-0.2.1.0
 haskellPackages.load-font	load-font-0.1.0.3
@@ -8494,6 +8635,7 @@
 haskellPackages.log4hs	log4hs-0.9.0.0
 haskellPackages.logentries	logentries-0.1.0.1
 haskellPackages.logfloat	logfloat-0.13.3.3
+haskellPackages.logfmt	logfmt-0.0.1
 haskellPackages.logger	logger-0.1.0.2
 haskellPackages.logger-thread	logger-thread-0.1.0.2
 haskellPackages.logging	logging-3.0.5
@@ -8513,6 +8655,7 @@
 haskellPackages.LogicGrowsOnTrees-processes	LogicGrowsOnTrees-processes-1.0.0.2
 haskellPackages.logicst	logicst-0.1.0.0
 haskellPackages.logict	logict-0.7.1.0
+haskellPackages.logict-sequence	logict-sequence-0.1.0.1
 haskellPackages.logict-state	logict-state-0.1.0.5
 haskellPackages.loglevel	loglevel-0.1.0.0
 haskellPackages.logplex-parse	logplex-parse-0.1.0.2
@@ -8769,6 +8912,7 @@
 haskellPackages.matrices	matrices-0.5.0
 haskellPackages.matrix	matrix-0.3.6.1
 haskellPackages.matrix-as-xyz	matrix-as-xyz-0.1.2.2
+haskellPackages.matrix-client	matrix-client-0.1.1.0
 haskellPackages.matrix-lens	matrix-lens-0.1.0.0
 haskellPackages.matrix-market	matrix-market-1.2
 haskellPackages.matrix-market-attoparsec	matrix-market-attoparsec-0.1.1.3
@@ -8866,6 +9010,7 @@
 haskellPackages.menoh	menoh-0.3.0
 haskellPackages.menshen	menshen-0.0.3
 haskellPackages.mercury-api	mercury-api-0.1.0.2
+haskellPackages.merge	merge-0.2.0.0
 haskellPackages.merge-bash-history	merge-bash-history-0.1.0.1
 haskellPackages.mergeful	mergeful-0.2.0.0
 haskellPackages.mergeful-persistent	mergeful-persistent-0.0.0.0
@@ -9150,6 +9295,7 @@
 haskellPackages.monad-task	monad-task-0.2.0
 haskellPackages.monad-time	monad-time-0.3.1.0
 haskellPackages.monad-timing	monad-timing-0.1.0.1
+haskellPackages.monad-tree	monad-tree-0.1.0
 haskellPackages.monad-tx	monad-tx-0.0.1
 haskellPackages.monad-unify	monad-unify-0.2.2
 haskellPackages.monad-unlift	monad-unlift-0.2.0
@@ -9217,8 +9363,10 @@
 haskellPackages.monoid-subclasses	monoid-subclasses-1.0.1
 haskellPackages.monoid-transformer	monoid-transformer-0.0.4
 haskellPackages.monoidal-containers	monoidal-containers-0.6.0.1
+haskellPackages.monoidal-functors	monoidal-functors-0.1.0.0
 haskellPackages.monoidplus	monoidplus-0.1.0.1
 haskellPackages.monoids	monoids-0.3.2
+haskellPackages.monomer	monomer-1.0.0.3
 haskellPackages.monomorphic	monomorphic-0.0.3.3
 haskellPackages.monopati	monopati-0.1.4
 haskellPackages.montage	montage-0.1.1
@@ -9226,8 +9374,10 @@
 haskellPackages.monte-carlo	monte-carlo-0.6.2
 haskellPackages.months	months-0.2
 haskellPackages.monus	monus-0.2.0.0
+haskellPackages.monus-weighted-search	monus-weighted-search-0.1.0.0
 haskellPackages.monzo	monzo-0.4.0.0
 haskellPackages.moo	moo-1.2
+haskellPackages.moo-nad	moo-nad-0.1.0.2
 haskellPackages.moonshine	moonshine-2.0.0.0
 haskellPackages.more-containers	more-containers-0.2.2.2
 haskellPackages.more-extensible-effects	more-extensible-effects-0.1.0.4
@@ -9265,6 +9415,7 @@
 haskellPackages.mp	mp-1.1.0
 haskellPackages.mp3decoder	mp3decoder-0.0.1
 haskellPackages.mpdmate	mpdmate-0.1
+haskellPackages.mpeff	mpeff-0.1.0.0
 haskellPackages.mpg123-bindings	mpg123-bindings-0.1.0.0
 haskellPackages.mpi-hs	mpi-hs-0.7.2.0
 haskellPackages.mpi-hs-binary	mpi-hs-binary-0.1.1.0
@@ -9486,6 +9637,7 @@
 haskellPackages.nano-md5	nano-md5-0.1.2
 haskellPackages.nanoAgda	nanoAgda-1.0.0
 haskellPackages.nanocurses	nanocurses-1.5.2
+haskellPackages.NanoID	NanoID-3.1.0
 haskellPackages.nanomsg	nanomsg-0.1.1
 haskellPackages.nanomsg-haskell	nanomsg-haskell-0.2.4
 haskellPackages.nanoparsec	nanoparsec-0.1.1
@@ -9500,6 +9652,7 @@
 haskellPackages.naqsha	naqsha-0.3.0.1
 haskellPackages.narc	narc-0.1.3
 haskellPackages.nat	nat-0.3
+haskellPackages.nat-optics	nat-optics-1.0.0.1
 haskellPackages.nat-sized-numbers	nat-sized-numbers-0.3.0.0
 haskellPackages.nationstates	nationstates-0.5.0.0
 haskellPackages.native	native-0.1.0.1
@@ -9699,6 +9852,7 @@
 haskellPackages.nix-diff	nix-diff-1.0.14
 haskellPackages.nix-eval	nix-eval-0.4.1.0
 haskellPackages.nix-freeze-tree	nix-freeze-tree-0.1.0.0
+haskellPackages.nix-graph	nix-graph-1.0.0.0
 haskellPackages.nix-narinfo	nix-narinfo-0.1.0.1
 haskellPackages.nix-output-monitor	nix-output-monitor-1.0.3.1
 haskellPackages.nix-paths	nix-paths-1.0.1
@@ -9772,6 +9926,7 @@
 haskellPackages.not-gloss	not-gloss-0.7.7.0
 haskellPackages.not-gloss-examples	not-gloss-examples-0.5.1.1
 haskellPackages.not-in-base	not-in-base-0.1.1
+haskellPackages.not-prelude	not-prelude-0.1.0.0
 haskellPackages.notcpp	notcpp-0.2.0.3
 haskellPackages.nothunks	nothunks-0.1.2
 haskellPackages.notifications-tray-icon	notifications-tray-icon-0.1.0.0
@@ -9787,8 +9942,13 @@
 haskellPackages.nptools	nptools-0.6.0
 haskellPackages.nqe	nqe-0.6.3
 haskellPackages.nri-env-parser	nri-env-parser-0.1.0.7
+haskellPackages.nri-http	nri-http-0.1.0.1
+haskellPackages.nri-kafka	nri-kafka-0.1.0.0
 haskellPackages.nri-observability	nri-observability-0.1.0.2
+haskellPackages.nri-postgresql	nri-postgresql-0.1.0.1
 haskellPackages.nri-prelude	nri-prelude-0.6.0.0
+haskellPackages.nri-redis	nri-redis-0.1.0.2
+haskellPackages.nri-test-encoding	nri-test-encoding-0.1.1.0
 haskellPackages.nsis	nsis-0.3.3
 haskellPackages.nth-prime	nth-prime-1.2
 haskellPackages.ntha	ntha-0.1.3
@@ -9815,7 +9975,9 @@
 haskellPackages.numerals-base	numerals-base-0.3
 haskellPackages.numeric-domains	numeric-domains-0.1.0.0
 haskellPackages.numeric-extras	numeric-extras-0.1
+haskellPackages.numeric-kinds	numeric-kinds-0.1.0.0
 haskellPackages.numeric-limits	numeric-limits-0.1.0.0
+haskellPackages.numeric-logarithms	numeric-logarithms-0.1.0.0
 haskellPackages.numeric-ode	numeric-ode-0.0.0.0
 haskellPackages.numeric-prelude	numeric-prelude-0.4.3.3
 haskellPackages.numeric-qq	numeric-qq-0.1.3
@@ -9956,6 +10118,7 @@
 haskellPackages.openapi-typed	openapi-typed-0.0.0.1
 haskellPackages.openapi3	openapi3-3.1.0
 haskellPackages.openapi3-code-generator	openapi3-code-generator-0.1.0.6
+haskellPackages.opencc	opencc-0.1.0.0
 haskellPackages.opench-meteo	opench-meteo-0.2.0.3
 haskellPackages.OpenCL	OpenCL-1.0.3.4
 haskellPackages.OpenCLRaw	OpenCLRaw-1.0.1001
@@ -10053,6 +10216,7 @@
 haskellPackages.optparse-simple	optparse-simple-0.1.1.3
 haskellPackages.optparse-text	optparse-text-0.1.1.0
 haskellPackages.optparse-version	optparse-version-0.3.0.0
+haskellPackages.opusfile	opusfile-0.1.0.1
 haskellPackages.orbits	orbits-0.4
 haskellPackages.orc	orc-1.2.1.4
 haskellPackages.orchestrate	orchestrate-0.2.0.3
@@ -10122,6 +10286,7 @@
 haskellPackages.packer	packer-0.1.9
 haskellPackages.packer-messagepack	packer-messagepack-0.2.0.0
 haskellPackages.packman	packman-0.5.0
+haskellPackages.packstream	packstream-0.1.0.2
 haskellPackages.packunused	packunused-0.1.2
 haskellPackages.pacman-memcache	pacman-memcache-0.1.0.3
 haskellPackages.pact-time	pact-time-0.2.0.0
@@ -10132,6 +10297,7 @@
 haskellPackages.PageIO	PageIO-0.0.3
 haskellPackages.pager	pager-0.1.1.0
 haskellPackages.pagerduty	pagerduty-0.0.8
+haskellPackages.pagerduty-hs	pagerduty-hs-0.2.0.0
 haskellPackages.pagination	pagination-0.2.2
 haskellPackages.pagure-cli	pagure-cli-0.2
 haskellPackages.pagure-hook-receiver	pagure-hook-receiver-0.1.0.0
@@ -10267,6 +10433,7 @@
 haskellPackages.parser-combinators	parser-combinators-1.2.1
 haskellPackages.parser-combinators-tests	parser-combinators-tests-1.2.1
 haskellPackages.parser-helper	parser-helper-0.1.0.0
+haskellPackages.parser-unbiased-choice-monad-embedding	parser-unbiased-choice-monad-embedding-0.0.0.3
 haskellPackages.parser241	parser241-0.1.0.2
 haskellPackages.ParserFunction	ParserFunction-0.1.0
 haskellPackages.parsergen	parsergen-0.2.0.7
@@ -10275,6 +10442,9 @@
 haskellPackages.parsestar	parsestar-1.5
 haskellPackages.parsimony	parsimony-1.3
 haskellPackages.parsix	parsix-0.2.2.1
+haskellPackages.parsley	parsley-1.0.0.2
+haskellPackages.parsley-core	parsley-core-1.6.0.0
+haskellPackages.parsley-garnish	parsley-garnish-1.0.0.0
 haskellPackages.parsnip	parsnip-0
 haskellPackages.partage	partage-0.1.0.1
 haskellPackages.partial	partial-1.0.0.0
@@ -10312,6 +10482,7 @@
 haskellPackages.path-dhall-instance	path-dhall-instance-0.2.1.0
 haskellPackages.path-extensions	path-extensions-0.1.1.0
 haskellPackages.path-extra	path-extra-0.2.0
+haskellPackages.path-formatting	path-formatting-0.1.0.0
 haskellPackages.path-io	path-io-1.6.2
 haskellPackages.path-like	path-like-0.2.0.2
 haskellPackages.path-pieces	path-pieces-0.2.1
@@ -10706,6 +10877,7 @@
 haskellPackages.pointless-rewrite	pointless-rewrite-0.0.3
 haskellPackages.poke	poke-0.0.0.1
 haskellPackages.pokemon-go-protobuf-types	pokemon-go-protobuf-types-0.1.2
+haskellPackages.poker	poker-0.1.0.0
 haskellPackages.poker-eval	poker-eval-0.3.1
 haskellPackages.pokitdok	pokitdok-4.1.0.2
 haskellPackages.polar	polar-0.0.1
@@ -10715,6 +10887,7 @@
 haskellPackages.policeman	policeman-0.0.0.0
 haskellPackages.polimorf	polimorf-0.7.4
 haskellPackages.poll	poll-0.0.0.2
+haskellPackages.polling-cache	polling-cache-0.1.1.0
 haskellPackages.Pollutocracy	Pollutocracy-1.0
 haskellPackages.poly	poly-0.5.0.0
 haskellPackages.poly-arity	poly-arity-0.1.0
@@ -10726,6 +10899,7 @@
 haskellPackages.polymap	polymap-0.1.1.0
 haskellPackages.polynom	polynom-0.1.0.0
 haskellPackages.polynomial	polynomial-0.7.3
+haskellPackages.polynomial-algebra	polynomial-algebra-0.1
 haskellPackages.polynomials-bernstein	polynomials-bernstein-1.1.2
 haskellPackages.polyparse	polyparse-1.13
 haskellPackages.polysemy	polysemy-1.5.0.0
@@ -10735,20 +10909,28 @@
 haskellPackages.polysemy-fs	polysemy-fs-0.1.0.0
 haskellPackages.polysemy-fskvstore	polysemy-fskvstore-0.1.0.0
 haskellPackages.polysemy-http	polysemy-http-0.4.0.3
+haskellPackages.polysemy-keyed-state	polysemy-keyed-state-0.1.1
+haskellPackages.polysemy-kvstore	polysemy-kvstore-0.1.2.0
 haskellPackages.polysemy-kvstore-jsonfile	polysemy-kvstore-jsonfile-0.1.0.0
 haskellPackages.polysemy-log	polysemy-log-0.2.2.1
 haskellPackages.polysemy-log-co	polysemy-log-co-0.2.2.1
 haskellPackages.polysemy-log-di	polysemy-log-di-0.2.2.1
 haskellPackages.polysemy-methodology	polysemy-methodology-0.1.8.0
+haskellPackages.polysemy-methodology-co-log	polysemy-methodology-co-log-0.1.0.0
 haskellPackages.polysemy-methodology-composite	polysemy-methodology-composite-0.1.4.0
 haskellPackages.polysemy-mocks	polysemy-mocks-0.1.0.1
 haskellPackages.polysemy-optics	polysemy-optics-0.1.0.0
 haskellPackages.polysemy-path	polysemy-path-0.2.0.0
 haskellPackages.polysemy-plugin	polysemy-plugin-0.3.0.0
 haskellPackages.polysemy-RandomFu	polysemy-RandomFu-0.4.2.0
+haskellPackages.polysemy-readline	polysemy-readline-0.2.0.0
+haskellPackages.polysemy-req	polysemy-req-0.1.0
 haskellPackages.polysemy-resume	polysemy-resume-0.1.0.2
+haskellPackages.polysemy-several	polysemy-several-0.1.0.0
+haskellPackages.polysemy-socket	polysemy-socket-0.0.2.0
 haskellPackages.polysemy-test	polysemy-test-0.3.1.2
 haskellPackages.polysemy-time	polysemy-time-0.1.2.1
+haskellPackages.polysemy-uncontrolled	polysemy-uncontrolled-0.1.1.0
 haskellPackages.polysemy-video	polysemy-video-0.1.2.0
 haskellPackages.polysemy-vinyl	polysemy-vinyl-0.1.4.0
 haskellPackages.polysemy-webserver	polysemy-webserver-0.2.1.0
@@ -10791,6 +10973,12 @@
 haskellPackages.PortFusion	PortFusion-1.2.1
 haskellPackages.PortMidi	PortMidi-0.2.0.0
 haskellPackages.PortMidi-simple	PortMidi-simple-0.1.0.0
+haskellPackages.portray	portray-0.2.0
+haskellPackages.portray-diff	portray-diff-0.1.0.1
+haskellPackages.portray-diff-hunit	portray-diff-hunit-0.1.0.0
+haskellPackages.portray-diff-quickcheck	portray-diff-quickcheck-0.1.0.0
+haskellPackages.portray-pretty	portray-pretty-0.1.0.2
+haskellPackages.portray-prettyprinter	portray-prettyprinter-0.2.0
 haskellPackages.ports	ports-0.4.3.2
 haskellPackages.ports-tools	ports-tools-0.0.1
 haskellPackages.poseidon	poseidon-0.1.1.0
@@ -10834,6 +11022,8 @@
 haskellPackages.postgresql-placeholder-converter	postgresql-placeholder-converter-0.2.0.0
 haskellPackages.postgresql-pure	postgresql-pure-0.2.3.0
 haskellPackages.postgresql-query	postgresql-query-3.8.1
+haskellPackages.postgresql-replicant	postgresql-replicant-0.2.0.0
+haskellPackages.postgresql-resilient	postgresql-resilient-0.1.0.0
 haskellPackages.postgresql-schema	postgresql-schema-0.1.14
 haskellPackages.postgresql-simple	postgresql-simple-0.6.4
 haskellPackages.postgresql-simple-bind	postgresql-simple-bind-0.4.1
@@ -10870,6 +11060,7 @@
 haskellPackages.potoki-zlib	potoki-zlib-0.3
 haskellPackages.potrace	potrace-0.1.0.0
 haskellPackages.potrace-diagrams	potrace-diagrams-0.1.0.0
+haskellPackages.powerdns	powerdns-0.1
 haskellPackages.powermate	powermate-1.0
 haskellPackages.powerpc	powerpc-0.0.1
 haskellPackages.powerqueue	powerqueue-0.2.0.0
@@ -11020,6 +11211,7 @@
 haskellPackages.processing-for-haskell	processing-for-haskell-0.1.0.1
 haskellPackages.processmemory	processmemory-0.1.0.0
 haskellPackages.processor-creative-kit	processor-creative-kit-0.1.0.1
+haskellPackages.procex	procex-0.3.1
 haskellPackages.procrastinating-structure	procrastinating-structure-1.0.1
 haskellPackages.procrastinating-variable	procrastinating-variable-1.0.2
 haskellPackages.procstat	procstat-0.1.0.1
@@ -11333,6 +11525,7 @@
 haskellPackages.quokka	quokka-0.1.2
 haskellPackages.quoridor-hs	quoridor-hs-0.1.1.2
 haskellPackages.quote-quot	quote-quot-0.2.0.0
+haskellPackages.quotet	quotet-0.0.0.1
 haskellPackages.qux	qux-0.2.0.0
 haskellPackages.r-glpk-phonetic-languages-ukrainian-durations	r-glpk-phonetic-languages-ukrainian-durations-0.3.0.0
 haskellPackages.R-pandoc	R-pandoc-0.2.3
@@ -11519,6 +11712,7 @@
 haskellPackages.record-encode	record-encode-0.2.3
 haskellPackages.record-gl	record-gl-0.1.0.0
 haskellPackages.record-hasfield	record-hasfield-1.0
+haskellPackages.record-operations	record-operations-0.0.1
 haskellPackages.record-preprocessor	record-preprocessor-0.1.1.1
 haskellPackages.record-syntax	record-syntax-0.1.1
 haskellPackages.record-wrangler	record-wrangler-0.1.1.0
@@ -11576,6 +11770,7 @@
 haskellPackages.reflex-backend-wai	reflex-backend-wai-0.1.0.0
 haskellPackages.reflex-basic-host	reflex-basic-host-0.2.0.1
 haskellPackages.reflex-dom	reflex-dom-0.6.1.0
+haskellPackages.reflex-dom-ace	reflex-dom-ace-0.3.0.3
 haskellPackages.reflex-dom-colonnade	reflex-dom-colonnade-0.4.6
 haskellPackages.reflex-dom-contrib	reflex-dom-contrib-0.4.1
 haskellPackages.reflex-dom-core	reflex-dom-core-0.6.2.0
@@ -11677,6 +11872,7 @@
 haskellPackages.reified-records	reified-records-0.2.2
 haskellPackages.reify	reify-0.1.1
 haskellPackages.reinterpret-cast	reinterpret-cast-0.1.0
+haskellPackages.rel8	rel8-1.1.0.0
 haskellPackages.relacion	relacion-0.1
 haskellPackages.relapse	relapse-1.0.0.0
 haskellPackages.relation	relation-0.5.2.0
@@ -11693,6 +11889,7 @@
 haskellPackages.reliable-io	reliable-io-0.0.1
 haskellPackages.relit	relit-0.1.3
 haskellPackages.reload	reload-0.0.0.1
+haskellPackages.reloto	reloto-2.1.0.20180829
 haskellPackages.relude	relude-0.7.0.0
 haskellPackages.remark	remark-0.0.0.0
 haskellPackages.remarks	remarks-0.1.13
@@ -11796,6 +11993,8 @@
 haskellPackages.rethinkdb-model	rethinkdb-model-0.1.0.2
 haskellPackages.rethinkdb-wereHamster	rethinkdb-wereHamster-1.8.0.5
 haskellPackages.retrie	retrie-1.0.0.0
+haskellPackages.retroclash-lib	retroclash-lib-0.1.0.1
+haskellPackages.retroclash-sim	retroclash-sim-0.1.0
 haskellPackages.retry	retry-0.8.1.2
 haskellPackages.retryer	retryer-0.1.0.1
 haskellPackages.rev-state	rev-state-0.1.2
@@ -11849,6 +12048,7 @@
 haskellPackages.ring-buffers	ring-buffers-0.2
 haskellPackages.rings	rings-0.1.3
 haskellPackages.rio	rio-0.1.20.0
+haskellPackages.rio-app	rio-app-0.1.0.0
 haskellPackages.rio-orphans	rio-orphans-0.1.2.0
 haskellPackages.rio-prettyprint	rio-prettyprint-0.1.1.0
 haskellPackages.rio-process-pool	rio-process-pool-1.0.0
@@ -11870,6 +12070,7 @@
 haskellPackages.RJson	RJson-0.3.7
 haskellPackages.rl-satton	rl-satton-0.1.2.4
 haskellPackages.Rlang-QQ	Rlang-QQ-0.3.1.0
+haskellPackages.rle	rle-0.1.0.1
 haskellPackages.rlglue	rlglue-0.2.2.0
 haskellPackages.rlist	rlist-0.1.0
 haskellPackages.RLP	RLP-1.1.1
@@ -11954,7 +12155,9 @@
 haskellPackages.rpc-framework	rpc-framework-2.0.0.2
 haskellPackages.rpf	rpf-0.2.5
 haskellPackages.rpm	rpm-0.0.1
+haskellPackages.rpm-nvr	rpm-nvr-0.1.0
 haskellPackages.rpmbuild-order	rpmbuild-order-0.4.3.2
+haskellPackages.rrb-vector	rrb-vector-0.1.1.0
 haskellPackages.rrule	rrule-0.1.1
 haskellPackages.RSA	RSA-2.4.1
 haskellPackages.rsagl	rsagl-0.6.0.1
@@ -12008,6 +12211,10 @@
 haskellPackages.safe-buffer-monad	safe-buffer-monad-0.1.0
 haskellPackages.safe-coerce	safe-coerce-0.2.0.0
 haskellPackages.safe-coloured-text	safe-coloured-text-0.0.0.0
+haskellPackages.safe-coloured-text-gen	safe-coloured-text-gen-0.0.0.0
+haskellPackages.safe-coloured-text-layout	safe-coloured-text-layout-0.0.0.0
+haskellPackages.safe-coloured-text-layout-gen	safe-coloured-text-layout-gen-0.0.0.0
+haskellPackages.safe-coloured-text-terminfo	safe-coloured-text-terminfo-0.0.0.0
 haskellPackages.safe-decimal	safe-decimal-0.2.0.0
 haskellPackages.safe-exceptions	safe-exceptions-0.1.7.1
 haskellPackages.safe-exceptions-checked	safe-exceptions-checked-0.1.0
@@ -12029,6 +12236,7 @@
 haskellPackages.safe-plugins	safe-plugins-0.1
 haskellPackages.safe-printf	safe-printf-0.1.0.0
 haskellPackages.safe-tensor	safe-tensor-0.2.1.1
+haskellPackages.safe-wild-cards	safe-wild-cards-1.0.0
 haskellPackages.safecopy	safecopy-0.10.4.2
 haskellPackages.safecopy-migrate	safecopy-migrate-0.2.0
 haskellPackages.safecopy-store	safecopy-store-0.9.6
@@ -12227,6 +12435,7 @@
 haskellPackages.secret-santa	secret-santa-0.1.0.0
 haskellPackages.secret-sharing	secret-sharing-1.0.1.2
 haskellPackages.secrm	secrm-0.0
+haskellPackages.secure-memory	secure-memory-0.0.0.1
 haskellPackages.secure-sockets	secure-sockets-1.2.9.2
 haskellPackages.SecureHash-SHA3	SecureHash-SHA3-0.1.1.0
 haskellPackages.securemem	securemem-0.1.10
@@ -12353,6 +12562,7 @@
 haskellPackages.servant-fiat-content	servant-fiat-content-1.0.0
 haskellPackages.servant-flatten	servant-flatten-0.2
 haskellPackages.servant-foreign	servant-foreign-0.15.3
+haskellPackages.servant-gdp	servant-gdp-0.0.1.2
 haskellPackages.servant-generate	servant-generate-0.1
 haskellPackages.servant-generic	servant-generic-0.1.0.3
 haskellPackages.servant-github	servant-github-0.1.0.6
@@ -12375,6 +12585,8 @@
 haskellPackages.servant-matrix-param	servant-matrix-param-0.3.3
 haskellPackages.servant-mock	servant-mock-0.8.7
 haskellPackages.servant-multipart	servant-multipart-0.12
+haskellPackages.servant-multipart-api	servant-multipart-api-0.12.1
+haskellPackages.servant-multipart-client	servant-multipart-client-0.12.1
 haskellPackages.servant-named	servant-named-0.1.0.0
 haskellPackages.servant-namedargs	servant-namedargs-0.1.1.1
 haskellPackages.servant-nix	servant-nix-0.1
@@ -12413,6 +12625,7 @@
 haskellPackages.servant-streaming-client	servant-streaming-client-0.3.0.0
 haskellPackages.servant-streaming-docs	servant-streaming-docs-0.3.0.0
 haskellPackages.servant-streaming-server	servant-streaming-server-0.3.0.0
+haskellPackages.servant-streamly	servant-streamly-0.1.0.0
 haskellPackages.servant-subscriber	servant-subscriber-0.7.0.0
 haskellPackages.servant-swagger	servant-swagger-1.1.10
 haskellPackages.servant-swagger-tags	servant-swagger-tags-0.1.0.1
@@ -12422,6 +12635,8 @@
 haskellPackages.servant-swagger-ui-redoc	servant-swagger-ui-redoc-0.3.4.1.22.3
 haskellPackages.servant-to-elm	servant-to-elm-0.4.2.0
 haskellPackages.servant-tracing	servant-tracing-0.1.0.2
+haskellPackages.servant-util	servant-util-0.1.0.2
+haskellPackages.servant-util-beam-pg	servant-util-beam-pg-0.1.0.2
 haskellPackages.servant-validate	servant-validate-0.1.0.0
 haskellPackages.servant-waargonaut	servant-waargonaut-0.7.0.0
 haskellPackages.servant-wasm	servant-wasm-0.1.1.0
@@ -12574,6 +12789,9 @@
 haskellPackages.shivers-cfg	shivers-cfg-0.1.1
 haskellPackages.shoap	shoap-0.2
 haskellPackages.shopify	shopify-0
+haskellPackages.short-vec	short-vec-0.1.0.0
+haskellPackages.short-vec-lens	short-vec-lens-0.1.0.0
+haskellPackages.shortbytestring	shortbytestring-0.1.0.0
 haskellPackages.shortcircuit	shortcircuit-0.1
 haskellPackages.shortcut	shortcut-0.1
 haskellPackages.shortcut-links	shortcut-links-0.5.1.1
@@ -12598,6 +12816,7 @@
 haskellPackages.Shpadoinkle-disembodied	Shpadoinkle-disembodied-0.0.0.1
 haskellPackages.Shpadoinkle-examples	Shpadoinkle-examples-0.0.0.3
 haskellPackages.Shpadoinkle-html	Shpadoinkle-html-0.3.0.0
+haskellPackages.Shpadoinkle-isreal	Shpadoinkle-isreal-0.0.0.2
 haskellPackages.Shpadoinkle-lens	Shpadoinkle-lens-0.0.0.3
 haskellPackages.Shpadoinkle-router	Shpadoinkle-router-0.3.0.0
 haskellPackages.Shpadoinkle-streaming	Shpadoinkle-streaming-0.0.0.1
@@ -12659,6 +12878,9 @@
 haskellPackages.simple-logger	simple-logger-0.1.1
 haskellPackages.simple-logging	simple-logging-0.2.0.5
 haskellPackages.simple-ltl	simple-ltl-2.1.0
+haskellPackages.simple-media-timestamp	simple-media-timestamp-0.2.0.0
+haskellPackages.simple-media-timestamp-attoparsec	simple-media-timestamp-attoparsec-0.1.0.0
+haskellPackages.simple-media-timestamp-formatting	simple-media-timestamp-formatting-0.1.1.0
 haskellPackages.simple-money	simple-money-0.2.0.1
 haskellPackages.simple-neural-networks	simple-neural-networks-0.2.0.1
 haskellPackages.simple-nix	simple-nix-0.1.0.4
@@ -12724,6 +12946,7 @@
 haskellPackages.singnal	singnal-0.1.1.0
 haskellPackages.singular-factory	singular-factory-0.1
 haskellPackages.sink	sink-0.1.0.1
+haskellPackages.sint	sint-0.1.0.0
 haskellPackages.siphash	siphash-1.0.3
 haskellPackages.siphon	siphon-0.8.1.1
 haskellPackages.siren-json	siren-json-0.3.1.1
@@ -12785,6 +13008,7 @@
 haskellPackages.sloth	sloth-0.0.2
 haskellPackages.slotmap	slotmap-0.1.0.0
 haskellPackages.slug	slug-0.1.7
+haskellPackages.slugger	slugger-0.1.0.1
 haskellPackages.slugify	slugify-0.1.0.0
 haskellPackages.slynx	slynx-0.5.0.2
 haskellPackages.small-bytearray-builder	small-bytearray-builder-0.3.4.0
@@ -12919,11 +13143,13 @@
 haskellPackages.snorkels	snorkels-0.2.0.0
 haskellPackages.snow-white	snow-white-2009.12.1
 haskellPackages.snowball	snowball-1.0.0.1
+haskellPackages.snowchecked	snowchecked-0.0.1.0
 haskellPackages.snowflake	snowflake-0.1.1.1
 haskellPackages.snowflake-core	snowflake-core-0.1.0.1
 haskellPackages.snowflake-server	snowflake-server-0.1.0.0
 haskellPackages.snowglobe	snowglobe-3.0.0.3
 haskellPackages.snowtify	snowtify-0.1.0.3
+haskellPackages.snumber	snumber-0.1.0.0
 haskellPackages.Snusmumrik	Snusmumrik-0.0.1
 haskellPackages.soap	soap-0.2.3.6
 haskellPackages.soap-openssl	soap-openssl-0.1.0.2
@@ -12947,12 +13173,14 @@
 haskellPackages.sodium	sodium-0.11.0.3
 haskellPackages.soegtk	soegtk-0.12.1
 haskellPackages.softfloat-hs	softfloat-hs-0.1.0
+haskellPackages.solana-staking-csvs	solana-staking-csvs-0.1.1.0
 haskellPackages.solar	solar-0.1.0.0
 haskellPackages.solga	solga-0.1.0.2
 haskellPackages.solga-swagger	solga-swagger-0.1.0.2
 haskellPackages.solr	solr-0.4.3
 haskellPackages.solve	solve-1.3
 haskellPackages.some	some-1.0.3
+haskellPackages.some-dict-of	some-dict-of-0.1.0.1
 haskellPackages.sonic-visualiser	sonic-visualiser-0.1.1
 haskellPackages.Sonnex	Sonnex-0.1.0.3
 haskellPackages.SoOSiM	SoOSiM-0.2.1.0
@@ -13095,6 +13323,10 @@
 haskellPackages.srcinst	srcinst-0.8.10
 haskellPackages.srcloc	srcloc-0.6
 haskellPackages.srec	srec-0.1.0
+haskellPackages.srt	srt-0.1.1.0
+haskellPackages.srt-attoparsec	srt-attoparsec-0.1.0.0
+haskellPackages.srt-dhall	srt-dhall-0.1.0.0
+haskellPackages.srt-formatting	srt-formatting-0.1.0.0
 haskellPackages.sscan	sscan-0.2
 haskellPackages.sscgi	sscgi-0.3.1
 haskellPackages.sscript	sscript-0.1.0.2
@@ -13207,8 +13439,8 @@
 haskellPackages.stc-lang	stc-lang-1.0.0
 haskellPackages.std	std-0
 haskellPackages.stdata	stdata-0.0.4
-haskellPackages.llvmPackages.stdenv	stdenv-linux
 haskellPackages.llvmPackages.libcxxStdenv	stdenv-linux
+haskellPackages.llvmPackages.stdenv	stdenv-linux
 haskellPackages.stdf	stdf-0.2.0.0
 haskellPackages.stdio	stdio-0.2.0.0
 haskellPackages.steambrowser	steambrowser-0.1.0.0
@@ -13325,11 +13557,14 @@
 haskellPackages.streamly-binary	streamly-binary-1.0.0.1
 haskellPackages.streamly-bytestring	streamly-bytestring-0.1.2
 haskellPackages.streamly-cassava	streamly-cassava-0.1.1.0
+haskellPackages.streamly-examples	streamly-examples-0.1.0
 haskellPackages.streamly-fsnotify	streamly-fsnotify-1.1.1.0
 haskellPackages.streamly-lmdb	streamly-lmdb-0.2.1
 haskellPackages.streamly-posix	streamly-posix-0.1.0.1
+haskellPackages.streamly-process	streamly-process-0.1.0
 haskellPackages.streamproc	streamproc-1.6.2
 haskellPackages.streams	streams-3.3
+haskellPackages.streamt	streamt-0.5.0.0
 haskellPackages.strelka	strelka-2.0.5
 haskellPackages.strelka-core	strelka-core-0.3.1
 haskellPackages.strelka-wai	strelka-wai-1.0.1.1
@@ -13363,6 +13598,7 @@
 haskellPackages.string-convert	string-convert-4.0.0.1
 haskellPackages.string-fromto	string-fromto-1.0.0.0
 haskellPackages.string-interpolate	string-interpolate-0.3.1.0
+haskellPackages.string-interpreter	string-interpreter-0.5.2.0
 haskellPackages.string-isos	string-isos-0.1.0.1
 haskellPackages.string-like	string-like-0.1.0.1
 haskellPackages.string-qq	string-qq-0.0.4
@@ -13396,6 +13632,7 @@
 haskellPackages.stripeapi	stripeapi-0.1.0.2
 haskellPackages.strips	strips-0.1.0.0
 haskellPackages.strive	strive-5.0.14
+haskellPackages.strong-path	strong-path-1.0.1.1
 haskellPackages.strongswan-sql	strongswan-sql-1.3.0.1
 haskellPackages.strptime	strptime-1.0.10
 haskellPackages.structs	structs-0.1.6
@@ -13470,6 +13707,7 @@
 haskellPackages.sv-cassava	sv-cassava-0.3
 haskellPackages.sv-core	sv-core-0.5
 haskellPackages.sv-svfactor	sv-svfactor-0.2
+haskellPackages.sv2v	sv2v-0.0.8
 haskellPackages.SVD2HS	SVD2HS-0.1
 haskellPackages.svfactor	svfactor-0.1
 haskellPackages.svg-builder	svg-builder-0.1.1
@@ -13508,9 +13746,19 @@
 haskellPackages.syb-with-class-instances-text	syb-with-class-instances-text-0.0.1
 haskellPackages.SybWidget	SybWidget-0.5.6
 haskellPackages.sydtest	sydtest-0.1.0.0
+haskellPackages.sydtest-aeson	sydtest-aeson-0.0.0.0
+haskellPackages.sydtest-amqp	sydtest-amqp-0.1.0.0
 haskellPackages.sydtest-discover	sydtest-discover-0.0.0.0
+haskellPackages.sydtest-hedis	sydtest-hedis-0.0.0.0
+haskellPackages.sydtest-hspec	sydtest-hspec-0.0.0.0
+haskellPackages.sydtest-mongo	sydtest-mongo-0.0.0.0
+haskellPackages.sydtest-persistent	sydtest-persistent-0.0.0.0
+haskellPackages.sydtest-persistent-postgresql	sydtest-persistent-postgresql-0.2.0.0
 haskellPackages.sydtest-persistent-sqlite	sydtest-persistent-sqlite-0.0.0.0
+haskellPackages.sydtest-process	sydtest-process-0.0.0.0
+haskellPackages.sydtest-rabbitmq	sydtest-rabbitmq-0.1.0.0
 haskellPackages.sydtest-servant	sydtest-servant-0.0.0.0
+haskellPackages.sydtest-typed-process	sydtest-typed-process-0.0.0.0
 haskellPackages.sydtest-wai	sydtest-wai-0.0.0.0
 haskellPackages.sydtest-yesod	sydtest-yesod-0.0.0.0
 haskellPackages.syfco	syfco-1.1.0.0
@@ -13590,6 +13838,7 @@
 haskellPackages.system-util	system-util-0.2
 haskellPackages.system-uuid	system-uuid-2.1.1
 haskellPackages.systemd	systemd-2.3.0
+haskellPackages.systemd-socket-activation	systemd-socket-activation-1
 haskellPackages.systemstats	systemstats-0.1.0.0
 haskellPackages.syz	syz-0.2.0.0
 haskellPackages.t-regex	t-regex-0.1.0.0
@@ -13649,6 +13898,7 @@
 haskellPackages.Takusen	Takusen-0.8.7
 haskellPackages.takusen-oracle	takusen-oracle-0.9.4.1
 haskellPackages.tal	tal-0.1.0.0
+haskellPackages.talash	talash-0.1.1.1
 haskellPackages.tamarin-prover	tamarin-prover-0.8.6.3
 haskellPackages.tamarin-prover-term	tamarin-prover-term-0.8.5.1
 haskellPackages.tamarin-prover-theory	tamarin-prover-theory-0.8.6.0
@@ -13702,6 +13952,7 @@
 haskellPackages.tasty-lens	tasty-lens-0.3.1
 haskellPackages.tasty-lua	tasty-lua-0.2.3.2
 haskellPackages.tasty-mgolden	tasty-mgolden-0.0.2
+haskellPackages.tasty-prelude	tasty-prelude-0.1.0.0
 haskellPackages.tasty-program	tasty-program-1.0.5
 haskellPackages.tasty-quickcheck	tasty-quickcheck-0.10.1.2
 haskellPackages.tasty-quickcheck-laws	tasty-quickcheck-laws-0.0.3
@@ -13758,6 +14009,7 @@
 haskellPackages.telegraph	telegraph-1.2.0
 haskellPackages.teleport	teleport-0.0.0.10
 haskellPackages.teleshell	teleshell-0.1.0.0
+haskellPackages.tell	tell-0.1
 haskellPackages.tellbot	tellbot-0.6.1
 haskellPackages.tempered	tempered-0.2.0
 haskellPackages.tempi	tempi-1.0.2.0
@@ -13784,6 +14036,9 @@
 haskellPackages.temporary-resourcet	temporary-resourcet-0.1.0.1
 haskellPackages.tempus	tempus-0.1.0
 haskellPackages.tempus-fugit	tempus-fugit-0.1.0.1
+haskellPackages.ten	ten-0.1.0.2
+haskellPackages.ten-lens	ten-lens-0.1.0.1
+haskellPackages.ten-unordered-containers	ten-unordered-containers-0.1.0.2
 haskellPackages.tensor	tensor-0.3.0.1
 haskellPackages.Tensor	Tensor-1.1.0.2
 haskellPackages.tensor-safe	tensor-safe-0.1.0.1
@@ -13986,6 +14241,8 @@
 haskellPackages.thread-hierarchy	thread-hierarchy-0.3.0.2
 haskellPackages.thread-local-storage	thread-local-storage-0.2
 haskellPackages.thread-supervisor	thread-supervisor-0.2.0.0
+haskellPackages.thread-utils-context	thread-utils-context-0.2.0.0
+haskellPackages.thread-utils-finalizers	thread-utils-finalizers-0.1.0.0
 haskellPackages.threaded	threaded-0.0.0
 haskellPackages.threadmanager	threadmanager-0.1.7
 haskellPackages.ThreadObjects	ThreadObjects-0.0
@@ -14018,6 +14275,7 @@
 haskellPackages.tic-tac-toe	tic-tac-toe-0.1
 haskellPackages.Tic-Tac-Toe	Tic-Tac-Toe-0.1.0.2
 haskellPackages.ticker	ticker-1.0.0
+haskellPackages.ticket-management	ticket-management-0.2.0.0
 haskellPackages.tickle	tickle-0.0.9
 haskellPackages.TicTacToe	TicTacToe-0.0.1
 haskellPackages.tictactoe3d	tictactoe3d-0.1.0.3
@@ -14142,6 +14400,7 @@
 haskellPackages.toilet	toilet-0.0.1
 haskellPackages.token-bucket	token-bucket-0.1.0.1
 haskellPackages.token-limiter	token-limiter-0.2.0.3
+haskellPackages.token-limiter-concurrent	token-limiter-concurrent-0.0.0.0
 haskellPackages.token-search	token-search-0.1.0.0
 haskellPackages.tokenify	tokenify-0.1.2.0
 haskellPackages.tokenize	tokenize-0.3.0
@@ -14169,6 +14428,7 @@
 haskellPackages.toolshed	toolshed-0.18.0.2
 haskellPackages.top	top-0.2.4
 haskellPackages.Top	Top-1.7
+haskellPackages.tophat	tophat-1.0.4.0
 haskellPackages.topkata	topkata-0.2.4
 haskellPackages.topograph	topograph-1.0.0.1
 haskellPackages.torch	torch-0.1
@@ -14302,6 +14562,7 @@
 haskellPackages.trifecta	trifecta-2.1.1
 haskellPackages.trigger	trigger-1.0.2.0
 haskellPackages.trim	trim-0.1.0.0
+haskellPackages.trimdent	trimdent-0.1.0.0
 haskellPackages.trimpolya	trimpolya-0
 haskellPackages.triplesec	triplesec-0.2.2.1
 haskellPackages.tripLL	tripLL-0.1.0.0
@@ -14451,6 +14712,7 @@
 haskellPackages.type-sub-th	type-sub-th-0.1.0.6
 haskellPackages.type-tree	type-tree-0.2.0.1
 haskellPackages.type-unary	type-unary-0.3.2
+haskellPackages.typeable-mock	typeable-mock-0.1.0.1
 haskellPackages.typeable-th	typeable-th-0.1.5
 haskellPackages.typecheck-plugin-nat-simple	typecheck-plugin-nat-simple-0.1.0.2
 haskellPackages.TypeClass	TypeClass-0.2.1
@@ -14463,6 +14725,7 @@
 haskellPackages.typed-process	typed-process-0.2.6.0
 haskellPackages.typed-spreadsheet	typed-spreadsheet-1.1.5
 haskellPackages.typed-streams	typed-streams-0.1.0.1
+haskellPackages.typed-time	typed-time-0.1.0.0
 haskellPackages.typed-uuid	typed-uuid-0.0.0.2
 haskellPackages.typed-wire	typed-wire-0.3.1.1
 haskellPackages.typed-wire-utils	typed-wire-utils-0.2.0.0
@@ -14561,6 +14824,7 @@
 haskellPackages.uni-util	uni-util-2.3.0.2
 haskellPackages.unicode	unicode-0.0.1.1
 haskellPackages.unicode-collation	unicode-collation-0.1.3
+haskellPackages.unicode-data	unicode-data-0.1.0.1
 haskellPackages.unicode-general-category	unicode-general-category-0.1.0.0
 haskellPackages.unicode-names	unicode-names-3.2.0.0
 haskellPackages.unicode-normalization	unicode-normalization-0.1
@@ -14582,6 +14846,7 @@
 haskellPackages.uniform-time	uniform-time-0.1.0
 haskellPackages.uniformBase	uniformBase-0.1.0
 haskellPackages.union	union-0.1.2
+haskellPackages.union-angle	union-angle-0.1.0.1
 haskellPackages.union-find	union-find-0.2
 haskellPackages.union-find-array	union-find-array-0.1.0.2
 haskellPackages.union-map	union-map-0.1
@@ -14672,6 +14937,7 @@
 haskellPackages.unsafe-promises	unsafe-promises-0.0.1.3
 haskellPackages.unsafely	unsafely-0.2.0.0
 haskellPackages.unsafeperformst	unsafeperformst-0.9.2
+haskellPackages.unsatisfiable	unsatisfiable-0
 haskellPackages.unscramble	unscramble-1.0
 haskellPackages.unsequential	unsequential-0.5.2.1
 haskellPackages.unusable-pkg	unusable-pkg-0.1
@@ -14790,6 +15056,8 @@
 haskellPackages.vado	vado-0.0.13
 haskellPackages.valid	valid-0.1.1.0
 haskellPackages.valid-names	valid-names-0.1.0.1
+haskellPackages.valida	valida-1.1.0
+haskellPackages.valida-base	valida-base-0.2.0
 haskellPackages.validate	validate-2.0.0
 haskellPackages.validate-input	validate-input-0.5.0.0
 haskellPackages.validated-literals	validated-literals-0.3.0
@@ -14819,9 +15087,13 @@
 haskellPackages.var	var-0.2.0.0
 haskellPackages.var-monad	var-monad-0.2.0.0
 haskellPackages.varan	varan-0.5.1
+haskellPackages.variable-media-field	variable-media-field-0.1.0.0
+haskellPackages.variable-media-field-dhall	variable-media-field-dhall-0.1.0.0
+haskellPackages.variable-media-field-optics	variable-media-field-optics-0.1.0.0
 haskellPackages.variable-precision	variable-precision-0.4
 haskellPackages.variables	variables-0.1.1
 haskellPackages.variadic	variadic-0.0.0.0
+haskellPackages.variadic-function	variadic-function-0.1.0.2
 haskellPackages.variation	variation-0.1.1.0
 haskellPackages.varying	varying-0.8.1.0
 haskellPackages.vault	vault-0.3.1.5
@@ -14870,6 +15142,7 @@
 haskellPackages.vector-fft	vector-fft-0.1.0.2
 haskellPackages.vector-fftw	vector-fftw-0.1.4.0
 haskellPackages.vector-functorlazy	vector-functorlazy-0.0.1
+haskellPackages.vector-hashtables	vector-hashtables-0.1.1.1
 haskellPackages.vector-heterogenous	vector-heterogenous-0.2.0
 haskellPackages.vector-instances	vector-instances-3.4
 haskellPackages.vector-instances-collections	vector-instances-collections-0.1.0.1
@@ -14903,6 +15176,7 @@
 haskellPackages.versioning	versioning-0.3.1.0
 haskellPackages.versioning-servant	versioning-servant-0.1.0.1
 haskellPackages.versions	versions-4.0.3
+haskellPackages.vessel	vessel-0.1.0.0
 haskellPackages.vflow-types	vflow-types-0.1
 haskellPackages.vformat	vformat-0.14.1.0
 haskellPackages.vformat-aeson	vformat-aeson-0.1.0.1
@@ -15186,6 +15460,8 @@
 haskellPackages.wembley	wembley-0.1.0.0
 haskellPackages.werewolf	werewolf-1.5.2.0
 haskellPackages.werewolf-slack	werewolf-slack-1.0.2.0
+haskellPackages.wgpu-hs	wgpu-hs-0.4.0.0
+haskellPackages.wgpu-raw-hs	wgpu-raw-hs-0.4.0.0
 haskellPackages.what4	what4-1.1
 haskellPackages.Wheb	Wheb-0.3.1.0
 haskellPackages.wheb-mongo	wheb-mongo-0.0.3.0
@@ -15269,6 +15545,7 @@
 haskellPackages.word-trie	word-trie-0.3.0
 haskellPackages.word-vector	word-vector-0.1.0.0
 haskellPackages.word-wrap	word-wrap-0.4.1
+haskellPackages.word16	word16-0.1.0.0
 haskellPackages.word24	word24-2.0.1
 haskellPackages.word2vec-model	word2vec-model-0.1.0.0
 haskellPackages.word8	word8-0.1.3
@@ -15300,6 +15577,8 @@
 haskellPackages.wp-archivebot	wp-archivebot-0.1
 haskellPackages.wrap	wrap-0.0.0
 haskellPackages.wraparound	wraparound-0.0.2
+haskellPackages.wrapped	wrapped-0.1.0.0
+haskellPackages.wrapped-generic-default	wrapped-generic-default-0.1.0.0
 haskellPackages.wraxml	wraxml-0.4.4.2
 haskellPackages.wrecker	wrecker-1.3.2.0
 haskellPackages.wrecker-ui	wrecker-ui-3.3.1.0
@@ -15427,6 +15706,7 @@
 haskellPackages.xml-monad	xml-monad-0.5
 haskellPackages.xml-optics	xml-optics-0.1.0
 haskellPackages.xml-parsec	xml-parsec-1.0.3
+haskellPackages.xml-parser	xml-parser-0.1.0.1
 haskellPackages.xml-picklers	xml-picklers-0.3.6
 haskellPackages.xml-pipe	xml-pipe-0.0.0.11
 haskellPackages.xml-prettify	xml-prettify-0.1.0.1
@@ -15598,6 +15878,7 @@
 haskellPackages.yesod-auth-pam	yesod-auth-pam-1.0.0.0
 haskellPackages.yesod-auth-smbclient	yesod-auth-smbclient-2.0.0.0
 haskellPackages.yesod-auth-zendesk	yesod-auth-zendesk-1.2.1
+haskellPackages.yesod-autoreload	yesod-autoreload-0.0.0.0
 haskellPackages.yesod-bin	yesod-bin-1.6.1
 haskellPackages.yesod-bootstrap	yesod-bootstrap-0.4
 haskellPackages.yesod-colonnade	yesod-colonnade-1.3.0.1

Overall, nothing (i. e. no default attribute) was updated, which is what we want.

Comment on lines -46 to -57
# Backport arion, to support Podman instead of Docker, for those who need NixOS-based containers.
# Generated with:
# nix-shell -I nixpkgs=$PWD -p cabal-install -p cabal2nix --run 'cabal update; cabal2nix cabal://arion-compose > pkgs/applications/virtualization/arion/arion-compose.nix'
arion-compose = self.callPackage ../../applications/virtualization/arion/arion-compose.nix {};
# cabal2nix cabal://ap-normalize-0.1.0.1
ap-normalize = self.callPackage ../misc/haskell/ap-normalize {};
# cabal2nix cabal://distribution-nixpkgs
distribution-nixpkgs_1_6_0 = self.callPackage ../misc/haskell/distribution-nixpkgs.nix {};
# cabal2nix cabal://cabal2nix-2.18.0
cabal2nix = self.callPackage ../misc/haskell/cabal2nix.nix {
distribution-nixpkgs = self.distribution-nixpkgs_1_6_0;
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these able to be deleted here because they do exist in the newer Hackage snapshot? So they no longer have to be explicitly added?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These were added to overwrite existing attributes with newer versions. The same is now achieved by changing the version constraints in frozen.yaml.

@@ -1593,7 +1585,7 @@ self: super: {

# 2020-12-05: http-client is fixed on too old version
essence-of-live-coding-warp = doJailbreak (super.essence-of-live-coding-warp.override {
http-client = self.http-client_0_7_8;
http-client = self.http-client_0_7_9;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I understand what is going on here. Why is http-client going from version 0.7.8 to 0.7.9?

I was under the impression that we generally don't want to update versions of things on the release branches, unless there was some reason to explicitly do it.

In this same file, above we have haskeline_0_8_1_2 becoming haskeline_0_8_2, but I guess this means thathaskeline_0_8_1_2 is no longer available? If so, I imagine this approach won't work as-is, since we definitely don't want to remove derivations that people may be using. Something like this is of course okay to do on master / unstable, but not for the release branches.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change does not consider the versioned attributes part of the stable interface of the release branch. This is fair I think: They are mostly not well tested (most probably don't compile) and intended for internal use. If you need a certain version of a package, it is always better to use callHackage.

The upgrades done in the change are mostly to fix eval errors, alternatively, I could've added an extra-packages directive. However, I don't want to inflate hackage-packages.nix unnecessarily and we are allowed to do non-breaking (as per PVP) package updates.

Since this would need to go through a staging cycle anyways, we also have the opportunity to catch edge cases and regressions from this.

Preserving all versioned attributes is unfeasible: This would mean that we'd have to retain a versioned attribute for every version of the package released during the lifetime of the release branch in order to never remove an attribute someone may be using.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also consider doing this only for 21.11 and clearly communicating this change in attitude in the release notes.

Copy link
Member

@cdepillabout cdepillabout Oct 3, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change does not consider the versioned attributes part of the stable interface of the release branch. This is fair I think: They are mostly not well tested (most probably don't compile) and intended for internal use.

I don't think this is a reasonable change. Nowhere in our documentation that suggests that the versioned Haskell packages are internal or not intended for end users. My communication with users has always suggested that the versioned attributes are completely fine to use.

There is no way this change is okay to make on a release branch.

If you need a certain version of a package, it is always better to use callHackage.

Some of the versioned packages do have specific fixes in files like configuration-common.nix. This sometimes makes them easier to use than callHackage.


If we did want to make the versioned packages internal and have people stop using them, the following would be nice to do:

  • Go through a release cycle where we have a big warning in the release notes.
  • Possibly put some sort of builtins.trace log message on all the versioned packages that aren't in extra-packages saying they are not meant to be used.
  • Possibly renamed the versioned packaged to something like __lens_5_0_0 to better indicate that they are internal.
  • Possibly just stop generating the versioned packages that aren't in extra-packages? There are only a few tens of lines using versioned packages in configuration-common.nix and configuration-nix.nix, so adding these by hand shouldn't be too crazy.

Although, I don't know how I feel about going forward with considering the versioned packages as internal. Sometimes they are convenient to have.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly put some sort of builtins.trace log message on all the versioned packages that aren't in extra-packages saying they are not meant to be used.

This wouldn't work since it'd break our use of versioned attributes.

Although, I don't know how I feel about going forward with considering the versioned packages as internal. Sometimes they are convenient to have.

We don't need to forbid their use, they just change. It's a personal trade-off to make: Do I want to fix this (possibly) every few weeks and try if I can use an even newer version?

In general, maybe we should take a step back and talk about stable maintenance more generally? Seems like we are different levels of conservative here. I can offer to draw up a RFC of what I have in mind.

Copy link
Member

@cdepillabout cdepillabout Oct 3, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I consider it a feature that an eval error is introduced as soon as the versioned attribute is not the latest anymore.

I don't necessarily feel strongly either way. But it does create more work for us, since we always have to fix up these eval errors before merging haskell-updates to master. If we instead just added everything we need to extra-packages, then we normally wouldn't have to worry about eval errors. Although this would come at the expense of likely having unused packages accumulate in extra-packages over time.

https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#backporting-changes

Thanks for this link.

This seems to roughly coincide with my last message, except that:

  • it doesn't mention anything about removing derivations, or what could be considered an internal-use-only attribute
  • it doesn't seem like minor version bumps are discouraged (as long as they are non-breaking for current users).

So it seems like the things we need to hash out are the following. I guess this would be a good starting point for an RFC:

  • Are the versioned Haskell packages meant for internal-use-only? Should end users refrain from using them? Is this documented somewhere? If this isn't documented anywhere, then I don't we can remove/update versioned Haskell packages in an existing release branch. It may be possible for a future release as long as we document it clearly in the release notes.
  • If the versioned Haskell packages are meant for internal-use-only, then is there some way we can make that more obvious for end-users? (For instance, changing the names to something like __lens_0_5_0_0 with two leading underscores.)
  • Is there a good reason to even have the versioned attributes generated automatically? Could we move to manually adding things to extra-packages?
  • Could we just freeze the versioned packages as well?

I don't know if I made it clear above, but I am in favor with this approach in general. I'm just worried about breaking the guarantees that come with the Nixpkgs release branches.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the versioned Haskell packages are meant for internal-use-only, then is there some way we can make that more obvious for end-users?

IMO, this is quite clear already: They get added and removed all the time. If you want something stable, you'll have to use callHackage or similar. Given that, they can be used by downstream users with the limitation that they may need continuous updating (which is fine, given updating your nixpkgs pin always involves some churn if you have very specific version bounds).

Could we just freeze the versioned packages as well?

Not sure how much effort this would be in hackage2nix, but I don't think this is worth it either way.

Is there a good reason to even have the versioned attributes generated automatically?

Mainly iteration time, I think. Regenerating hackage-packages.nix is still quite slow unfortunately. Would save 1500-2000 package entries in that file though (at least that's my estimate, would need to be tested ofc).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, this is quite clear already: They get added and removed all the time. If you want something stable, you'll have to use callHackage or similar.

I disagree with this. While this may be true on master, it is not true on the release branches. Users are used to being able to rely on the versioned Haskell packages on the release branches.

This PR would change that.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cdepillabout you seem to be very determined regarding this point. Is this a matter of principle or do you actually know of users relying on this behavior?

Copy link
Member

@cdepillabout cdepillabout Oct 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally rely on this behavior (or at least I have in the past). Also, in all my communications with users of the Haskell infrastructure in Nixpkgs, I've never suggested that the versioned attributes are considered internal (and thus subject to change without notice on the release branches). As far as I know, there isn't any documentation that suggests these attributes are internal.

However, that's not really my biggest concern. My biggest concern is that we're breaking the guarantee of the release branches by removing attributes that used to exist. My understanding is that people use the release branches specifically so they don't have breakage like this.


It seems like what we're really debating about is whether the versioned Haskell packages are considered internal, and whether they are subject to change (or be removed) at any time on the release branches.

My argument is that we shouldn't change/remove the existing versioned Haskell packages on the 21.05 branch, because there could be users depending on them.

(I'm not necessarily against this frozen package set PR for future release branches, like 21.11. Although if we do this, we definitely need a warning in the release notes. I'd also like the attributes to either not be generated at all, or be called something like __lens_5_0_0_0 instead of lens_5_0_0_0 to make it more clear that they are internal.)

@maralorn
Copy link
Member

  1. I agree with @cdepillabout concerns. If I interpret this right some of your changes, e.g. the http-client bump are meant to fix eval errors caused by the fact that our config file was relying on the latest hackage version. I am strongly in favor of preventing future update problems by putting those versions into extra-packages. Either manually when the eval errors come up or automatically with a smart regex or something.

  2. Can we maybe limit the number of package versions (i.e. lines) in the frozen set? Maybe we only pin version for packages which are not broken (i.e. have hydraPlatforms != [])?

Otherwise I am in favor of merging this.

@cdepillabout
Copy link
Member

If I interpret this right some of your changes, e.g. the http-client bump are meant to fix eval errors caused by the fact that our config file was relying on the latest hackage version. I am strongly in favor of preventing future update problems by putting those versions into extra-packages. Either manually when the eval errors come up or automatically with a smart regex or something.

To me, the eval errors aren't the biggest problem.

The release branches are meant to be "stable", so if a derivation exists in one of the release branches, it won't disappear in a future update. But with this PR, if a user is using a package like haskellPackages.http-client_0_7_8 and they update to a more recent 21.05 commit, then that package will disappear (and be replaced with haskellPackages.http-client_0_7_9). This breaks the stability guarantees of the release branches.

I imagine we might be able to work around this problem by adding all of the extra package versions to extra-packages on every update.

If we did that, then when running the update for the first time on 21.05, we would still have the old haskellPackages.http-client_0_7_8, and the new haskellPackages.http-client_0_7_9 would be available as well.

@maralorn
Copy link
Member

I won‘t argue that my problem is bigger, since both have the same solution. 😄

@cdepillabout
Copy link
Member

@maralorn Ah, I guess we're effectively saying the same thing, just from different angles.

My thinking was: while eval errors are unfortunate, they are possible to clean up by hand (which we currently sometimes have to do before merging haskell-updates for similar reasons). But having derivations removed (like haskellPackages.http-client_0_7_8 in my example above) just isn't something that would work for the release branches. It doesn't seem like something that would be fixable by hand, since it could potentially be hundreds of Haskell packages.

@maralorn
Copy link
Member

Huh, now I actually get your point. There are a lot less places where a foo_version package appears in our overrides, but we actually have quite a lot of foo_version packages in hackage-packages.nix. If the requirement is simply to keep all of those that will probably not be very hard with a slight amendment to the freeze derivation. Of course this bloats the package set even more.

@sternenseemann
Copy link
Member Author

Can we maybe limit the number of package versions (i.e. lines) in the frozen set? Maybe we only pin version for packages which are not broken (i.e. have hydraPlatforms != [])?

This is a good suggestion, I'll try dabbling with this.

@sternenseemann
Copy link
Member Author

Maybe we should do a meet for a stable maintenance policy and discuss in what way to go forward? In the meantime I've had another idea, thus giving us three options:

  1. Do nothing and don't touch set after branch-off, maybe add a dedicated file for backports.
  2. Freeze the entire package set as in this PR (low maintenance effort)
  3. Keep using (and updating the set according to) a stackage LTS resolver (which guarantees no breaking changes (?)) and freeze all hackage packages not pinned by stackage (high-ish maintenance effort since we need to check that hackage keeps working with the stackage snapshot).

Then there are the unsolved questions around versioned attributes which would affect both option 2 and 3.

@cdepillabout
Copy link
Member

My argument is that we shouldn't change/remove the existing versioned Haskell packages on the 21.05 branch, because there could be users depending on them.

I'm not necessarily against this frozen package set PR for future release branches, like 21.11.

I just wanted to reiterate that my biggest contention with this was merging into 21.05. I wouldn't have any big problem with merging this into 21.11 after branch-off.

(I do still feel like it is somewhat unfortunate that users won't be able to consider the versioned haskell packages stable on the release branches, but I don't think that is important enough to block this PR.)

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 19, 2022
@pennae
Copy link
Contributor

pennae commented Feb 25, 2023

is this still useful since 21.05 is long gone?

@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Feb 25, 2023
@maralorn
Copy link
Member

The plan is still good. This PR can probably only serve as inspiration at this point.

@vcunat vcunat marked this pull request as draft March 16, 2023 09:00
@DamienCassou
Copy link
Contributor

Should we close the PR?

@maralorn
Copy link
Member

Also as closed PR it can serve as inspiration in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants