on e219af1 help sign in
10 files changed+259−673
since splitsnapshots
unifiedsplit
CURATORS.md+15−45 build-constraints.yaml+151−145 commenter−20 etc/commenter/Cargo.lock+18−95 etc/commenter/Cargo.toml−2 etc/commenter/latest-version/latest-version.cabal+1−1 etc/commenter/latest-version/src/Main.hs+7−17 etc/commenter/latest-version/stack.yaml.lock−13 etc/commenter/src/lib.rs+47−324 etc/commenter/src/main.rs+20−11
CURATORS.md+15−45
@@ -210,8 +210,6 @@ can modify it and push it to Github to trigger a build. The nightly
210210branch is used for nightlies. For LTSes, we use the ltsX branch, where X is the
211211major version number (e.g., lts3 for lts-3.\*).
212212
213−Update the `Win32` version in `build-constraints.yaml` under "GHC upper bounds".
214−
215213Note that when starting a new LTS major release, you'll need to modify `.github/workflows/image.yml` to add a new lts branch.
216214
217215Update `GHCVER` in `Dockerfile`. (This env var automatically gets passed to `debian-bootstrap.sh`.)
@@ -317,7 +315,7 @@ First run `build.sh` to regenerate updated `ltsXX/work/constraints.yaml` and `lt
317315
318316For an LTS minor bump, you'll typically want to:
319317
320−* Add constraints to package `range:` fields _under_ the `source:` field in that `constraints.yaml` (should not be necessary normally to edit `snapshot-incomplete.yaml` to change the version used for that package).
318+* Add constraints to package `range:` fields _under_ the `source:` field in that `constraints.yaml`, and edit `snapshot-incomplete.yaml` to change the version used for that package, if necessary.
321319* Add new packages to the `constraints.yaml` file
322320* Test, benchmark, haddock failures can also be added to package fields in the `constraints.yaml` if necessary, though it should be avoided if possible for LTS.
323321
@@ -422,16 +420,20 @@ errors for builds, tests and benchmarks.
422420
423421### Large scale enabling/disabling of packages
424422
425−`etc/commenter` is a binary that automates `build-constraints.yaml` workflows.
423+`etc/commenter` is a binary that mostly automates the translation of
424+`./check` errors into lines that go into `build-constraints.yaml`. It
425+can only handle bounds issues, compilation issues still need to be
426+handled manually.
427+
428+It disables all offending packages/test suites/benchmarks, so it is
429+only meant to be used when we close bounds issues and want to disable
430+packages, and when upgrading GHC.
426431
427432#### Setup
428433This is currently a rust program, You can install the rust toolchain
429434by using [rustup](https://rustup.rs/).
430435
431−For some commands you also need etc/commenter/latest-version installed.
432−```
433−stack install --stack-yaml etc/commenter/latest-version/stack.yaml
434−```
436+Then `cargo install --locked --path etc/commenter`
435437
436438#### Example usage
437439
@@ -452,7 +454,7 @@ testing-feat (GHC 9 bounds issues, Grandfathered dependencies) (not present) dep
452454
453455Now run:
454456```
455−./check 2>&1 >/dev/null | ./commenter add
457+./check 2>&1 >/dev/null | commenter add
456458```
457459
458460You will get this output:
@@ -479,8 +481,8 @@ Re-run this command until no more packages are disabled.
479481We can periodically remove all packages under the bounds sections and then re-run the disabling flow above until we get a clean plan. This will automatically pick up packages that have been fixed.
480482
481483```
482−./commenter clear
483−./check 2>&1 >/dev/null | ./commenter add
484+commenter clear
485+./check 2>&1 >/dev/null | commenter add
484486```
485487
486488Repeat the second command until no updates are made to build-constraints.yaml.
@@ -489,7 +491,7 @@ Repeat the second command until no updates are made to build-constraints.yaml.
489491
490492Run `stack update` before doing this.
491493
492−`./commenter outdated` looks through all bounds issues and library
494+`commenter outdated` looks through all bounds issues and library
493495compilation failures and compares the marked version with the latest hackage release. Example output is
494496
495497```
@@ -500,7 +502,7 @@ aeson mismatch, auto: 1.5.6.0, hackage: 2.0.2.0
500502where "manual" means the bound was added manually by a curator,
501503perhaps due to a compilation failure so we could try re-enabling the
502504package. "auto" means it's part of the sections generated by
503−`./commenter`, to update that run the `Re-enabling` step as documented
505+`commenter`, to update that run the `Re-enabling` step as documented
504506above.
505507
506508`outdated` only finds packages that are in the auto generated
@@ -510,38 +512,6 @@ sections, or that are of the form `- package < 0 # $version`.
510512
511513* Please make sure to separate bounds issues from compilation failures/test run failures, as we cannot verify that a package builds or that tests pass without running the build!
512514
513−#### Diffing snapshots / Inspecting changes
514−
515−To diff existing snapshots, or to evaluate changes before they end up
516−in a snapshot you can run:
517−
518−```
519−./commenter diff-snapshot <old-snapshot.yaml> <new-snapshot.yaml>
520−```
521−
522−Existing snapshots can be retrieved from https://github.com/commercialhaskell/stackage-snapshots. Preliminary snapshots can be generated by running relevant parts of `automated/build.sh`, at the time of writing:
523−
524−```
525−TARGET=nightly-2021-01-14 \ # the date doesn't matter
526− curator update && \
527− curator constraints --target $TARGET && \
528− curator snapshot-incomplete --target $TARGET && \
529− curator snapshot
530−```
531−
532−#### Finding disabled packages with lots of dependents
533−
534−`./commenter disabled` prints the number of transitive dependents a disabled package has. Low hanging fruit to get a lot of packages included again.
535−
536−Example output:
537−```
538−[...]
539−stringable is disabled with 10 dependents
540−llvm-hs is disabled with 12 dependents
541−th-data-compat is disabled with 12 dependents
542−amazonka-core is disabled with 96 dependents
543−gogol-core is disabled with 96 dependents
544−```
545515
546516## Adding new curators
547517
build-constraints.yaml+151−145
@@ -10,14 +10,6 @@ cabal-format-version: "3.0"
1010# Constraints for brand new builds
1111packages:
1212
13− "Xy Ren <xy.r@outlook.com> @re-xyr":
14− - cleff
15−
16− "Janus Troelsen <ysangkok@gmail.com> @ysangkok":
17− - ListZipper
18− - rollbar
19− - timezone-olson-th
20−
2113 "David Burkett <david@davidburkett.xyz> @Disco-Dave":
2214 - katip-wai
2315
@@ -74,7 +66,6 @@ packages:
7466 - regex-posix-clib
7567 - regex-tdfa
7668 - java-adt
77− - shelly
7869 - tasty-silver
7970
8071 "Diogo Biazus <diogo@biazus.ca>":
@@ -99,7 +90,7 @@ packages:
9990 - servant-errors
10091
10192 "Christian Charukiewicz <charukiewicz@protonmail.com> @charukiewicz":
102− - isbn
93+ - isbn < 0 # 1.1.0.2 text 1.2.5.0 exports `elem`
10394
10495 "Koz Ross <koz.ross@retro-freedom.nz> @kozross":
10596 - medea
@@ -316,10 +307,8 @@ packages:
316307 - essence-of-live-coding-gloss
317308 - essence-of-live-coding-pulse
318309 - essence-of-live-coding-quickcheck
319− - essence-of-live-coding-warp
320310 - pulse-simple
321311 - simple-affine-space
322− - has-transformers
323312
324313 "Paul Johnson <paul@cogito.org.uk> @PaulJohnson":
325314 - geodetics
@@ -408,7 +397,7 @@ packages:
408397 - normalization-insensitive
409398
410399 "Jacob Stanley <jacob@stanley.io> @jacobstanley":
411− - hedgehog < 1.1 # https://github.com/commercialhaskell/stackage/issues/6415
400+ - hedgehog
412401 - hedgehog-quickcheck
413402 - transformers-bifunctors
414403 - unix-compat
@@ -766,7 +755,7 @@ packages:
766755 - cryptonite-conduit
767756 - streaming-commons
768757
769− - alex < 3.2.7 || > 3.2.7
758+ - alex
770759 - async
771760 - base16-bytestring
772761 - csv-conduit
@@ -775,7 +764,7 @@ packages:
775764 - foreign-store
776765 - formatting
777766 - gtk2hs-buildtools
778− - happy < 1.21.0 || > 1.21.0 # https://github.com/commercialhaskell/stackage/issues/6294
767+ - happy
779768 - hybrid-vectors
780769 - indents
781770 - language-c
@@ -901,6 +890,7 @@ packages:
901890 - wai-slack-middleware
902891 - sysinfo
903892 - xmonad-extras
893+ - shelly
904894 - persistent-redis
905895 - fakedata
906896 - fakedata-parser
@@ -1133,7 +1123,7 @@ packages:
11331123 - bugsnag-haskell
11341124 - gravatar
11351125 - load-env
1136− - yesod-auth-oauth2 < 0.7 # https://github.com/commercialhaskell/stackage/issues/6424
1126+ - yesod-auth-oauth2
11371127 - yesod-markdown
11381128 - yesod-paginator
11391129
@@ -1451,11 +1441,10 @@ packages:
14511441 # incompatible bounds, we would prefer they be disabled temporarily,
14521442 # rather than disabling the latest hledger-lib and hledger.
14531443 # (#3494/closed, #5779/closed)
1454− # Temporary upper bound to avoid mistaken and deprecated 1.24.99 release:
1455− - hledger < 1.24.99
1456− - hledger-lib < 1.24.99
1457− - hledger-ui < 1.24.99
1458− - hledger-web < 1.24.99
1444+ - hledger
1445+ - hledger-lib
1446+ - hledger-ui
1447+ - hledger-web
14591448
14601449 "Mihai Maruseac <mihai.maruseac@gmail.com> @mihaimaruseac":
14611450 - io-manager
@@ -1515,7 +1504,7 @@ packages:
15151504 - generic-aeson
15161505 - parameterized
15171506 - tracing-control
1518− - primitive-unlifted < 0.2 # 1.0.0.0 ghc 9.0.2 panic, https://github.com/metrix-ai/primitive-extras/issues/6
1507+ - primitive-unlifted < 0 # 1.0.0.0 ghc 9.0.2 panic
15191508 - stm-lifted
15201509 - monad-primitive
15211510 - mwc-random-monad
@@ -1587,7 +1576,7 @@ packages:
15871576 - hasql
15881577 - hasql-optparse-applicative
15891578 - hasql-pool
1590− - hasql-th
1579+ - hasql-th < 0 # 0.4.0.10 TH compile error
15911580 - hasql-transaction
15921581 - headed-megaparsec
15931582 - jsonifier
@@ -1729,23 +1718,18 @@ packages:
17291718 - linux-capabilities
17301719
17311720 "Jens Petersen <juhpetersen@gmail.com> @juhp":
1732− - bodhi
17331721 - bugzilla-redhat
17341722 - cabal-file
17351723 - cabal-rpm
17361724 - cached-json-file
1737− - copr-api
1738− - dl-fedora < 0 # 0.9.2 https://github.com/juhp/dl-fedora/issues/2
1725+ - dl-fedora < 0 # https://github.com/juhp/dl-fedora/issues/2
17391726 - fedora-dists
17401727 - fedora-haskell-tools
1741− - HaXml
17421728 - hkgr
17431729 - http-directory
17441730 - http-query
17451731 - koji
1746− - pagure
17471732 - pagure-cli
1748− - pdc
17491733 - pkgtreediff
17501734 - rhbzquery
17511735 - rpm-nvr
@@ -1753,8 +1737,7 @@ packages:
17531737 - simple-cabal
17541738 - simple-cmd
17551739 - simple-cmd-args
1756− - stack-all
1757− - stack-clean-old
1740+ - HaXml
17581741
17591742 - async-pool
17601743 - darcs
@@ -2975,7 +2958,7 @@ packages:
29752958 - wai-session-postgresql
29762959
29772960 "Haisheng Wu <freizl@gmail.com> @freizl":
2978− - hoauth2 < 2.0 # https://github.com/commercialhaskell/stackage/issues/6424
2961+ - hoauth2
29792962
29802963 "Falko Peters <falko.peters@gmail.com> @informatikr":
29812964 - scrypt
@@ -3017,7 +3000,7 @@ packages:
30173000 "Justus Adam <dev@justus.science> @JustusAdam":
30183001 - marvin
30193002 - marvin-interpolate
3020− - mustache < 2.4.0 # https://github.com/commercialhaskell/stackage/issues/6421
3003+ - mustache
30213004 - exit-codes >= 1.0.0
30223005
30233006 "Cindy Wang <cindylinz@gmail.com> @CindyLinz":
@@ -3354,7 +3337,6 @@ packages:
33543337 - quote-quot
33553338 - tasty-bench
33563339 - tasty-inspection-testing
3357− - text-rope
33583340
33593341 "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
33603342 - countable
@@ -3728,11 +3710,10 @@ packages:
37283710
37293711 "Albert Krewinkel <albert+stackage@zeitkraut.de> @tarleb":
37303712 - hslua
3731− - hslua-aeson
37323713 - hslua-classes
37333714 - hslua-core
37343715 - hslua-marshalling
3735− - hslua-module-doclayout < 0 # https://github.com/commercialhaskell/stackage/issues/6416
3716+ - hslua-module-doclayout
37363717 - hslua-module-path
37373718 - hslua-module-system
37383719 - hslua-module-text
@@ -4054,7 +4035,7 @@ packages:
40544035 - ghc-parser
40554036
40564037 "Alexis Williams <alexis@typedr.at> @typedrat":
4057− - stb-image-redux < 0.2.1.3 || > 0.2.1.3 # deprecated version
4038+ - stb-image-redux
40584039
40594040 "Alexandre Peyroux <alex@px.io> @apeyroux":
40604041 - HSlippyMap
@@ -4193,9 +4174,8 @@ packages:
41934174 - file-path-th
41944175
41954176 "Raghu Kaippully <rkaippully@gmail.com> @rkaippully":
4196− - webgear-core
4197− - webgear-openapi
41984177 - webgear-server
4178+ - webgear-core
41994179
42004180 "Alex Washburn <github@recursion.ninja> @recursion-ninja":
42014181 - bv-little
@@ -4439,7 +4419,7 @@ packages:
44394419 - gtk-strut
44404420 - rate-limit
44414421 - status-notifier-item
4442− - taffybar < 0 # https://github.com/taffybar/taffybar/issues/542
4422+ - taffybar
44434423 - time-units
44444424 - xml-helpers
44454425 - xdg-desktop-entry
@@ -4552,7 +4532,7 @@ packages:
45524532 - multi-containers
45534533
45544534 "Vaclav Svejcar <vaclav.svejcar@gmail.com> @vaclavsvejcar":
4555− - headroom
4535+ - headroom < 0 # 0.4.2.0 compile fail https://github.com/commercialhaskell/stackage/issues/6342
45564536 - vcs-ignore
45574537
45584538 "Adrian Sieber <stackage@ad-si.com> @ad-si":
@@ -4669,13 +4649,13 @@ packages:
46694649 - wai-session-redis
46704650
46714651 "Rory Tyler Hayford <rory.hayford@protonmail.com> @ngua":
4672− - ipa
4652+ - ipa < 0 # https://gitlab.com/ngua/ipa-hs/-/issues/1
46734653
46744654 "Andreas Herrmann <andreas.herrmann@tweag.io> @aherrmann":
46754655 - capability
46764656
46774657 "Dustin Sallings <dustin@spy.net> @dustin":
4678− - net-mqtt
4658+ - net-mqtt < 0 # 0.8.1.0 compile fail attoparsec 0.14
46794659 - net-mqtt-lens
46804660
46814661 "David A Roberts <d@vidr.cc> @davidar":
@@ -4751,22 +4731,8 @@ packages:
47514731 "Ghais Issa <0x47@0x49.dev> @ghais":
47524732 - LetsBeRational
47534733
4754− "Edward Yang <qwbarch@gmail.com> @qwbarch":
4755− - captcha-core
4756− - captcha-2captcha
4757− - captcha-capmonster
4758− - data-default-extra
4759− - data-default-instances-base
4760− - data-default-instances-bytestring
4761− - data-default-instances-case-insensitive
4762− - data-default-instances-new-base
4763− - data-default-instances-text
4764− - data-default-instances-unordered-containers
4765− - data-default-instances-vector
4766−
47674734 "Grandfathered dependencies":
47684735 - Boolean
4769− - Cabal-syntax
47704736 - Decimal
47714737 - Diff
47724738 - FloatingHex
@@ -4894,7 +4860,7 @@ packages:
48944860 - dlist
48954861 - dlist-instances
48964862 - dlist-nonempty
4897− - double-conversion < 2.0.3.0 # https://github.com/commercialhaskell/stackage/issues/6417
4863+ - double-conversion
48984864 - dual-tree
48994865 - easy-file
49004866 - easytest
@@ -5056,7 +5022,7 @@ packages:
50565022 - process-extras
50575023 - product-isomorphic
50585024 - project-template
5059− - protobuf < 0.2.1.4 || > 0.2.1.4 # deprecated version
5025+ - protobuf < 0.2.1.4 # https://github.com/alphaHeavy/protobuf/issues/39
50605026 - pureMD5
50615027 - quickcheck-instances
50625028 - quickcheck-io
@@ -5313,7 +5279,7 @@ packages:
53135279
53145280 "GHC upper bounds":
53155281 # Need to always match the version shipped with GHC
5316− - Win32 == 2.12.0.1
5282+ - Win32 == 2.10.0.0
53175283
53185284 # Section for packages that have been mass-disabled due to
53195285 # compilation failures, e.g. after we upgrade GHC. Every package
@@ -5444,8 +5410,8 @@ packages:
54445410 # for compilation failures as we need to build those packages to
54455411 # verify if they have been fixeq.
54465412 "Library and exe bounds failures":
5447− - BiobaseHTTP < 0 # tried BiobaseHTTP-1.2.0, but its *library* does not support: network-3.1.2.7
5448− - BlastHTTP < 0 # tried BlastHTTP-1.4.2, but its *library* does not support: network-3.1.2.7
5413+ - BiobaseHTTP < 0 # tried BiobaseHTTP-1.2.0, but its *library* does not support: network-3.1.2.5
5414+ - BlastHTTP < 0 # tried BlastHTTP-1.4.2, but its *library* does not support: network-3.1.2.5
54495415 - Chart-cairo < 0 # tried Chart-cairo-1.9.3, but its *library* requires the disabled package: cairo
54505416 - Chart-diagrams < 0 # tried Chart-diagrams-1.9.3, but its *library* does not support: SVGFonts-1.8.0.1
54515417 - EntrezHTTP < 0 # tried EntrezHTTP-1.0.4, but its *library* requires the disabled package: biocore
@@ -5456,7 +5422,7 @@ packages:
54565422 - HaskellNet < 0 # tried HaskellNet-0.6, but its *library* does not support: base-4.15.1.0
54575423 - HaskellNet-SSL < 0 # tried HaskellNet-SSL-0.3.4.4, but its *library* requires the disabled package: HaskellNet
54585424 - Hoed < 0 # tried Hoed-0.5.1, but its *library* requires the disabled package: regex-tdfa-text
5459− - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: fast-logger-3.1.1
5425+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: fast-logger-3.1.0
54605426 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: optparse-applicative-0.16.1.0
54615427 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: IPv6Addr-2.0.4
54625428 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: aeson-1.5.6.0
@@ -5464,7 +5430,7 @@ packages:
54645430 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: hedis-0.15.0
54655431 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: unordered-containers-0.2.16.0
54665432 - JuicyPixels-blp < 0 # tried JuicyPixels-blp-0.2.0.0, but its *library* does not support: attoparsec-0.14.4
5467− - JuicyPixels-blp < 0 # tried JuicyPixels-blp-0.2.0.0, but its *library* does not support: text-show-3.9.6
5433+ - JuicyPixels-blp < 0 # tried JuicyPixels-blp-0.2.0.0, but its *library* does not support: text-show-3.9.5
54685434 - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: Workflow
54695435 - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: monadloc
54705436 - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: pwstore-fast
@@ -5476,7 +5442,7 @@ packages:
54765442 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseHTTP-1.2.0
54775443 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseTypes-0.2.1.0
54785444 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: aeson-1.5.6.0
5479− - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: network-3.1.2.7
5445+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: network-3.1.2.5
54805446 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* requires the disabled package: hierarchical-clustering
54815447 - Spock < 0 # tried Spock-0.14.0.0, but its *library* requires the disabled package: Spock-core
54825448 - Spock-api-server < 0 # tried Spock-api-server-0.14.0.0, but its *library* requires the disabled package: Spock-core
@@ -5523,7 +5489,7 @@ packages:
55235489 - airship < 0 # tried airship-0.9.4, but its *library* does not support: wai-3.2.3
55245490 - airship < 0 # tried airship-0.9.4, but its *library* does not support: wai-extra-3.1.8
55255491 - alg < 0 # tried alg-0.2.13.1, but its *library* requires the disabled package: util
5526− - amazonka < 0 # tried amazonka-1.6.1, but its *library* does not support: http-client-0.7.10
5492+ - amazonka < 0 # tried amazonka-1.6.1, but its *library* does not support: http-client-0.7.9
55275493 - amazonka < 0 # tried amazonka-1.6.1, but its *library* does not support: unliftio-core-0.2.0.1
55285494 - amazonka-apigateway < 0 # tried amazonka-apigateway-1.6.1, but its *library* requires the disabled package: amazonka-core
55295495 - amazonka-application-autoscaling < 0 # tried amazonka-application-autoscaling-1.6.1, but its *library* requires the disabled package: amazonka-core
@@ -5549,7 +5515,7 @@ packages:
55495515 - amazonka-cognito-idp < 0 # tried amazonka-cognito-idp-1.6.1, but its *library* requires the disabled package: amazonka-core
55505516 - amazonka-cognito-sync < 0 # tried amazonka-cognito-sync-1.6.1, but its *library* requires the disabled package: amazonka-core
55515517 - amazonka-config < 0 # tried amazonka-config-1.6.1, but its *library* requires the disabled package: amazonka-core
5552− - amazonka-core < 0 # tried amazonka-core-1.6.1, but its *library* does not support: http-client-0.7.10
5518+ - amazonka-core < 0 # tried amazonka-core-1.6.1, but its *library* does not support: http-client-0.7.9
55535519 - amazonka-datapipeline < 0 # tried amazonka-datapipeline-1.6.1, but its *library* requires the disabled package: amazonka-core
55545520 - amazonka-devicefarm < 0 # tried amazonka-devicefarm-1.6.1, but its *library* requires the disabled package: amazonka-core
55555521 - amazonka-directconnect < 0 # tried amazonka-directconnect-1.6.1, but its *library* requires the disabled package: amazonka-core
@@ -5635,6 +5601,7 @@ packages:
56355601 - arrowp-qq < 0 # tried arrowp-qq-0.3.0, but its *library* does not support: template-haskell-2.17.0.0
56365602 - asif < 0 # tried asif-6.0.4, but its *library* requires the disabled package: thyme
56375603 - async-timer < 0 # tried async-timer-0.2.0.0, but its *library* does not support: unliftio-core-0.2.0.1
5604+ - atom-conduit < 0 # tried atom-conduit-0.9.0.1, but its *library* requires the disabled package: refined
56385605 - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: attoparsec-0.14.4
56395606 - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: base-4.15.1.0
56405607 - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: cryptonite-0.29
@@ -5655,12 +5622,19 @@ packages:
56555622 - base-noprelude < 0 # tried base-noprelude-4.13.0.0, but its *library* does not support: base-4.15.1.0
56565623 - bcp47 < 0 # tried bcp47-0.2.0.5, but its *library* requires the disabled package: country
56575624 - bcp47-orphans < 0 # tried bcp47-orphans-0.1.0.4, but its *library* requires the disabled package: bcp47
5625+ - beam-core < 0 # tried beam-core-0.9.1.0, but its *library* does not support: dlist-1.0
5626+ - beam-core < 0 # tried beam-core-0.9.1.0, but its *library* does not support: ghc-prim-0.7.0
5627+ - beam-core < 0 # tried beam-core-0.9.1.0, but its *library* does not support: vector-sized-1.5.0
5628+ - beam-migrate < 0 # tried beam-migrate-0.5.1.0, but its *library* does not support: ghc-prim-0.7.0
56585629 - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: aeson-1.5.6.0
5659− - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: beam-core-0.9.2.0
5630+ - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: beam-core-0.9.1.0
56605631 - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: hashable-1.3.5.0
56615632 - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: mysql-0.2.1
5633+ - beam-postgres < 0 # tried beam-postgres-0.5.1.0, but its *library* does not support: attoparsec-0.14.4
5634+ - beam-sqlite < 0 # tried beam-sqlite-0.5.1.0, but its *library* does not support: attoparsec-0.14.4
5635+ - beam-sqlite < 0 # tried beam-sqlite-0.5.1.0, but its *library* does not support: dlist-1.0
56625636 - bench-show < 0 # tried bench-show-0.3.1, but its *library* does not support: statistics-0.16.0.1
5663− - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: brick-0.66.1
5637+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: brick-0.65
56645638 - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: bytestring-0.10.12.1
56655639 - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: directory-1.3.6.2
56665640 - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: filepath-1.4.2.1
@@ -5693,11 +5667,12 @@ packages:
56935667 - blosum < 0 # tried blosum-0.1.1.4, but its *executable* requires the disabled package: pipes-text
56945668 - boolean-normal-forms < 0 # tried boolean-normal-forms-0.0.1.1, but its *library* does not support: base-4.15.1.0
56955669 - boundingboxes < 0 # tried boundingboxes-0.2.3, but its *library* does not support: lens-5.0.1
5696− - brittany < 0 # tried brittany-0.14.0.2, but its *library* does not support: aeson-1.5.6.0
5697− - brittany < 0 # tried brittany-0.14.0.2, but its *library* does not support: yaml-0.11.6.0
5670+ - brittany < 0 # tried brittany-0.14.0.0, but its *library* does not support: aeson-1.5.6.0
5671+ - broadcast-chan < 0 # tried broadcast-chan-0.2.1.1, but its *library* does not support: base-4.15.1.0
56985672 - buchhaltung < 0 # tried buchhaltung-0.0.7, but its *library* requires the disabled package: regex-tdfa-text
56995673 - bulletproofs < 0 # tried bulletproofs-1.1.0, but its *library* requires the disabled package: elliptic-curve
57005674 - butcher < 0 # tried butcher-1.3.3.2, but its *library* does not support: base-4.15.1.0
5675+ - cabal-file < 0 # tried cabal-file-0.1.1, but its *library* requires the disabled package: hackage-security
57015676 - cabal-install < 0 # tried cabal-install-3.6.2.0, but its *executable* does not support: Cabal-3.4.1.0
57025677 - cabal-install < 0 # tried cabal-install-3.6.2.0, but its *executable* does not support: base-4.15.1.0
57035678 - cairo < 0 # tried cairo-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
@@ -5707,13 +5682,16 @@ packages:
57075682 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: aeson-casing-0.2.0.0
57085683 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: connection-0.3.1
57095684 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-api-data-0.4.3
5710− - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-client-0.7.10
5685+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-client-0.7.9
57115686 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: req-3.9.2
57125687 - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: bytebuild
57135688 - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: byteslice
57145689 - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: bytesmith
57155690 - chronos-bench < 0 # tried chronos-bench-0.2.0.2, but its *library* requires the disabled package: chronos
57165691 - clang-compilation-database < 0 # tried clang-compilation-database-0.1.0.1, but its *library* does not support: base-4.15.1.0
5692+ - clash-ghc < 0 # tried clash-ghc-1.4.6, but its *library* does not support: ghc-bignum-1.1
5693+ - clash-lib < 0 # tried clash-lib-1.4.6, but its *library* does not support: ghc-bignum-1.1
5694+ - clash-prelude < 0 # tried clash-prelude-1.4.6, but its *library* does not support: ghc-bignum-1.1
57175695 - classyplate < 0 # tried classyplate-0.3.2.0, but its *library* does not support: base-4.15.1.0
57185696 - classyplate < 0 # tried classyplate-0.3.2.0, but its *library* does not support: template-haskell-2.17.0.0
57195697 - clock-extras < 0 # tried clock-extras-0.1.0.2, but its *library* does not support: clock-0.8.2
@@ -5726,6 +5704,7 @@ packages:
57265704 - composite-aeson < 0 # tried composite-aeson-0.7.5.0, but its *library* does not support: template-haskell-2.17.0.0
57275705 - composite-aeson-path < 0 # tried composite-aeson-path-0.7.5.0, but its *library* does not support: path-0.9.2
57285706 - composite-aeson-refined < 0 # tried composite-aeson-refined-0.7.5.0, but its *library* requires the disabled package: composite-aeson
5707+ - composite-aeson-refined < 0 # tried composite-aeson-refined-0.7.5.0, but its *library* requires the disabled package: refined
57295708 - composite-aeson-throw < 0 # tried composite-aeson-throw-0.1.0.0, but its *library* requires the disabled package: composite-aeson
57305709 - composite-base < 0 # tried composite-base-0.7.5.0, but its *library* does not support: profunctors-5.6.2
57315710 - composite-base < 0 # tried composite-base-0.7.5.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -5800,10 +5779,10 @@ packages:
58005779 - distributed-process-lifted < 0 # tried distributed-process-lifted-0.3.0.1, but its *library* requires the disabled package: distributed-process
58015780 - distributed-process-monad-control < 0 # tried distributed-process-monad-control-0.5.1.3, but its *library* requires the disabled package: distributed-process
58025781 - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: containers-0.6.4.1
5803− - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-3.1.2.7
5782+ - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-3.1.2.5
58045783 - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-transport-tcp-0.8.0
58055784 - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* requires the disabled package: network-multicast
5806− - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: network-3.1.2.7
5785+ - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: network-3.1.2.5
58075786 - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: random-1.2.1
58085787 - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* requires the disabled package: rematch
58095788 - distribution < 0 # tried distribution-1.1.1.0, but its *library* does not support: containers-0.6.4.1
@@ -5815,6 +5794,7 @@ packages:
58155794 - drawille < 0 # tried drawille-0.1.2.0, but its *library* does not support: containers-0.6.4.1
58165795 - earcut < 0 # tried earcut-0.1.0.4, but its *library* does not support: base-4.15.1.0
58175796 - easytest < 0 # tried easytest-0.3, but its *library* does not support: hedgehog-1.0.5
5797+ - ed25519 < 0 # tried ed25519-0.0.5.0, but its *library* does not support: ghc-prim-0.7.0
58185798 - edit < 0 # tried edit-1.0.1.0, but its *library* does not support: QuickCheck-2.14.2
58195799 - edit < 0 # tried edit-1.0.1.0, but its *library* does not support: base-4.15.1.0
58205800 - effect-handlers < 0 # tried effect-handlers-0.1.0.8, but its *library* does not support: free-5.1.7
@@ -5832,6 +5812,7 @@ packages:
58325812 - ekg-statsd < 0 # tried ekg-statsd-0.2.5.0, but its *library* does not support: base-4.15.1.0
58335813 - ekg-wai < 0 # tried ekg-wai-0.1.0.3, but its *library* does not support: time-1.9.3
58345814 - elm-street < 0 # tried elm-street-0.1.0.4, but its *library* does not support: base-4.15.1.0
5815+ - emd < 0 # tried emd-0.2.0.0, but its *library* requires the disabled package: ghc-typelits-natnormalise
58355816 - epub-metadata < 0 # tried epub-metadata-4.5, but its *library* requires the disabled package: regex-compat-tdfa
58365817 - euler-tour-tree < 0 # tried euler-tour-tree-0.1.1.0, but its *library* requires the disabled package: Unique
58375818 - event < 0 # tried event-0.1.4, but its *library* does not support: containers-0.6.4.1
@@ -5861,6 +5842,9 @@ packages:
58615842 - ghc-clippy-plugin < 0 # tried ghc-clippy-plugin-0.0.0.1, but its *library* does not support: dhall-1.40.2
58625843 - ghc-clippy-plugin < 0 # tried ghc-clippy-plugin-0.0.0.1, but its *library* does not support: ghc-9.0.2
58635844 - ghc-syb-utils < 0 # tried ghc-syb-utils-0.3.0.0, but its *library* does not support: ghc-9.0.2
5845+ - ghc-typelits-extra < 0 # tried ghc-typelits-extra-0.4.3, but its *library* does not support: ghc-bignum-1.1
5846+ - ghc-typelits-knownnat < 0 # tried ghc-typelits-knownnat-0.7.6, but its *library* requires the disabled package: ghc-typelits-natnormalise
5847+ - ghc-typelits-natnormalise < 0 # tried ghc-typelits-natnormalise-0.7.6, but its *library* does not support: ghc-bignum-1.1
58645848 - ghcjs-dom < 0 # tried ghcjs-dom-0.9.5.0, but its *library* requires the disabled package: ghcjs-dom-jsaddle
58655849 - gi-gsk < 0 # tried gi-gsk-4.0.4, but its *library* does not support: gi-gdk-3.0.25
58665850 - gi-webkit2 < 0 # tried gi-webkit2-4.0.28, but its *library* requires the disabled package: gi-soup
@@ -5988,7 +5972,7 @@ packages:
59885972 - google-cloud < 0 # tried google-cloud-0.0.4, but its *library* does not support: base-4.15.1.0
59895973 - google-oauth2-jwt < 0 # tried google-oauth2-jwt-0.3.3, but its *library* does not support: base64-bytestring-1.2.1.0
59905974 - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-api-data-0.4.3
5991− - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-client-0.7.10
5975+ - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-client-0.7.9
59925976 - graphql-client < 0 # tried graphql-client-1.1.1, but its *executable* does not support: path-0.9.2
59935977 - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-0.12.0
59945978 - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-th-0.12
@@ -5996,12 +5980,14 @@ packages:
59965980 - grouped-list < 0 # tried grouped-list-0.2.2.1, but its *library* does not support: base-4.15.1.0
59975981 - gtk3 < 0 # tried gtk3-0.15.6, but its *library* does not support: Cabal-3.4.1.0
59985982 - hOpenPGP < 0 # tried hOpenPGP-2.9.7, but its *library* requires the disabled package: ixset-typed
5999− - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: http-client-0.7.10
5983+ - hackage-security < 0 # tried hackage-security-0.6.0.1, but its *library* requires the disabled package: ed25519
5984+ - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: http-client-0.7.9
60005985 - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: servant-0.18.3
60015986 - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: servant-client-0.18.3
60025987 - hadolint < 0 # tried hadolint-2.8.0, but its *library* does not support: deepseq-1.4.5.0
60035988 - hadolint < 0 # tried hadolint-2.8.0, but its *library* requires the disabled package: colourista
60045989 - hadolint < 0 # tried hadolint-2.8.0, but its *library* requires the disabled package: spdx
5990+ - hamilton < 0 # tried hamilton-0.1.0.3, but its *executable* requires the disabled package: ghc-typelits-knownnat
60055991 - hapistrano < 0 # tried hapistrano-0.4.3.0, but its *library* does not support: path-0.9.2
60065992 - happstack-hsp < 0 # tried happstack-hsp-7.3.7.5, but its *library* requires the disabled package: harp
60075993 - haskell-lsp < 0 # tried haskell-lsp-0.24.0.0, but its *executable* does not support: base-4.15.1.0
@@ -6027,7 +6013,7 @@ packages:
60276013 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: aeson-1.5.6.0
60286014 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: base-4.15.1.0
60296015 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: ghc-9.0.2
6030− - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: network-3.1.2.7
6016+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: network-3.1.2.5
60316017 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: optparse-applicative-0.16.1.0
60326018 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: strict-0.4.0.1
60336019 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -6058,8 +6044,8 @@ packages:
60586044 - haskell-tools-rewrite < 0 # tried haskell-tools-rewrite-1.1.1.0, but its *library* requires the disabled package: references
60596045 - haskey < 0 # tried haskey-0.3.1.0, but its *library* does not support: stm-containers-1.2
60606046 - haskey-mtl < 0 # tried haskey-mtl-0.3.1.0, but its *library* does not support: monad-control-1.0.3.1
6061− - haskoin-store < 0 # tried haskoin-store-0.64.18, but its *library* requires the disabled package: haskoin-node
6062− - haskoin-store < 0 # tried haskoin-store-0.64.18, but its *library* requires the disabled package: haskoin-store-data
6047+ - haskoin-store < 0 # tried haskoin-store-0.64.15, but its *library* requires the disabled package: haskoin-node
6048+ - haskoin-store < 0 # tried haskoin-store-0.64.15, but its *library* requires the disabled package: haskoin-store-data
60636049 - hasmin < 0 # tried hasmin-1.0.3, but its *executable* does not support: optparse-applicative-0.16.1.0
60646050 - hasmin < 0 # tried hasmin-1.0.3, but its *library* does not support: attoparsec-0.14.4
60656051 - haxl-amazonka < 0 # tried haxl-amazonka-0.1.1, but its *library* requires the disabled package: haxl
@@ -6068,7 +6054,7 @@ packages:
60686054 - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: base-4.15.1.0
60696055 - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: dlist-1.0
60706056 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: ansi-terminal-0.11.1
6071− - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: brick-0.66.1
6057+ - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: brick-0.65
60726058 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: optparse-applicative-0.16.1.0
60736059 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: semigroups-0.19.2
60746060 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: vty-5.33
@@ -6108,7 +6094,7 @@ packages:
61086094 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: ghc-boot-9.0.2
61096095 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: ghc-lib-parser-9.0.2.20211226
61106096 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: hlint-3.3.6
6111− - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: http-client-0.7.10
6097+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: http-client-0.7.9
61126098 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: lens-5.0.1
61136099 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: optparse-applicative-0.16.1.0
61146100 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -6121,7 +6107,7 @@ packages:
61216107 - hw-hspec-hedgehog < 0 # tried hw-hspec-hedgehog-0.1.1.0, but its *library* does not support: hspec-2.8.5
61226108 - hyraxAbif < 0 # tried hyraxAbif-0.2.3.27, but its *library* does not support: text-1.2.5.0
61236109 - idris < 0 # tried idris-1.3.4, but its *library* does not support: Cabal-3.4.1.0
6124− - idris < 0 # tried idris-1.3.4, but its *library* does not support: network-3.1.2.7
6110+ - idris < 0 # tried idris-1.3.4, but its *library* does not support: network-3.1.2.5
61256111 - importify < 0 # tried importify-1.0.1, but its *library* requires the disabled package: hse-cpp
61266112 - indentation-core < 0 # tried indentation-core-0.0.0.2, but its *library* does not support: base-4.15.1.0
61276113 - indentation-parsec < 0 # tried indentation-parsec-0.0.0.2, but its *library* does not support: base-4.15.1.0
@@ -6131,9 +6117,8 @@ packages:
61316117 - interpolatedstring-qq2 < 0 # tried interpolatedstring-qq2-0.1.0.0, but its *library* does not support: template-haskell-2.17.0.0
61326118 - io-streams-haproxy < 0 # tried io-streams-haproxy-1.0.1.0, but its *library* does not support: attoparsec-0.14.4
61336119 - io-streams-haproxy < 0 # tried io-streams-haproxy-1.0.1.0, but its *library* does not support: base-4.15.1.0
6134− - ipa < 0 # tried ipa-0.3.1.1, but its *library* does not support: unicode-transforms-0.4.0
61356120 - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: attoparsec-0.14.4
6136− - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: network-3.1.2.7
6121+ - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: network-3.1.2.5
61376122 - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: path-0.9.2
61386123 - it-has < 0 # tried it-has-0.2.0.0, but its *library* does not support: generic-lens-2.2.0.0
61396124 - ixset < 0 # tried ixset-1.1.1.1, but its *library* requires the disabled package: syb-with-class
@@ -6198,6 +6183,7 @@ packages:
61986183 - list-witnesses < 0 # tried list-witnesses-0.1.3.2, but its *library* requires the disabled package: functor-products
61996184 - little-logger < 0 # tried little-logger-0.3.2, but its *library* requires the disabled package: co-log
62006185 - little-logger < 0 # tried little-logger-0.3.2, but its *library* requires the disabled package: co-log-core
6186+ - loc < 0 # tried loc-0.1.3.10, but its *library* does not support: base-4.15.1.0
62016187 - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: aeson-1.5.6.0
62026188 - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: o-clock-1.2.1
62036189 - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: universum-1.7.2
@@ -6212,40 +6198,43 @@ packages:
62126198 - logging-effect-extra-handler < 0 # tried logging-effect-extra-handler-2.0.1, but its *library* does not support: prettyprinter-1.7.1
62136199 - logging-effect-extra-handler < 0 # tried logging-effect-extra-handler-2.0.1, but its *library* requires the disabled package: logging-effect
62146200 - loopbreaker < 0 # tried loopbreaker-0.1.1.1, but its *library* does not support: ghc-9.0.2
6215− - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: network-3.1.2.7
6201+ - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: network-3.1.2.5
62166202 - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: servant-0.18.3
62176203 - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: servant-client-0.18.3
62186204 - machines-directory < 0 # tried machines-directory-7.0.0.0, but its *library* requires the disabled package: machines-io
62196205 - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: ekg-core
62206206 - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: ekg-wai
6207+ - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: refined
62216208 - makefile < 0 # tried makefile-1.1.0.0, but its *library* does not support: attoparsec-0.14.4
62226209 - mallard < 0 # tried mallard-0.6.1.1, but its *library* does not support: megaparsec-9.2.0
62236210 - mallard < 0 # tried mallard-0.6.1.1, but its *library* requires the disabled package: Interpolation
62246211 - map-syntax < 0 # tried map-syntax-0.3, but its *library* does not support: base-4.15.1.0
62256212 - markup < 0 # tried markup-4.2.0, but its *library* requires the disabled package: attoparsec-uri
62266213 - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: aeson-1.5.6.0
6227− - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: http-client-0.7.10
6214+ - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: http-client-0.7.9
62286215 - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: lens-5.0.1
62296216 - marvin < 0 # tried marvin-0.2.5, but its *library* requires the disabled package: marvin-interpolate
6217+ - matrix-static < 0 # tried matrix-static-0.3, but its *library* requires the disabled package: ghc-typelits-natnormalise
62306218 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: extra-1.7.10
62316219 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: formatting-7.1.3
6232− - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: http-client-0.7.10
6220+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: http-client-0.7.9
62336221 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: optparse-applicative-0.16.1.0
62346222 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: scalpel-core-0.6.2
62356223 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: time-1.9.3
6224+ - mega-sdist < 0 # tried mega-sdist-0.4.1.0, but its *executable* requires the disabled package: pantry
62366225 - menshen < 0 # tried menshen-0.0.3, but its *library* does not support: regex-tdfa-1.3.1.1
62376226 - merkle-tree < 0 # tried merkle-tree-0.1.1, but its *library* requires the disabled package: protolude
62386227 - messagepack-rpc < 0 # tried messagepack-rpc-0.5.1, but its *library* does not support: containers-0.6.4.1
62396228 - microformats2-parser < 0 # tried microformats2-parser-1.0.2.0, but its *executable* requires the disabled package: aws-lambda-haskell-runtime-wai
62406229 - microformats2-parser < 0 # tried microformats2-parser-1.0.2.0, but its *library* requires the disabled package: xml-lens
6241− - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-client-0.7.10
6230+ - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-client-0.7.9
62426231 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-media-0.8.0.0
62436232 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: servant-0.18.3
62446233 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: servant-client-0.18.3
62456234 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: time-1.9.3
62466235 - midi-music-box < 0 # tried midi-music-box-0.0.1.2, but its *executable* requires the disabled package: diagrams-postscript
62476236 - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: lens-5.0.1
6248− - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: network-3.1.2.7
6237+ - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: network-3.1.2.5
62496238 - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: random-1.2.1
62506239 - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: semigroups-0.19.2
62516240 - mini-egison < 0 # tried mini-egison-1.0.0, but its *library* requires the disabled package: egison-pattern-src
@@ -6255,6 +6244,7 @@ packages:
62556244 - misfortune < 0 # tried misfortune-0.1.1.2, but its *library* requires the disabled package: random-fu
62566245 - miso < 0 # tried miso-1.8.1.0, but its *library* requires the disabled package: jsaddle
62576246 - modify-fasta < 0 # tried modify-fasta-0.8.3.0, but its *executable* requires the disabled package: pipes-text
6247+ - modular < 0 # tried modular-0.1.0.8, but its *library* requires the disabled package: ghc-typelits-knownnat
62586248 - mole < 0 # tried mole-0.0.7, but its *executable* does not support: base-4.15.1.0
62596249 - mole < 0 # tried mole-0.0.7, but its *executable* requires the disabled package: snap-server
62606250 - monad-bayes < 0 # tried monad-bayes-0.1.1.0, but its *library* does not support: base-4.15.1.0
@@ -6275,7 +6265,7 @@ packages:
62756265 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: binary-conduit-1.3.1
62766266 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: conduit-1.3.4.2
62776267 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: conduit-extra-1.3.5
6278− - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: network-3.1.2.7
6268+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: network-3.1.2.5
62796269 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: random-1.2.1
62806270 - multistate < 0 # tried multistate-0.8.0.3, but its *library* does not support: base-4.15.1.0
62816271 - mwc-random-accelerate < 0 # tried mwc-random-accelerate-0.2.0.0, but its *library* requires the disabled package: accelerate
@@ -6289,12 +6279,12 @@ packages:
62896279 - n2o-web < 0 # tried n2o-web-0.11.2, but its *library* requires the disabled package: n2o-protocols
62906280 - nakadi-client < 0 # tried nakadi-client-0.7.0.0, but its *library* requires the disabled package: async-timer
62916281 - naqsha < 0 # tried naqsha-0.3.0.1, but its *library* does not support: base-4.15.1.0
6292− - net-mqtt < 0 # tried net-mqtt-0.8.2.0, but its *library* does not support: attoparsec-0.14.4
62936282 - net-mqtt-lens < 0 # tried net-mqtt-lens-0.1.1.0, but its *library* requires the disabled package: net-mqtt
62946283 - netrc < 0 # tried netrc-0.2.0.0, but its *library* does not support: base-4.15.1.0
62956284 - network-anonymous-tor < 0 # tried network-anonymous-tor-0.11.0, but its *library* requires the disabled package: hexstring
62966285 - network-anonymous-tor < 0 # tried network-anonymous-tor-0.11.0, but its *library* requires the disabled package: network-attoparsec
6297− - network-msgpack-rpc < 0 # tried network-msgpack-rpc-0.0.6, but its *library* does not support: network-3.1.2.7
6286+ - network-msgpack-rpc < 0 # tried network-msgpack-rpc-0.0.6, but its *library* does not support: network-3.1.2.5
6287+ - network-msgpack-rpc < 0 # tried network-msgpack-rpc-0.0.6, but its *library* requires the disabled package: data-default-instances-base
62986288 - network-transport-inmemory < 0 # tried network-transport-inmemory-0.5.2, but its *library* does not support: containers-0.6.4.1
62996289 - nri-test-encoding < 0 # tried nri-test-encoding-0.1.1.1, but its *library* requires the disabled package: servant-auth-server
63006290 - numhask-prelude < 0 # tried numhask-prelude-0.5.0, but its *library* does not support: numhask-0.8.1.0
@@ -6303,12 +6293,14 @@ packages:
63036293 - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: Cabal-3.4.1.0
63046294 - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: base-4.15.1.0
63056295 - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: template-haskell-2.17.0.0
6296+ - opml-conduit < 0 # tried opml-conduit-0.9.0.0, but its *library* requires the disabled package: refined
63066297 - oset < 0 # tried oset-0.4.0.1, but its *library* does not support: base-4.15.1.0
63076298 - packdeps < 0 # tried packdeps-0.6.0.0, but its *library* does not support: Cabal-3.4.1.0
63086299 - pairing < 0 # tried pairing-1.1.0, but its *library* does not support: groups-0.5.3
63096300 - pairing < 0 # tried pairing-1.1.0, but its *library* does not support: protolude-0.3.0
63106301 - pairing < 0 # tried pairing-1.1.0, but its *library* requires the disabled package: elliptic-curve
63116302 - pango < 0 # tried pango-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
6303+ - pantry < 0 # tried pantry-0.5.3, but its *library* requires the disabled package: hackage-security
63126304 - papillon < 0 # tried papillon-0.1.1.1, but its *library* does not support: template-haskell-2.17.0.0
63136305 - paripari < 0 # tried paripari-0.7.0.0, but its *library* does not support: parser-combinators-1.3.0
63146306 - path-text-utf8 < 0 # tried path-text-utf8-0.0.1.8, but its *library* does not support: path-0.9.2
@@ -6318,7 +6310,7 @@ packages:
63186310 - persistable-record < 0 # tried persistable-record-0.6.0.5, but its *library* requires the disabled package: th-data-compat
63196311 - persistable-types-HDBC-pg < 0 # tried persistable-types-HDBC-pg-0.0.3.5, but its *library* requires the disabled package: persistable-record
63206312 - persistable-types-HDBC-pg < 0 # tried persistable-types-HDBC-pg-0.0.3.5, but its *library* requires the disabled package: relational-query-HDBC
6321− - persistent-mysql-haskell < 0 # tried persistent-mysql-haskell-0.6.0, but its *library* does not support: tls-1.5.7
6313+ - persistent-mysql-haskell < 0 # tried persistent-mysql-haskell-0.6.0, but its *library* does not support: tls-1.5.6
63226314 - pg-harness-server < 0 # tried pg-harness-server-0.6.2, but its *executable* does not support: random-1.2.1
63236315 - pg-harness-server < 0 # tried pg-harness-server-0.6.2, but its *executable* does not support: scotty-0.12
63246316 - picedit < 0 # tried picedit-0.2.3.0, but its *executable* requires the disabled package: cli
@@ -6331,15 +6323,15 @@ packages:
63316323 - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: containers-0.6.4.1
63326324 - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: hashable-1.3.5.0
63336325 - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: shake-0.19.6
6334− - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: yaml-0.11.6.0
6326+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: yaml-0.11.7.0
63356327 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: Cabal-3.4.1.0
63366328 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: base-4.15.1.0
63376329 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: base64-bytestring-1.2.1.0
63386330 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: containers-0.6.4.1
63396331 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: hashable-1.3.5.0
6340− - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: http-client-0.7.10
6332+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: http-client-0.7.9
63416333 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: shake-0.19.6
6342− - pinboard < 0 # tried pinboard-0.10.2.0, but its *library* does not support: http-client-0.7.10
6334+ - pinboard < 0 # tried pinboard-0.10.2.0, but its *library* does not support: http-client-0.7.9
63436335 - pipes-category < 0 # tried pipes-category-0.3.0.0, but its *library* does not support: lens-5.0.1
63446336 - pipes-misc < 0 # tried pipes-misc-0.5.0.0, but its *library* requires the disabled package: pipes-category
63456337 - pipes-network-tls < 0 # tried pipes-network-tls-0.4, but its *library* requires the disabled package: pipes-network
@@ -6360,6 +6352,7 @@ packages:
63606352 - pred-set < 0 # tried pred-set-0.0.1, but its *library* requires the disabled package: HSet
63616353 - pred-trie < 0 # tried pred-trie-0.6.1, but its *library* requires the disabled package: pred-set
63626354 - pred-trie < 0 # tried pred-trie-0.6.1, but its *library* requires the disabled package: tries
6355+ - primitive-extras < 0 # tried primitive-extras-0.10.1.4, but its *library* requires the disabled package: primitive-unlifted
63636356 - printcess < 0 # tried printcess-0.1.0.3, but its *library* does not support: containers-0.6.4.1
63646357 - printcess < 0 # tried printcess-0.1.0.3, but its *library* does not support: lens-5.0.1
63656358 - product-isomorphic < 0 # tried product-isomorphic-0.0.3.3, but its *library* requires the disabled package: th-data-compat
@@ -6377,7 +6370,7 @@ packages:
63776370 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: connection-0.3.1
63786371 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: constraints-0.13.2
63796372 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-api-data-0.4.3
6380− - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-client-0.7.10
6373+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-client-0.7.9
63816374 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: lens-5.0.1
63826375 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: req-3.9.2
63836376 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* requires the disabled package: extensible
@@ -6386,6 +6379,8 @@ packages:
63866379 - rdf < 0 # tried rdf-0.1.0.5, but its *library* does not support: attoparsec-0.14.4
63876380 - reanimate < 0 # tried reanimate-1.1.4.0, but its *library* requires the disabled package: hgeometry
63886381 - reanimate < 0 # tried reanimate-1.1.4.0, but its *library* requires the disabled package: hgeometry-combinatorial
6382+ - refined < 0 # tried refined-0.6.2, but its *library* does not support: base-4.15.1.0
6383+ - refined < 0 # tried refined-0.6.2, but its *library* does not support: template-haskell-2.17.0.0
63896384 - reform-hsp < 0 # tried reform-hsp-0.2.7.2, but its *library* requires the disabled package: hsx2hs
63906385 - regex-pcre-text < 0 # tried regex-pcre-text-0.94.0.1, but its *library* does not support: regex-base-0.94.0.2
63916386 - regex-pcre-text < 0 # tried regex-pcre-text-0.94.0.1, but its *library* does not support: regex-pcre-builtin-0.95.2.3.8.44
@@ -6406,11 +6401,12 @@ packages:
64066401 - rethinkdb-client-driver < 0 # tried rethinkdb-client-driver-0.0.25, but its *library* does not support: base-4.15.1.0
64076402 - rhine-gloss < 0 # tried rhine-gloss-0.7.0, but its *library* requires the disabled package: rhine
64086403 - riak < 0 # tried riak-1.2.0.0, but its *library* does not support: attoparsec-0.14.4
6409− - riak < 0 # tried riak-1.2.0.0, but its *library* does not support: network-3.1.2.7
6404+ - riak < 0 # tried riak-1.2.0.0, but its *library* does not support: network-3.1.2.5
64106405 - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: aeson-1.5.6.0
6411− - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: http-client-0.7.10
6412− - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: network-3.1.2.7
6406+ - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: http-client-0.7.9
6407+ - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: network-3.1.2.5
64136408 - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: time-1.9.3
6409+ - rss-conduit < 0 # tried rss-conduit-0.6.0.1, but its *library* requires the disabled package: atom-conduit
64146410 - safe-tensor < 0 # tried safe-tensor-0.2.1.1, but its *library* does not support: singletons-3.0.1
64156411 - salak-toml < 0 # tried salak-toml-0.3.5.3, but its *library* requires the disabled package: tomland
64166412 - sandwich-webdriver < 0 # tried sandwich-webdriver-0.1.0.6, but its *library* requires the disabled package: webdriver
@@ -6421,7 +6417,7 @@ packages:
64216417 - sendgrid-v3 < 0 # tried sendgrid-v3-0.3.0.0, but its *library* does not support: base-4.15.1.0
64226418 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: aeson-1.5.6.0
64236419 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: base-4.15.1.0
6424− - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: http-client-0.7.10
6420+ - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: http-client-0.7.9
64256421 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: lens-5.0.1
64266422 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: optparse-applicative-0.16.1.0
64276423 - seqloc < 0 # tried seqloc-0.6.1.1, but its *library* requires the disabled package: biocore
@@ -6482,13 +6478,17 @@ packages:
64826478 - shower < 0 # tried shower-0.2.0.2, but its *library* does not support: base-4.15.1.0
64836479 - simplest-sqlite < 0 # tried simplest-sqlite-0.1.0.2, but its *library* does not support: template-haskell-2.17.0.0
64846480 - size-based < 0 # tried size-based-0.1.2.0, but its *library* does not support: template-haskell-2.17.0.0
6481+ - sized < 0 # tried sized-1.0.0.0, but its *library* requires the disabled package: ghc-typelits-knownnat
6482+ - sized < 0 # tried sized-1.0.0.0, but its *library* requires the disabled package: type-natural
64856483 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: aeson-1.5.6.0
64866484 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: base-4.15.1.0
64876485 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: constraints-0.13.2
64886486 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: lens-5.0.1
64896487 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: random-1.2.1
64906488 - skeletons < 0 # tried skeletons-0.4.0, but its *executable* requires the disabled package: tinytemplate
6491− - slack-web < 0 # tried slack-web-0.4.0.0, but its *library* does not support: http-client-0.7.10
6489+ - slack-web < 0 # tried slack-web-0.3.0.1, but its *library* does not support: base-4.15.1.0
6490+ - slack-web < 0 # tried slack-web-0.3.0.1, but its *library* does not support: http-client-0.7.9
6491+ - slave-thread < 0 # tried slave-thread-1.1.0.1, but its *library* requires the disabled package: stm-containers
64926492 - smallcheck-series < 0 # tried smallcheck-series-0.7.1.0, but its *library* does not support: base-4.15.1.0
64936493 - smash-lens < 0 # tried smash-lens-0.1.0.1, but its *library* does not support: lens-5.0.1
64946494 - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: aeson-1.5.6.0
@@ -6501,7 +6501,7 @@ packages:
65016501 - snap < 0 # tried snap-1.1.3.1, but its *library* requires the disabled package: snap-server
65026502 - snap-blaze < 0 # tried snap-blaze-0.2.1.5, but its *library* requires the disabled package: snap-core
65036503 - snap-core < 0 # tried snap-core-1.0.4.2, but its *library* does not support: attoparsec-0.14.4
6504− - socket-activation < 0 # tried socket-activation-0.1.0.2, but its *library* does not support: network-3.1.2.7
6504+ - socket-activation < 0 # tried socket-activation-0.1.0.2, but its *library* does not support: network-3.1.2.5
65056505 - sparkle < 0 # tried sparkle-0.7.4, but its *library* does not support: inline-java-0.10.0
65066506 - sparkle < 0 # tried sparkle-0.7.4, but its *library* does not support: jvm-0.6.0
65076507 - sparkle < 0 # tried sparkle-0.7.4, but its *library* requires the disabled package: distributed-closure
@@ -6509,8 +6509,13 @@ packages:
65096509 - sparse-tensor < 0 # tried sparse-tensor-0.2.1.5, but its *library* does not support: ad-4.5
65106510 - speculation < 0 # tried speculation-1.5.0.3, but its *library* does not support: stm-2.5.0.0
65116511 - sqlite-simple-errors < 0 # tried sqlite-simple-errors-0.6.1.0, but its *library* does not support: text-1.2.5.0
6512+ - stack < 0 # tried stack-2.7.3, but its *library* requires the disabled package: hackage-security
6513+ - stm-containers < 0 # tried stm-containers-1.2, but its *library* requires the disabled package: stm-hamt
6514+ - stm-hamt < 0 # tried stm-hamt-1.2.0.7, but its *library* requires the disabled package: primitive-extras
65126515 - streamproc < 0 # tried streamproc-1.6.2, but its *library* does not support: base-4.15.1.0
65136516 - strict-base-types < 0 # tried strict-base-types-0.7, but its *library* requires the disabled package: strict-lens
6517+ - strict-tuple < 0 # tried strict-tuple-0.1.4, but its *library* does not support: base-4.15.1.0
6518+ - strict-tuple-lens < 0 # tried strict-tuple-lens-0.2, but its *library* requires the disabled package: strict-tuple
65146519 - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: hspec-2.8.5
65156520 - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: hspec-core-2.8.5
65166521 - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: random-1.2.1
@@ -6526,17 +6531,19 @@ packages:
65266531 - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: profunctors-5.6.2
65276532 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: containers-0.6.4.1
65286533 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-api-data-0.4.3
6529− - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-client-0.7.10
6534+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-client-0.7.9
65306535 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-media-0.8.0.0
65316536 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: katip-0.8.7.0
6532− - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: network-3.1.2.7
6537+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: network-3.1.2.5
65336538 - swagger2 < 0 # tried swagger2-2.7, but its *library* does not support: aeson-1.5.6.0
65346539 - sweet-egison < 0 # tried sweet-egison-0.1.1.3, but its *library* requires the disabled package: egison-pattern-src
65356540 - sweet-egison < 0 # tried sweet-egison-0.1.1.3, but its *library* requires the disabled package: egison-pattern-src-th-mode
6541+ - taffybar < 0 # tried taffybar-3.3.0, but its *library* requires the disabled package: broadcast-chan
65366542 - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: containers-0.6.4.1
65376543 - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: tasty-1.4.2.1
65386544 - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: time-1.9.3
6539− - tcp-streams-openssl < 0 # tried tcp-streams-openssl-1.0.1.0, but its *library* does not support: network-3.1.2.7
6545+ - tcp-streams-openssl < 0 # tried tcp-streams-openssl-1.0.1.0, but its *library* does not support: network-3.1.2.5
6546+ - termbox < 0 # tried termbox-0.3.0, but its *library* does not support: base-4.15.1.0
65406547 - termcolor < 0 # tried termcolor-0.2.0.0, but its *executable* requires the disabled package: cli
65416548 - termonad < 0 # tried termonad-4.2.0.0, but its *library* requires the disabled package: xml-html-qq
65426549 - test-fixture < 0 # tried test-fixture-0.5.1.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -6547,6 +6554,7 @@ packages:
65476554 - text-format < 0 # tried text-format-0.3.2, but its *library* does not support: base-4.15.1.0
65486555 - text-generic-pretty < 0 # tried text-generic-pretty-1.2.1, but its *library* does not support: wl-pprint-text-1.2.0.2
65496556 - th-to-exp < 0 # tried th-to-exp-0.0.1.1, but its *library* does not support: template-haskell-2.17.0.0
6557+ - these-skinny < 0 # tried these-skinny-0.7.4, but its *library* does not support: base-4.15.1.0
65506558 - threepenny-gui < 0 # tried threepenny-gui-0.9.1.0, but its *library* requires the disabled package: snap-server
65516559 - threepenny-gui-flexbox < 0 # tried threepenny-gui-flexbox-0.4.2, but its *library* requires the disabled package: threepenny-gui
65526560 - thumbnail-plus < 0 # tried thumbnail-plus-1.0.5, but its *library* does not support: either-5.0.1.1
@@ -6556,21 +6564,23 @@ packages:
65566564 - tonatona < 0 # tried tonatona-0.1.2.1, but its *library* does not support: base-4.15.1.0
65576565 - tonatona-logger < 0 # tried tonatona-logger-0.2.0.2, but its *library* does not support: base-4.15.1.0
65586566 - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: base-4.15.1.0
6559− - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-2.13.2.2
6560− - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-postgresql-2.13.2.2
6567+ - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-2.13.2.1
6568+ - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-postgresql-2.13.2.1
65616569 - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: base-4.15.1.0
6562− - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-2.13.2.2
6563− - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-sqlite-2.13.0.4
6570+ - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-2.13.2.1
6571+ - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-sqlite-2.13.0.3
65646572 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: base-4.15.1.0
65656573 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: servant-0.18.3
65666574 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: servant-server-0.18.3
65676575 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: wai-extra-3.1.8
65686576 - transformers-lift < 0 # tried transformers-lift-0.2.0.2, but its *library* does not support: base-4.15.1.0
65696577 - transformers-lift < 0 # tried transformers-lift-0.2.0.2, but its *library* does not support: writer-cps-transformers-0.5.6.1
6570− - transient-universe < 0 # tried transient-universe-0.6.0.1, but its *library* does not support: network-3.1.2.7
6578+ - transient-universe < 0 # tried transient-universe-0.6.0.1, but its *library* does not support: network-3.1.2.5
65716579 - tries < 0 # tried tries-0.0.6.1, but its *library* requires the disabled package: rose-trees
65726580 - true-name < 0 # tried true-name-0.1.0.3, but its *library* does not support: template-haskell-2.17.0.0
65736581 - type-combinators-singletons < 0 # tried type-combinators-singletons-0.2.1.0, but its *library* requires the disabled package: type-combinators
6582+ - type-natural < 0 # tried type-natural-1.1.0.1, but its *library* requires the disabled package: ghc-typelits-natnormalise
6583+ - tz < 0 # tried tz-0.1.3.5, but its *library* does not support: template-haskell-2.17.0.0
65746584 - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: aeson-1.5.6.0
65756585 - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: attoparsec-0.14.4
65766586 - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: base-4.15.1.0
@@ -6592,13 +6602,13 @@ packages:
65926602 - vector-circular < 0 # tried vector-circular-0.1.3, but its *library* does not support: template-haskell-2.17.0.0
65936603 - vector-fftw < 0 # tried vector-fftw-0.1.4.0, but its *library* does not support: base-4.15.1.0
65946604 - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: base-4.15.1.0
6595− - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: brick-0.66.1
6605+ - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: brick-0.65
65966606 - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: lens-5.0.1
65976607 - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: vty-5.33
65986608 - wai-middleware-crowd < 0 # tried wai-middleware-crowd-0.1.4.2, but its *executable* does not support: optparse-applicative-0.16.1.0
65996609 - wai-middleware-metrics < 0 # tried wai-middleware-metrics-0.2.4, but its *library* requires the disabled package: ekg-core
66006610 - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: aeson-1.5.6.0
6601− - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: http-client-0.7.10
6611+ - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: http-client-0.7.9
66026612 - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: time-1.9.3
66036613 - wai-middleware-throttle < 0 # tried wai-middleware-throttle-0.3.0.1, but its *library* requires the disabled package: token-bucket
66046614 - wai-routing < 0 # tried wai-routing-0.13.0, but its *library* requires the disabled package: wai-predicates
@@ -6613,7 +6623,7 @@ packages:
66136623 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: base-4.15.1.0
66146624 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: cryptonite-0.29
66156625 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: hspec-2.8.5
6616− - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: http-client-0.7.10
6626+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: http-client-0.7.9
66176627 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: memory-0.16.0
66186628 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: servant-0.18.3
66196629 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: servant-client-0.18.3
@@ -6635,7 +6645,7 @@ packages:
66356645 - xml-isogen < 0 # tried xml-isogen-0.3.0, but its *library* requires the disabled package: dom-parser
66366646 - yeshql < 0 # tried yeshql-4.2.0.0, but its *library* does not support: yeshql-core-4.2.0.0
66376647 - yeshql < 0 # tried yeshql-4.2.0.0, but its *library* requires the disabled package: yeshql-hdbc
6638− - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: persistent-2.13.2.2
6648+ - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: persistent-2.13.2.1
66396649 - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-auth-1.6.10.5
66406650 - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-core-1.6.21.0
66416651 - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-form-1.7.0
@@ -6674,9 +6684,6 @@ packages:
66746684
66756685 # aeson-2
66766686 # https://github.com/commercialhaskell/stackage/issues/6217
6677− # https://github.com/commercialhaskell/stackage/issues/6402
6678− # https://github.com/commercialhaskell/stackage/issues/6243
6679− # https://github.com/commercialhaskell/stackage/issues/6393
66806687 - aeson < 2.0.0.0
66816688 - aura < 3.2.6
66826689 - avro < 0.6.0.0
@@ -6684,7 +6691,6 @@ packages:
66846691 - core-data < 0.3.0.0
66856692 - eventstore < 1.4.2
66866693 - faktory < 1.1.2.1
6687− - flow < 2.0.0.0
66886694 - forma < 1.2.0
66896695 - geojson < 4.1.0
66906696 - greskell < 2.0.0.0
@@ -6692,20 +6698,25 @@ packages:
66926698 - greskell-websocket < 1.0.0.0
66936699 - hruby < 0.4.0.0
66946700 - hspec-expectations-json < 1.0.0.5
6695− - http2 < 3.0.3
6696− - jose < 0.9
66976701 - jsonpath < 0.2.1.0
66986702 - kanji < 3.5
66996703 - microlens-aeson < 2.4
67006704 - mmark-cli < 0.0.5.1
6701− - pandoc-plot < 1.4.0
67026705 - postgresql-binary < 0.12.4.2
67036706 - servant-tracing < 0.2.0.0
67046707 - shikensu < 0.4.0
67056708 - stache < 2.3.1
67066709 - stripe-scotty < 1.1.0.1
67076710 - stripe-wreq < 1.0.1.12
6708− - yaml < 0.11.7
6711+
6712+ # happy-1.21.0 is deprecated an unbuildable
6713+ # https://github.com/commercialhaskell/stackage/issues/6294
6714+ # see also https://github.com/commercialhaskell/stackage/issues/6242
6715+ - happy < 1.21
6716+
6717+ # https://github.com/commercialhaskell/stackage/issues/6243
6718+ # lift together with https://github.com/commercialhaskell/stackage/issues/6217
6719+ - jose < 0.9
67096720
67106721 # https://github.com/commercialhaskell/stackage/issues/6264
67116722 # Requires GHC 9.2
@@ -6763,21 +6774,19 @@ packages:
67636774 - selective < 0.5
67646775 - yaml-unscrambler < 0.1.0.5
67656776
6777+ # https://github.com/commercialhaskell/stackage/issues/6382
6778+ - unicode-data < 0.3
6779+
67666780 # https://github.com/commercialhaskell/stackage/issues/6388
67676781 # issue is for 5.0, but 4.0.4 is deprecated.
67686782 - hw-kafka-client < 4.0.4
67696783
6770− # https://github.com/commercialhaskell/stackage/issues/6395
6771− - wuss < 2.0
6772−
6773− # https://github.com/haskell-game/sdl2/issues/240 (need newer Ubuntu)
6774− - sdl2 < 2.5.3.1
6784+ # https://github.com/commercialhaskell/stackage/issues/6392
6785+ - burrito < 2.0.0.0
67756786
6776− # https://github.com/commercialhaskell/stack/issues/5670 (fails with Cabal-3.4)
6777− - stack < 0
6787+ # https://github.com/commercialhaskell/stackage/issues/6393
6788+ - flow < 2.0.0.0
67786789
6779− # https://github.com/commercialhaskell/stackage/issues/6401
6780− - rope-utf16-splay < 0.4
67816790
67826791# end of packages
67836792
@@ -6921,7 +6930,6 @@ skipped-builds:
69216930# Otherwise place them in expected-test-failures.
69226931skipped-tests:
69236932 # aeson-2
6924− # https://github.com/commercialhaskell/stackage/issues/6217
69256933 - jsonifier
69266934 - req
69276935
@@ -7003,9 +7011,6 @@ skipped-tests:
70037011 - hpqtypes-extras # needs a running postgres database
70047012 # norfairking
70057013 - autodocodec # runs doctest
7006− - captcha-core
7007− - captcha-2captcha
7008− - captcha-capmonster
70097014
70107015 # Uses Cabal's "library internal" stanza feature
70117016 - s3-signer
@@ -7053,7 +7058,7 @@ skipped-tests:
70537058 # Test bounds issues
70547059 - ENIG # tried ENIG-0.0.1.0, but its *test-suite* requires the disabled package: test-framework-th
70557060 - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: hspec-2.8.5
7056− - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: http-client-0.7.10
7061+ - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: http-client-0.7.9
70577062 - MissingH # tried MissingH-1.4.3.0, but its *test-suite* requires the disabled package: errorcall-eq-instance
70587063 - aeson # tried aeson-1.5.6.0, but its *test-suite* does not support: hashable-time-0.3
70597064 - airship # tried airship-0.9.4, but its *test-suite* does not support: tasty-1.4.2.1
@@ -7114,6 +7119,7 @@ skipped-tests:
71147119 - generic-xmlpickler # tried generic-xmlpickler-0.1.0.6, but its *test-suite* does not support: tasty-1.4.2.1
71157120 - ghc-prof # tried ghc-prof-1.4.1.9, but its *test-suite* does not support: attoparsec-0.14.4
71167121 - gitlib-libgit2 # tried gitlib-libgit2-3.1.2.1, but its *test-suite* requires the disabled package: gitlib-test
7122+ - hackage-security # tried hackage-security-0.6.0.1, but its *test-suite* does not support: tasty-1.4.2.1
71177123 - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: hspec-2.8.5
71187124 - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: hspec-discover-2.8.5
71197125 - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: optparse-applicative-0.16.1.0
@@ -7123,7 +7129,7 @@ skipped-tests:
71237129 - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *test-suite* requires the disabled package: knob
71247130 - haskell-tools-daemon # tried haskell-tools-daemon-1.1.1.0, but its *test-suite* does not support: Glob-0.10.2
71257131 - haskell-tools-daemon # tried haskell-tools-daemon-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7126− - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: network-3.1.2.7
7132+ - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: network-3.1.2.5
71277133 - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
71287134 - haskell-tools-refactor # tried haskell-tools-refactor-1.1.1.0, but its *test-suite* does not support: polyparse-1.13
71297135 - haskell-tools-refactor # tried haskell-tools-refactor-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
@@ -7133,6 +7139,7 @@ skipped-tests:
71337139 - hasmin # tried hasmin-1.0.3, but its *test-suite* does not support: doctest-0.18.2
71347140 - heist # tried heist-1.1.0.1, but its *test-suite* does not support: lens-5.0.1
71357141 - hidden-char # tried hidden-char-0.1.0.2, but its *test-suite* does not support: hspec-2.8.5
7142+ - hmatrix-vector-sized # tried hmatrix-vector-sized-0.1.3.0, but its *test-suite* requires the disabled package: ghc-typelits-knownnat
71367143 - hspec-tables # tried hspec-tables-0.0.1, but its *test-suite* does not support: hspec-2.8.5
71377144 - http-media # tried http-media-0.8.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
71387145 - http-media # tried http-media-0.8.0.0, but its *test-suite* does not support: base-4.15.1.0
@@ -7235,7 +7242,7 @@ skipped-tests:
72357242 - simple-log # tried simple-log-0.9.12, but its *test-suite* does not support: hspec-2.8.5
72367243 - sized-grid # tried sized-grid-0.2.0.1, but its *test-suite* does not support: ansi-terminal-0.11.1
72377244 - snap # tried snap-1.1.3.1, but its *test-suite* does not support: QuickCheck-2.14.2
7238− - stb-image-redux # tried stb-image-redux-0.2.1.2, but its *test-suite* does not support: hspec-2.8.5
7245+ - stb-image-redux # tried stb-image-redux-0.2.1.3, but its *test-suite* does not support: hspec-2.8.5
72397246 - stm-supply # tried stm-supply-0.2.0.0, but its *test-suite* requires the disabled package: Unique
72407247 - streaming-cassava # tried streaming-cassava-0.2.0.0, but its *test-suite* does not support: hspec-2.8.5
72417248 - stripe-http-client # tried stripe-http-client-2.6.2, but its *test-suite* does not support: hspec-2.8.5
@@ -7253,6 +7260,8 @@ skipped-tests:
72537260 - temporary-resourcet # tried temporary-resourcet-0.1.0.1, but its *test-suite* does not support: tasty-1.4.2.1
72547261 - test-framework # tried test-framework-0.8.2.0, but its *test-suite* requires the disabled package: libxml
72557262 - transient # tried transient-0.7.0.0, but its *test-suite* does not support: random-1.2.1
7263+ - typerep-map # tried typerep-map-0.4.0.0, but its *test-suite* requires the disabled package: ghc-typelits-knownnat
7264+ - tzdata # tried tzdata-0.2.20201021.0, but its *test-suite* requires the disabled package: test-framework-th
72567265 - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
72577266 - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: generic-random-1.5.0.1
72587267 - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: hspec-2.8.5
@@ -7277,8 +7286,6 @@ skipped-tests:
72777286 # https://github.com/commercialhaskell/stackage/issues/6363
72787287 - amqp
72797288
7280− - c2hs # https://github.com/commercialhaskell/stackage/issues/6420
7281−
72827289# end of skipped-tests
72837290
72847291# Tests listed in expected-test-failures configure correctly but may fail to run
@@ -7449,7 +7456,7 @@ expected-test-failures:
74497456 - bugsnag-haskell # https://github.com/commercialhaskell/stackage/issues/6372
74507457 - cpio-conduit # Test file not in tarball https://github.com/da-x/cpio-conduit/issues/1
74517458 - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
7452− - doctest-discover # https://github.com/karun012/doctest-discover/issues/33
7459+ - doctest
74537460 - ghc-events # https://github.com/haskell/ghc-events/issues/70
74547461 - gitlab-haskell # https://github.com/commercialhaskell/stackage/issues/6088
74557462 - hspec-core # https://github.com/commercialhaskell/stackage/issues/6291
@@ -7554,7 +7561,6 @@ expected-test-failures:
75547561 - xml-picklers # https://github.com/Philonous/xml-picklers/issues/5
75557562 - xmlbf
75567563 - yesod-gitrev # needs a git repo https://github.com/commercialhaskell/stackage/issues/6132
7557− - yesod-markdown # https://github.com/pbrisbin/yesod-markdown/issues/77
75587564
75597565 # Assertion failures due to module name ambiguity.
75607566 # These _should_ be fixed by using the `hide` section of this file
@@ -7576,6 +7582,7 @@ expected-test-failures:
75767582 - easy-logger # https://github.com/commercialhaskell/stackage/issues/6384
75777583 - flat # 0.4.4
75787584 - flay # 0.4
7585+ - focuslist # 0.1.0.2
75797586 - functor-combinators # https://github.com/commercialhaskell/stackage/issues/6376
75807587 - generic-lens # https://github.com/commercialhaskell/stackage/issues/6377
75817588 - geojson # 4.0.2
@@ -7728,7 +7735,6 @@ expected-benchmark-failures:
77287735# Otherwise place them in expected-benchmark-failures.
77297736skipped-benchmarks:
77307737 # aeson-2
7731− # https://github.com/commercialhaskell/stackage/issues/6217
77327738 - jsonifier
77337739
77347740 # Cyclic dependencies
@@ -7822,6 +7828,7 @@ skipped-benchmarks:
78227828 - superbuffer # tried superbuffer-0.3.1.1, but its *benchmarks* does not support: criterion-1.5.12.0
78237829 - ttrie # tried ttrie-0.1.2.2, but its *benchmarks* requires the disabled package: criterion-plus
78247830 - ttrie # tried ttrie-0.1.2.2, but its *benchmarks* requires the disabled package: stm-stats
7831+ - typerep-map # tried typerep-map-0.4.0.0, but its *benchmarks* requires the disabled package: ghc-typelits-knownnat
78257832 - tz # tried tz-0.1.3.5, but its *benchmarks* requires the disabled package: thyme
78267833 - unicode-transforms # tried unicode-transforms-0.4.0, but its *benchmarks* does not support: path-0.9.2
78277834 - xxhash-ffi # tried xxhash-ffi-0.2.0.0, but its *benchmarks* requires the disabled package: xxhash
@@ -8035,7 +8042,6 @@ no-revisions:
80358042- hi-file-parser
80368043
80378044
8038−# Note, this no longer actually does anything with curator2 unfortunately:
80398045# Do not build these packages in parallel with others. Useful for high memory
80408046# usage.
80418047non-parallel-builds:
commenterdeleted−20
@@ -1,20 +0,0 @@
1−#!/usr/bin/env bash
2−
3−if ! command -v cargo
4−then
5− echo "Rust doesn't seem to be installed. https://rustup.rs/"
6− exit 1
7−fi
8−
9−if [ "$1" = "outdated" ];
10−then
11− if ! command -v latest-version &> /dev/null
12− then
13− echo "This command requires latest-version in your PATH"
14− echo "Install it with: "
15− echo "stack install --stack-yaml etc/commenter/latest-version/stack.yaml"
16− exit 1
17− fi
18−fi
19−
20−cargo run -q --release --manifest-path etc/commenter/Cargo.toml $@
etc/commenter/Cargo.lock+18−95
@@ -31,12 +31,6 @@ dependencies = [
3131 "winapi",
3232]
3333
34−[[package]]
35−name = "autocfg"
36−version = "1.0.1"
37−source = "registry+https://github.com/rust-lang/crates.io-index"
38−checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
39−
4034[[package]]
4135name = "bitflags"
4236version = "1.3.2"
@@ -64,17 +58,9 @@ version = "0.2.0"
6458dependencies = [
6559 "lazy-regex",
6660 "regex",
67− "serde",
68− "serde_yaml",
6961 "structopt",
7062]
7163
72−[[package]]
73−name = "hashbrown"
74−version = "0.11.2"
75−source = "registry+https://github.com/rust-lang/crates.io-index"
76−checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
77−
7864[[package]]
7965name = "heck"
8066version = "0.3.3"
@@ -93,21 +79,11 @@ dependencies = [
9379 "libc",
9480]
9581
96−[[package]]
97−name = "indexmap"
98−version = "1.8.0"
99−source = "registry+https://github.com/rust-lang/crates.io-index"
100−checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
101−dependencies = [
102− "autocfg",
103− "hashbrown",
104−]
105−
10682[[package]]
10783name = "lazy-regex"
108−version = "2.2.2"
84+version = "2.2.1"
10985source = "registry+https://github.com/rust-lang/crates.io-index"
110−checksum = "919a16773ebf2de27e95fc58460110932e55bb0780e23aa51fa5a6b59c9e2b3d"
86+checksum = "17d198f91272f6e788a5c0bd5d741cf778da4e5bc761ec67b32d5d3b0db34a54"
11187dependencies = [
11288 "lazy-regex-proc_macros",
11389 "once_cell",
@@ -116,9 +92,9 @@ dependencies = [
11692
11793[[package]]
11894name = "lazy-regex-proc_macros"
119−version = "2.2.2"
95+version = "2.2.1"
12096source = "registry+https://github.com/rust-lang/crates.io-index"
121−checksum = "5fbe6bf0a04af51c07976625d5007e75ed9b8b955befc21c77b3947733496e36"
97+checksum = "6c12938b1b92cf5be22940527e15b79fd0c7e706e34bc70816f6a72b3484f84e"
12298dependencies = [
12399 "proc-macro2",
124100 "quote",
@@ -134,27 +110,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
134110
135111[[package]]
136112name = "libc"
137−version = "0.2.112"
138−source = "registry+https://github.com/rust-lang/crates.io-index"
139−checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
140−
141−[[package]]
142−name = "linked-hash-map"
143−version = "0.5.4"
113+version = "0.2.108"
144114source = "registry+https://github.com/rust-lang/crates.io-index"
145−checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
115+checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"
146116
147117[[package]]
148118name = "memchr"
149−version = "2.4.1"
119+version = "2.4.0"
150120source = "registry+https://github.com/rust-lang/crates.io-index"
151−checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
121+checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
152122
153123[[package]]
154124name = "once_cell"
155−version = "1.9.0"
125+version = "1.8.0"
156126source = "registry+https://github.com/rust-lang/crates.io-index"
157−checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
127+checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
158128
159129[[package]]
160130name = "proc-macro-error"
@@ -182,18 +152,18 @@ dependencies = [
182152
183153[[package]]
184154name = "proc-macro2"
185−version = "1.0.36"
155+version = "1.0.27"
186156source = "registry+https://github.com/rust-lang/crates.io-index"
187−checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
157+checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
188158dependencies = [
189159 "unicode-xid",
190160]
191161
192162[[package]]
193163name = "quote"
194−version = "1.0.14"
164+version = "1.0.9"
195165source = "registry+https://github.com/rust-lang/crates.io-index"
196−checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
166+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
197167dependencies = [
198168 "proc-macro2",
199169]
@@ -215,44 +185,6 @@ version = "0.6.25"
215185source = "registry+https://github.com/rust-lang/crates.io-index"
216186checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
217187
218−[[package]]
219−name = "ryu"
220−version = "1.0.9"
221−source = "registry+https://github.com/rust-lang/crates.io-index"
222−checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
223−
224−[[package]]
225−name = "serde"
226−version = "1.0.133"
227−source = "registry+https://github.com/rust-lang/crates.io-index"
228−checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a"
229−dependencies = [
230− "serde_derive",
231−]
232−
233−[[package]]
234−name = "serde_derive"
235−version = "1.0.133"
236−source = "registry+https://github.com/rust-lang/crates.io-index"
237−checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537"
238−dependencies = [
239− "proc-macro2",
240− "quote",
241− "syn",
242−]
243−
244−[[package]]
245−name = "serde_yaml"
246−version = "0.8.23"
247−source = "registry+https://github.com/rust-lang/crates.io-index"
248−checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0"
249−dependencies = [
250− "indexmap",
251− "ryu",
252− "serde",
253− "yaml-rust",
254−]
255−
256188[[package]]
257189name = "strsim"
258190version = "0.8.0"
@@ -285,9 +217,9 @@ dependencies = [
285217
286218[[package]]
287219name = "syn"
288−version = "1.0.85"
220+version = "1.0.73"
289221source = "registry+https://github.com/rust-lang/crates.io-index"
290−checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7"
222+checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
291223dependencies = [
292224 "proc-macro2",
293225 "quote",
@@ -329,9 +261,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
329261
330262[[package]]
331263name = "version_check"
332−version = "0.9.4"
264+version = "0.9.3"
333265source = "registry+https://github.com/rust-lang/crates.io-index"
334−checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
266+checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
335267
336268[[package]]
337269name = "winapi"
@@ -354,12 +286,3 @@ name = "winapi-x86_64-pc-windows-gnu"
354286version = "0.4.0"
355287source = "registry+https://github.com/rust-lang/crates.io-index"
356288checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
357−
358−[[package]]
359−name = "yaml-rust"
360−version = "0.4.5"
361−source = "registry+https://github.com/rust-lang/crates.io-index"
362−checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
363−dependencies = [
364− "linked-hash-map",
365−]
etc/commenter/Cargo.toml−2
@@ -9,6 +9,4 @@ edition = "2018"
99[dependencies]
1010lazy-regex = "2.2.1"
1111regex = "1.5.4"
12−serde = { version = "1.0.133", features = ["derive"] }
13−serde_yaml = "0.8.23"
1412structopt = "0.3.25"
etc/commenter/latest-version/latest-version.cabal+1−1
@@ -12,7 +12,7 @@ cabal-version: >=1.10
1212extra-source-files: README.md
1313
1414executable latest-version
15− ghc-options: -Wall -threaded
15+ ghc-options: -Wall
1616 hs-source-dirs: src
1717 main-is: Main.hs
1818 default-language: Haskell2010
etc/commenter/latest-version/src/Main.hs+7−17
@@ -9,20 +9,10 @@ import System.Environment
99import qualified Data.Map as Map
1010
1111main :: IO ()
12−main = do
13− args <- getArgs
14− (onlyVersion, packages) <- pure $ case args of
15− "only-version" : packages -> (True, packages)
16− packages -> (False, packages)
17− runPantryApp $ liftIO . putStrLn . unlines_ =<< mapM (latestVersion onlyVersion) packages
18− where
19− -- unlines adds an extra trailing newline which can be annoying...
20− unlines_ = intercalate "\n"
21−
22−latestVersion :: (HasPantryConfig env, HasLogFunc env) => Bool -> String -> RIO env String
23−latestVersion onlyVersion name = fmap (displayVersion onlyVersion) . getVersion . mkPackageName $ name
24− where
25− showVersion = intercalate "." . map show . versionNumbers . fst . head . Map.toDescList
26− getVersion = getHackagePackageVersions YesRequireHackageIndex UsePreferredVersions
27− displayVersion True v = showVersion v
28− displayVersion False v = name <> "-" <> showVersion v
12+main =
13+ runPantryApp $
14+ liftIO . putStrLn
15+ . intercalate "." . map show . versionNumbers
16+ . fst . head . Map.toDescList
17+ =<< getHackagePackageVersions YesRequireHackageIndex IgnorePreferredVersions
18+ . mkPackageName =<< head <$> liftIO getArgs
etc/commenter/latest-version/stack.yaml.lockdeleted−13
@@ -1,13 +0,0 @@
1−# This file was autogenerated by Stack.
2−# You should not edit this file by hand.
3−# For more information, please see the documentation at:
4−# https://docs.haskellstack.org/en/stable/lock_files
5−
6−packages: []
7−snapshots:
8−- completed:
9− size: 586296
10− url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/18.yaml
11− sha256: 63539429076b7ebbab6daa7656cfb079393bf644971156dc349d7c0453694ac2
12− original:
13− url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/18.yaml
etc/commenter/src/lib.rs+47−324
@@ -1,13 +1,10 @@
11use std::collections::{BTreeMap, BTreeSet};
2−use std::error::Error;
3−use std::fmt;
42use std::fs::File;
53use std::io::{BufRead, BufReader, LineWriter, Lines, Write};
64use std::path::Path;
75use std::process::Command;
86
97use lazy_regex::regex;
10−use serde::{Deserialize, Deserializer};
118
129pub fn clear() {
1310 handle(true, |loc, _lines| match loc {
@@ -30,8 +27,8 @@ pub fn add(lib: Vec<String>, test: Vec<String>, bench: Vec<String>) {
3027}
3128
3229enum VersionTag {
33− Manual(Version),
34− Auto(Version),
30+ Manual(String),
31+ Auto(String),
3532}
3633
3734impl VersionTag {
@@ -42,7 +39,7 @@ impl VersionTag {
4239 }
4340 }
4441
45− fn version(&self) -> &Version {
42+ fn version(&self) -> &str {
4643 match self {
4744 VersionTag::Manual(s) => s,
4845 VersionTag::Auto(s) => s,
@@ -52,55 +49,48 @@ impl VersionTag {
5249
5350pub fn outdated() {
5451 let mut all: Vec<String> = vec![];
55− let (versioned, disabled) = handle(false, |_loc, lines| {
52+ let versioned = handle(false, |_loc, lines| {
5653 all.extend(lines);
5754 vec![]
5855 });
59−
60− for DisabledPackage { package } in disabled {
61− println!("WARN: {package} is disabled without a noted version");
62− }
63−
64− let mut map: BTreeMap<Package, VersionTag> = BTreeMap::new();
56+ let mut map: BTreeMap<String, VersionTag> = BTreeMap::new();
6557 for VersionedPackage { package, version } in versioned {
6658 map.insert(package, VersionTag::Manual(version));
6759 }
68− let mut support: BTreeMap<(Package, Version), BTreeSet<(Package, Version)>> = BTreeMap::new();
60+ let mut support: BTreeMap<(String, String), BTreeSet<(String, String)>> = BTreeMap::new();
6961 for v in all.into_iter() {
7062 let caps = regex!("tried ([^ ]+)-([^,-]+),").captures(&v).unwrap();
71− let package = Package(caps.get(1).unwrap().as_str().to_owned());
72− let version = Version(caps.get(2).unwrap().as_str().to_owned());
63+ let package = caps.get(1).unwrap().as_str().to_owned();
64+ let version = caps.get(2).unwrap().as_str().to_owned();
7365 map.insert(package.clone(), VersionTag::Auto(version.clone()));
7466
7567 if let Some(caps) = regex!("does not support: ([^ ]+)-([^-]+)").captures(&v) {
76− let dep_package = Package(caps.get(1).unwrap().as_str().to_owned());
77− let dep_version = Version(caps.get(2).unwrap().as_str().to_owned());
68+ let dep_package = caps.get(1).unwrap().as_str().to_owned();
69+ let dep_version = caps.get(2).unwrap().as_str().to_owned();
7870 let entry = support.entry((dep_package, dep_version)).or_default();
7971 entry.insert((package, version));
8072 }
8173 }
8274
83− let latest_versions = {
84− let mut packages: Vec<Package> = map.iter().map(|(package, _)| package.clone()).collect();
85− packages.append(
86− &mut support
87− .iter()
88− .map(|((package, _), _)| package.clone())
89− .collect(),
90− );
91− latest_version(packages.into_iter())
92− };
75+ let entries = map.len() + support.len();
76+ let mut i = 0;
9377
9478 for (package, version) in map {
9579 if is_boot(&package) {
9680 continue;
9781 }
98− let latest = latest_versions.get(&package).unwrap();
82+ if i % 100 == 0 {
83+ println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
84+ }
85+ i += 1;
86+ let latest = latest_version(&package);
9987 if version.version() != latest {
10088 println!(
101− "{package} mismatch, {tag}: {version}, hackage: {latest}",
102− tag = version.tag(),
103− version = version.version(),
89+ "{} mismatch, {}: {}, hackage: {}",
90+ package,
91+ version.tag(),
92+ version.version(),
93+ latest
10494 );
10595 }
10696 }
@@ -110,30 +100,35 @@ pub fn outdated() {
110100 continue;
111101 }
112102
113− let latest = latest_versions.get(&package).unwrap();
114− if &version != latest {
103+ if i % 100 == 0 {
104+ println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
105+ }
106+ i += 1;
107+ let latest = latest_version(&package);
108+ if version != latest {
115109 let max = 3;
116110 let dependents_stripped = dependents.len().saturating_sub(max);
117111 let dependents = dependents
118112 .into_iter()
119113 .take(max)
120− .map(|(p, v)| format!("{p}-{v}"))
114+ .map(|(p, v)| format!("{}-{}", p, v))
121115 .collect::<Vec<String>>()
122116 .join(", ");
123117 let dependents = if dependents_stripped > 0 {
124− format!("{dependents} and {dependents_stripped} more")
118+ format!("{} and {} more", dependents, dependents_stripped)
125119 } else {
126120 dependents
127121 };
128122
129123 println!(
130− "{package} mismatch, snapshot: {version}, hackage: {latest}, dependents: {dependents}"
124+ "{} mismatch, snapshot: {}, hackage: {}, dependents: {}",
125+ package, version, latest, dependents,
131126 );
132127 }
133128 }
134129}
135130
136−fn is_boot(package: &Package) -> bool {
131+fn is_boot(package: &str) -> bool {
137132 [
138133 "Cabal",
139134 "base",
@@ -156,26 +151,20 @@ fn is_boot(package: &Package) -> bool {
156151 "text",
157152 "time",
158153 ]
159− .contains(&&*package.0)
154+ .contains(&package)
160155}
161156
162−fn latest_version(packages: impl Iterator<Item = Package>) -> BTreeMap<Package, Version> {
157+fn latest_version(pkg: &str) -> String {
163158 String::from_utf8(
164159 Command::new("latest-version")
165− .args(packages.map(|p| p.0))
160+ .args([pkg])
166161 .output()
167− .expect("Could not find latest-version in PATH")
162+ .unwrap()
168163 .stdout,
169164 )
170165 .unwrap()
171166 .trim()
172167 .to_owned()
173− .lines()
174− .map(|s| {
175− let VersionedPackage { package, version } = parse_versioned_package_canonical(s).unwrap();
176− (package, version)
177− })
178− .collect()
179168}
180169
181170enum State {
@@ -188,69 +177,38 @@ enum State {
188177 Done,
189178}
190179
191−#[derive(PartialEq, Eq, Debug)]
192180struct VersionedPackage {
193− package: Package,
194− version: Version,
195−}
196−
197−fn parse_versioned_package_canonical(s: &str) -> Option<VersionedPackage> {
198− if let Some(caps) = regex!(r#"^(.+)-([\d.]+)$"#).captures(s) {
199− let package = Package(caps.get(1).unwrap().as_str().to_owned());
200− let version = Version(caps.get(2).unwrap().as_str().to_owned());
201− Some(VersionedPackage { package, version })
202− } else {
203− None
204− }
181+ package: String,
182+ version: String,
205183}
206184
207−fn parse_versioned_package_yaml(s: &str) -> Option<VersionedPackage> {
185+fn parse_versioned_package(s: &str) -> Option<VersionedPackage> {
208186 if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *([\d.]+)"#).captures(s) {
209− let package = Package(caps.get(1).unwrap().as_str().to_owned());
210− let version = Version(caps.get(2).unwrap().as_str().to_owned());
187+ let package = caps.get(1).unwrap().as_str().to_owned();
188+ let version = caps.get(2).unwrap().as_str().to_owned();
211189 Some(VersionedPackage { package, version })
212190 } else if let Some(caps) = regex!(r#"- *([^ ]+) *# *([\d.]+)"#).captures(s) {
213− let package = Package(caps.get(1).unwrap().as_str().to_owned());
214− let version = Version(caps.get(2).unwrap().as_str().to_owned());
191+ let package = caps.get(1).unwrap().as_str().to_owned();
192+ let version = caps.get(2).unwrap().as_str().to_owned();
215193 Some(VersionedPackage { package, version })
216194 } else {
217195 None
218196 }
219197}
220198
221−struct DisabledPackage {
222− package: String,
223−}
224−
225−fn parse_disabled_package(s: &str) -> Option<DisabledPackage> {
226− if !regex!(r#"- *([^ ]+) < *0 *# tried"#).is_match(s) {
227− if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *[^\d]"#).captures(s) {
228− let package = caps.get(1).unwrap().as_str().to_owned();
229− Some(DisabledPackage { package })
230− } else {
231− None
232− }
233− } else {
234− None
235− }
236−}
237−
238−fn handle<F>(write: bool, mut f: F) -> (Vec<VersionedPackage>, Vec<DisabledPackage>)
199+fn handle<F>(write: bool, mut f: F) -> Vec<VersionedPackage>
239200where
240201 F: FnMut(Location, Vec<String>) -> Vec<String>,
241202{
242203 let path = "build-constraints.yaml";
243204 let mut new_lines: Vec<String> = vec![];
244205 let mut versioned_packages: Vec<VersionedPackage> = vec![];
245− let mut disabled_packages: Vec<DisabledPackage> = vec![];
246206
247207 let mut state = State::LookingForLibBounds;
248208 let mut buf = vec![];
249209 for line in read_lines(path).map(|s| s.unwrap()) {
250− if let Some(versioned_package) = parse_versioned_package_yaml(&line) {
210+ if let Some(versioned_package) = parse_versioned_package(&line) {
251211 versioned_packages.push(versioned_package);
252− } else if let Some(disabled_package) = parse_disabled_package(&line) {
253− disabled_packages.push(disabled_package);
254212 }
255213
256214 match state {
@@ -321,7 +279,7 @@ where
321279 file.flush().unwrap();
322280 }
323281
324− (versioned_packages, disabled_packages)
282+ versioned_packages
325283}
326284
327285enum Location {
@@ -337,238 +295,3 @@ where
337295 let file = File::open(filename).unwrap();
338296 BufReader::new(file).lines()
339297}
340−
341−#[derive(Deserialize)]
342−struct SnapshotYaml {
343− // flags: BTreeMap<Package, BTreeMap<PackageFlag, bool>>,
344− // publish_time
345− packages: Vec<SnapshotPackage>,
346− // hidden
347− // resolver
348−}
349−
350−#[derive(Deserialize)]
351−struct SnapshotPackage {
352− hackage: PackageWithVersionAndSha,
353− // pantry-tree
354−}
355−
356−#[derive(PartialOrd, Ord, PartialEq, Eq, Clone, Debug)]
357−struct Package(String);
358−
359−impl fmt::Display for Package {
360− fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
361− self.0.fmt(f)
362− }
363−}
364−
365−#[derive(Clone, PartialOrd, Ord, PartialEq, Eq, Debug)]
366−struct Version(String);
367−
368−impl fmt::Display for Version {
369− fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
370− self.0.fmt(f)
371− }
372−}
373−
374−// zstd-0.1.3.0@sha256:4c0a372251068eb6086b8c3a0a9f347488f08b570a7705844ffeb2c720c97223,3723
375−struct PackageWithVersionAndSha {
376− name: Package,
377− version: Version,
378−}
379−
380−impl<'de> serde::Deserialize<'de> for PackageWithVersionAndSha {
381− fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
382− where
383− D: Deserializer<'de>,
384− {
385− let s: String = String::deserialize(deserializer)?;
386− let r = regex!(r#"^(.+?)-([.\d]+)@sha256:[\da-z]+,\d+$"#);
387− if let Some(caps) = r.captures(&s) {
388− let name = Package(caps.get(1).unwrap().as_str().to_owned());
389− let version = Version(caps.get(2).unwrap().as_str().to_owned());
390− Ok(Self { name, version })
391− } else {
392− Err(serde::de::Error::invalid_value(
393− serde::de::Unexpected::Other(&s),
394− &"Invalid PackageVersionWithSha",
395− ))
396− }
397− }
398−}
399−
400−fn yaml_from_file<A, P: AsRef<Path>>(path: P) -> Result<A, Box<dyn Error>>
401−where
402− A: for<'de> Deserialize<'de>,
403−{
404− let file = File::open(path)?;
405− let reader = BufReader::new(file);
406− let u = serde_yaml::from_reader(reader)?;
407− Ok(u)
408−}
409−
410−struct Snapshot {
411− packages: BTreeMap<Package, Diff<Version>>,
412−}
413−
414−#[derive(Clone, Copy)]
415−enum Diff<A> {
416− Left(A),
417− Right(A),
418− Both(A, A),
419−}
420−
421−fn to_diff(a: SnapshotYaml, b: SnapshotYaml) -> Snapshot {
422− let mut packages = BTreeMap::new();
423− for s in a.packages {
424− let package = s.hackage;
425− packages.insert(package.name, Diff::Left(package.version));
426− }
427− for s in b.packages {
428− let package = s.hackage;
429− let name = package.name;
430− let version = package.version;
431− if let Some(a) = packages.remove(&name) {
432− match a {
433− Diff::Left(a) => {
434− if a == version {
435− packages.remove(&name);
436− } else {
437− packages.insert(name, Diff::Both(a, version));
438− }
439− }
440− _ => unreachable!(),
441− }
442− } else {
443− packages.insert(name, Diff::Right(version));
444− }
445− }
446−
447− Snapshot { packages }
448−}
449−
450−pub fn diff_snapshot(a: String, b: String) {
451− let diff = to_diff(yaml_from_file(a).unwrap(), yaml_from_file(b).unwrap());
452− for (name, diff) in diff.packages {
453− let s = match diff {
454− Diff::Left(a) => format!("- {name}-{a}"),
455− Diff::Right(b) => format!("+ {name}-{b}"),
456− Diff::Both(a, b) => format!("~ {name}-{a} -> {b}"),
457− };
458− println!("{s}");
459− }
460−}
461−
462−#[derive(PartialEq, Eq, Debug)]
463−struct DisabledTransitively {
464− child: VersionedPackage,
465− parent: Package,
466−}
467−
468−fn parse_disabled_transitviely(s: &str) -> Option<DisabledTransitively> {
469− let r = regex!(
470− r#"- *([^ ]+) < *0 *# tried [^ ]+-([\d.]+), but its \*[^*]+\* requires the disabled package: ([^ ]+)"#
471− );
472− if let Some(caps) = r.captures(s) {
473− let package = Package(caps.get(1).unwrap().as_str().to_owned());
474− let version = Version(caps.get(2).unwrap().as_str().to_owned());
475− let parent = Package(caps.get(3).unwrap().as_str().to_owned());
476− Some(DisabledTransitively {
477− child: VersionedPackage { package, version },
478− parent,
479− })
480− } else {
481− None
482− }
483−}
484−
485−#[test]
486−fn test_parse_disabled_transitviely() {
487− let s = "- Network-NineP < 0 # tried Network-NineP-0.4.7.1, but its *library* requires the disabled package: mstate";
488− assert_eq!(
489− parse_disabled_transitviely(s),
490− Some(DisabledTransitively {
491− child: VersionedPackage {
492− package: Package("Network-NineP".to_owned()),
493− version: Version("0.4.7.1".to_owned())
494− },
495− parent: Package("mstate".to_owned()),
496− })
497− )
498−}
499−
500−type M = BTreeMap<Package, (Vec<VersionedPackage>, Option<usize>)>;
501−
502−pub fn disabled() {
503− let mut disabled_transitively: Vec<DisabledTransitively> = vec![];
504− handle(false, |loc, lines| {
505− match loc {
506− Location::Lib => disabled_transitively.extend(
507− lines
508− .into_iter()
509− .map(|line| parse_disabled_transitviely(&line))
510− .flatten()
511− .collect::<Vec<_>>(),
512− ),
513− Location::Test | Location::Bench => (),
514− }
515− vec![]
516− });
517−
518− let mut packages: BTreeSet<Package> = BTreeSet::new();
519− let mut disabled: M = BTreeMap::new();
520−
521− for DisabledTransitively { child, parent } in disabled_transitively {
522− packages.insert(child.package.clone());
523− packages.insert(parent.clone());
524− disabled
525− .entry(child.package.clone())
526− .or_insert_with(|| (vec![], None));
527− let t = disabled.entry(parent).or_insert_with(|| (vec![], None));
528− t.0.push(child);
529− }
530−
531− let mut packages_len = packages.len();
532− while packages_len > 0 {
533− let mut new_packages: BTreeSet<Package> = BTreeSet::new();
534− for package in packages {
535− let (_, count) = disabled.get(&package).unwrap();
536− if count.is_none() && !process(&package, &mut disabled) {
537− new_packages.insert(package.clone());
538− }
539− }
540− packages = new_packages;
541− packages_len = packages.len();
542− }
543−
544− let mut v: Vec<_> = disabled
545− .into_iter()
546− .map(|(package, (_, count))| (count, package))
547− .collect();
548− v.sort();
549− for (count, package) in v {
550− let count = count.unwrap();
551− if count != 0 {
552− println!("{package} is disabled with {count} dependents");
553− }
554− }
555−}
556−
557−fn process(package: &Package, m: &mut M) -> bool {
558− let (children, count) = m.get(package).unwrap();
559− assert!(count.is_none(), "{:?}", package);
560− let mut count = 0;
561− for child in children {
562− let (_, child_count) = m
563− .get(&child.package)
564− .unwrap_or_else(|| panic!("{}", child.package));
565− match child_count {
566− None => return false,
567− Some(i) => count += 1 + i,
568− }
569− }
570− m.entry(package.clone())
571− .and_modify(|tup| tup.1 = Some(count))
572− .or_insert_with(|| panic!("{}", package));
573− true
574−}
etc/commenter/src/main.rs+20−11
@@ -19,24 +19,28 @@ enum Header {
1919 about = "Automates generation of bounds in build-constraints.yaml"
2020)]
2121enum Opt {
22− Add,
2322 Clear,
24− DiffSnapshot { a: String, b: String },
25− Disabled,
23+ Add,
2624 Outdated,
2725}
2826
2927fn main() {
3028 let opt = Opt::from_args();
3129 match opt {
30+ Opt::Clear => clear(),
3231 Opt::Add => add(),
33− Opt::Clear => commenter::clear(),
34− Opt::DiffSnapshot { a, b } => commenter::diff_snapshot(a, b),
35− Opt::Disabled => commenter::disabled(),
36− Opt::Outdated => commenter::outdated(),
32+ Opt::Outdated => outdated(),
3733 }
3834}
3935
36+fn clear() {
37+ commenter::clear();
38+}
39+
40+fn outdated() {
41+ commenter::outdated();
42+}
43+
4044fn add() {
4145 let mut lib_exes: H = Default::default();
4246 let mut tests: H = Default::default();
@@ -60,7 +64,7 @@ fn add() {
6064 } else if line == "curator: Snapshot dependency graph contains errors:" {
6165 process_line = true;
6266 } else if !process_line {
63− println!("[INFO] {line}");
67+ println!("[INFO] {}", line);
6468 } else if let Some(cap) = package.captures(&line) {
6569 let root = last_header.clone().unwrap();
6670 let package = cap.name("package").unwrap().as_str();
@@ -96,7 +100,7 @@ fn add() {
96100 for (header, packages) in lib_exes {
97101 for (package, version, component) in packages {
98102 let s = printer(" ", &package, true, &version, &component, &header);
99− println!("{s}");
103+ println!("{}", s);
100104 auto_lib_exes.push(s);
101105 }
102106 }
@@ -107,7 +111,7 @@ fn add() {
107111 for (header, packages) in tests {
108112 for (package, version, component) in packages {
109113 let s = printer(" ", &package, false, &version, &component, &header);
110− println!("{s}");
114+ println!("{}", s);
111115 auto_tests.push(s);
112116 }
113117 }
@@ -118,7 +122,7 @@ fn add() {
118122 for (header, packages) in benches {
119123 for (package, version, component) in packages {
120124 let s = printer(" ", &package, false, &version, &component, &header);
121− println!("{s}");
125+ println!("{}", s);
122126 auto_benches.push(s);
123127 }
124128 }
@@ -144,6 +148,11 @@ fn printer(
144148 let lt0 = if lt0 { " < 0" } else { "" };
145149 format!(
146150 "{indent}- {package}{lt0} # tried {package}-{version}, but its *{component}* {cause}",
151+ indent = indent,
152+ package = package,
153+ lt0 = lt0,
154+ version = version,
155+ component = component,
147156 cause = match header {
148157 Header::Versioned { package, version } => format!(
149158 "does not support: {package}-{version}",