on master help sign in
10 files changed+733−303
since splitsnapshots
unifiedsplit
CURATORS.md+45−15 build-constraints.yaml+197−193 commenter+20 etc/commenter/Cargo.lock+95−18 etc/commenter/Cargo.toml+2 etc/commenter/latest-version/latest-version.cabal+1−1 etc/commenter/latest-version/src/Main.hs+17−7 etc/commenter/latest-version/stack.yaml.lock+13 etc/commenter/src/lib.rs+332−49 etc/commenter/src/main.rs+11−20
CURATORS.md+45−15
@@ -210,6 +210,8 @@ 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+
213215Note that when starting a new LTS major release, you'll need to modify `.github/workflows/image.yml` to add a new lts branch.
214216
215217Update `GHCVER` in `Dockerfile`. (This env var automatically gets passed to `debian-bootstrap.sh`.)
@@ -315,7 +317,7 @@ First run `build.sh` to regenerate updated `ltsXX/work/constraints.yaml` and `lt
315317
316318For an LTS minor bump, you'll typically want to:
317319
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.
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).
319321* Add new packages to the `constraints.yaml` file
320322* 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.
321323
@@ -420,20 +422,16 @@ errors for builds, tests and benchmarks.
420422
421423### Large scale enabling/disabling of packages
422424
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.
425+`etc/commenter` is a binary that automates `build-constraints.yaml` workflows.
431426
432427#### Setup
433428This is currently a rust program, You can install the rust toolchain
434429by using [rustup](https://rustup.rs/).
435430
436−Then `cargo install --locked --path etc/commenter`
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+```
437435
438436#### Example usage
439437
@@ -454,7 +452,7 @@ testing-feat (GHC 9 bounds issues, Grandfathered dependencies) (not present) dep
454452
455453Now run:
456454```
457−./check 2>&1 >/dev/null | commenter add
455+./check 2>&1 >/dev/null | ./commenter add
458456```
459457
460458You will get this output:
@@ -481,8 +479,8 @@ Re-run this command until no more packages are disabled.
481479We 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.
482480
483481```
484−commenter clear
485−./check 2>&1 >/dev/null | commenter add
482+./commenter clear
483+./check 2>&1 >/dev/null | ./commenter add
486484```
487485
488486Repeat the second command until no updates are made to build-constraints.yaml.
@@ -491,7 +489,7 @@ Repeat the second command until no updates are made to build-constraints.yaml.
491489
492490Run `stack update` before doing this.
493491
494−`commenter outdated` looks through all bounds issues and library
492+`./commenter outdated` looks through all bounds issues and library
495493compilation failures and compares the marked version with the latest hackage release. Example output is
496494
497495```
@@ -502,7 +500,7 @@ aeson mismatch, auto: 1.5.6.0, hackage: 2.0.2.0
502500where "manual" means the bound was added manually by a curator,
503501perhaps due to a compilation failure so we could try re-enabling the
504502package. "auto" means it's part of the sections generated by
505−`commenter`, to update that run the `Re-enabling` step as documented
503+`./commenter`, to update that run the `Re-enabling` step as documented
506504above.
507505
508506`outdated` only finds packages that are in the auto generated
@@ -512,6 +510,38 @@ sections, or that are of the form `- package < 0 # $version`.
512510
513511* 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!
514512
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+```
515545
516546## Adding new curators
517547
build-constraints.yaml+197−193
@@ -10,6 +10,14 @@ 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+
1321 "David Burkett <david@davidburkett.xyz> @Disco-Dave":
1422 - katip-wai
1523
@@ -66,6 +74,7 @@ packages:
6674 - regex-posix-clib
6775 - regex-tdfa
6876 - java-adt
77+ - shelly
6978 - tasty-silver
7079
7180 "Diogo Biazus <diogo@biazus.ca>":
@@ -127,7 +136,7 @@ packages:
127136 - Rattus
128137
129138 "Rob Stewart <robstewart57@gmail.com> @robstewart57":
130− - gitlab-haskell
139+ - gitlab-haskell < 0 # 0.3.2.0 text 1.2.5.0 exports `elem`
131140
132141 "Callan McGill <callan.mcgill@gmail.com> @callanmcgill":
133142 - perfect-vector-shuffle
@@ -287,7 +296,7 @@ packages:
287296
288297 "Matthew Ahrens <matt.p.ahrens@gmail.com> @mpahrens":
289298 - forkable-monad
290− - butter
299+ - butter < 0 # 0.1.0.6 text 1.2.5.0 exports `elem`
291300
292301 "Iris Ward <aditu.venyhandottir@gmail.com> @AdituV":
293302 - typenums
@@ -307,8 +316,10 @@ packages:
307316 - essence-of-live-coding-gloss
308317 - essence-of-live-coding-pulse
309318 - essence-of-live-coding-quickcheck
319+ - essence-of-live-coding-warp
310320 - pulse-simple
311321 - simple-affine-space
322+ - has-transformers
312323
313324 "Paul Johnson <paul@cogito.org.uk> @PaulJohnson":
314325 - geodetics
@@ -397,7 +408,7 @@ packages:
397408 - normalization-insensitive
398409
399410 "Jacob Stanley <jacob@stanley.io> @jacobstanley":
400− - hedgehog
411+ - hedgehog < 1.1 # https://github.com/commercialhaskell/stackage/issues/6415
401412 - hedgehog-quickcheck
402413 - transformers-bifunctors
403414 - unix-compat
@@ -755,7 +766,7 @@ packages:
755766 - cryptonite-conduit
756767 - streaming-commons
757768
758− - alex
769+ - alex < 3.2.7 || > 3.2.7
759770 - async
760771 - base16-bytestring
761772 - csv-conduit
@@ -764,7 +775,7 @@ packages:
764775 - foreign-store
765776 - formatting
766777 - gtk2hs-buildtools
767− - happy
778+ - happy < 1.21.0 || > 1.21.0 # https://github.com/commercialhaskell/stackage/issues/6294
768779 - hybrid-vectors
769780 - indents
770781 - language-c
@@ -890,7 +901,6 @@ packages:
890901 - wai-slack-middleware
891902 - sysinfo
892903 - xmonad-extras
893− - shelly
894904 - persistent-redis
895905 - fakedata
896906 - fakedata-parser
@@ -1123,7 +1133,7 @@ packages:
11231133 - bugsnag-haskell
11241134 - gravatar
11251135 - load-env
1126− - yesod-auth-oauth2
1136+ - yesod-auth-oauth2 < 0.7 # https://github.com/commercialhaskell/stackage/issues/6424
11271137 - yesod-markdown
11281138 - yesod-paginator
11291139
@@ -1441,10 +1451,11 @@ packages:
14411451 # incompatible bounds, we would prefer they be disabled temporarily,
14421452 # rather than disabling the latest hledger-lib and hledger.
14431453 # (#3494/closed, #5779/closed)
1444− - hledger
1445− - hledger-lib
1446− - hledger-ui
1447− - hledger-web
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
14481459
14491460 "Mihai Maruseac <mihai.maruseac@gmail.com> @mihaimaruseac":
14501461 - io-manager
@@ -1504,7 +1515,7 @@ packages:
15041515 - generic-aeson
15051516 - parameterized
15061517 - tracing-control
1507− - primitive-unlifted
1518+ - primitive-unlifted < 0.2 # 1.0.0.0 ghc 9.0.2 panic, https://github.com/metrix-ai/primitive-extras/issues/6
15081519 - stm-lifted
15091520 - monad-primitive
15101521 - mwc-random-monad
@@ -1576,7 +1587,7 @@ packages:
15761587 - hasql
15771588 - hasql-optparse-applicative
15781589 - hasql-pool
1579− - hasql-th < 0 # 0.4.0.9 TH compile error
1590+ - hasql-th
15801591 - hasql-transaction
15811592 - headed-megaparsec
15821593 - jsonifier
@@ -1718,18 +1729,23 @@ packages:
17181729 - linux-capabilities
17191730
17201731 "Jens Petersen <juhpetersen@gmail.com> @juhp":
1732+ - bodhi
17211733 - bugzilla-redhat
17221734 - cabal-file
17231735 - cabal-rpm
17241736 - cached-json-file
1725− - dl-fedora
1737+ - copr-api
1738+ - dl-fedora < 0 # 0.9.2 https://github.com/juhp/dl-fedora/issues/2
17261739 - fedora-dists
17271740 - fedora-haskell-tools
1741+ - HaXml
17281742 - hkgr
1729− - http-directory < 0.1.9 # https://github.com/juhp/dl-fedora/issues/2
1743+ - http-directory
17301744 - http-query
17311745 - koji
1746+ - pagure
17321747 - pagure-cli
1748+ - pdc
17331749 - pkgtreediff
17341750 - rhbzquery
17351751 - rpm-nvr
@@ -1737,7 +1753,8 @@ packages:
17371753 - simple-cabal
17381754 - simple-cmd
17391755 - simple-cmd-args
1740− - HaXml
1756+ - stack-all
1757+ - stack-clean-old
17411758
17421759 - async-pool
17431760 - darcs
@@ -2958,7 +2975,7 @@ packages:
29582975 - wai-session-postgresql
29592976
29602977 "Haisheng Wu <freizl@gmail.com> @freizl":
2961− - hoauth2
2978+ - hoauth2 < 2.0 # https://github.com/commercialhaskell/stackage/issues/6424
29622979
29632980 "Falko Peters <falko.peters@gmail.com> @informatikr":
29642981 - scrypt
@@ -3000,7 +3017,7 @@ packages:
30003017 "Justus Adam <dev@justus.science> @JustusAdam":
30013018 - marvin
30023019 - marvin-interpolate
3003− - mustache
3020+ - mustache < 2.4.0 # https://github.com/commercialhaskell/stackage/issues/6421
30043021 - exit-codes >= 1.0.0
30053022
30063023 "Cindy Wang <cindylinz@gmail.com> @CindyLinz":
@@ -3337,6 +3354,7 @@ packages:
33373354 - quote-quot
33383355 - tasty-bench
33393356 - tasty-inspection-testing
3357+ - text-rope
33403358
33413359 "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
33423360 - countable
@@ -3710,10 +3728,11 @@ packages:
37103728
37113729 "Albert Krewinkel <albert+stackage@zeitkraut.de> @tarleb":
37123730 - hslua
3731+ - hslua-aeson
37133732 - hslua-classes
37143733 - hslua-core
37153734 - hslua-marshalling
3716− - hslua-module-doclayout
3735+ - hslua-module-doclayout < 0 # https://github.com/commercialhaskell/stackage/issues/6416
37173736 - hslua-module-path
37183737 - hslua-module-system
37193738 - hslua-module-text
@@ -3935,7 +3954,7 @@ packages:
39353954 - binary-ext
39363955
39373956 "Bob Long <robertjflong@gmail.com> @bobjflong":
3938− - yesod-csp
3957+ - yesod-csp < 0 # 0.2.5.0 text 1.2.5.0 exports `elem`
39393958
39403959 "Alexander Vershilov <alexander.vershilov@gmail.com> @qnikst":
39413960 - stm-conduit
@@ -4035,7 +4054,7 @@ packages:
40354054 - ghc-parser
40364055
40374056 "Alexis Williams <alexis@typedr.at> @typedrat":
4038− - stb-image-redux
4057+ - stb-image-redux < 0.2.1.3 || > 0.2.1.3 # deprecated version
40394058
40404059 "Alexandre Peyroux <alex@px.io> @apeyroux":
40414060 - HSlippyMap
@@ -4174,6 +4193,8 @@ packages:
41744193 - file-path-th
41754194
41764195 "Raghu Kaippully <rkaippully@gmail.com> @rkaippully":
4196+ - webgear-core
4197+ - webgear-openapi
41774198 - webgear-server
41784199
41794200 "Alex Washburn <github@recursion.ninja> @recursion-ninja":
@@ -4240,7 +4261,7 @@ packages:
42404261 - natural-induction
42414262 - peano
42424263 - unconstrained
4243− - util
4264+ - util < 0 # 0.1.17.1 compile fail needs DerivingVia enabled
42444265
42454266 "Ben Sima <ben@bsima.me> @bensima":
42464267 - yesod-text-markdown
@@ -4418,7 +4439,7 @@ packages:
44184439 - gtk-strut
44194440 - rate-limit
44204441 - status-notifier-item
4421− - taffybar
4442+ - taffybar < 0 # https://github.com/taffybar/taffybar/issues/542
44224443 - time-units
44234444 - xml-helpers
44244445 - xdg-desktop-entry
@@ -4531,7 +4552,7 @@ packages:
45314552 - multi-containers
45324553
45334554 "Vaclav Svejcar <vaclav.svejcar@gmail.com> @vaclavsvejcar":
4534− - headroom < 0 # 0.4.2.0 compile fail https://github.com/commercialhaskell/stackage/issues/6342
4555+ - headroom
45354556 - vcs-ignore
45364557
45374558 "Adrian Sieber <stackage@ad-si.com> @ad-si":
@@ -4648,13 +4669,13 @@ packages:
46484669 - wai-session-redis
46494670
46504671 "Rory Tyler Hayford <rory.hayford@protonmail.com> @ngua":
4651− - ipa < 0 # https://gitlab.com/ngua/ipa-hs/-/issues/1
4672+ - ipa
46524673
46534674 "Andreas Herrmann <andreas.herrmann@tweag.io> @aherrmann":
46544675 - capability
46554676
46564677 "Dustin Sallings <dustin@spy.net> @dustin":
4657− - net-mqtt < 0 # 0.8.1.0 compile fail attoparsec 0.14
4678+ - net-mqtt
46584679 - net-mqtt-lens
46594680
46604681 "David A Roberts <d@vidr.cc> @davidar":
@@ -4734,10 +4755,18 @@ packages:
47344755 - captcha-core
47354756 - captcha-2captcha
47364757 - captcha-capmonster
4737− - data-default-extras
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
47384766
47394767 "Grandfathered dependencies":
47404768 - Boolean
4769+ - Cabal-syntax
47414770 - Decimal
47424771 - Diff
47434772 - FloatingHex
@@ -4865,7 +4894,7 @@ packages:
48654894 - dlist
48664895 - dlist-instances
48674896 - dlist-nonempty
4868− - double-conversion
4897+ - double-conversion < 2.0.3.0 # https://github.com/commercialhaskell/stackage/issues/6417
48694898 - dual-tree
48704899 - easy-file
48714900 - easytest
@@ -5027,7 +5056,7 @@ packages:
50275056 - process-extras
50285057 - product-isomorphic
50295058 - project-template
5030− - protobuf < 0.2.1.4 # https://github.com/alphaHeavy/protobuf/issues/39
5059+ - protobuf < 0.2.1.4 || > 0.2.1.4 # deprecated version
50315060 - pureMD5
50325061 - quickcheck-instances
50335062 - quickcheck-io
@@ -5210,18 +5239,18 @@ packages:
52105239 - boxes
52115240 - cassava
52125241 - charsetdetect-ae # #6326/closed
5213− - coercible-utils # 6271
5242+ - coercible-utils # #6271
52145243 - compiler-warnings # #6326/closed
52155244 - curl
52165245 - docopt # #6326/closed
52175246 - dynamic-state # #6326/closed
52185247 - first-class-patterns # #5965/closed
52195248 - ghc-trace-events # #6326/closed
5220− - hashing # 6271
5221− - hnix-store-core # 6271
5249+ - hashing # #6271
5250+ - hnix-store-core # #6271
52225251 - ilist # #5965/closed
52235252 - io-storage # #6326/closed
5224− - monadlist # 6271
5253+ - monadlist # #6271
52255254 - non-empty-sequence
52265255 - numeric-limits # #6326/closed
52275256 - oo-prototypes # #6326/closed
@@ -5229,7 +5258,7 @@ packages:
52295258 - opentelemetry-extra # #6326/closed
52305259 - opentelemetry-lightstep # #6326/closed
52315260 - opentelemetry-wai # #6326/closed
5232− - path # 6271
5261+ - path # #6271
52335262 - pattern-arrows
52345263 - planb-token-introspection # #6326/closed
52355264 - pointedlist # #6326/closed
@@ -5284,7 +5313,7 @@ packages:
52845313
52855314 "GHC upper bounds":
52865315 # Need to always match the version shipped with GHC
5287− - Win32 == 2.10.0.0
5316+ - Win32 == 2.12.0.1
52885317
52895318 # Section for packages that have been mass-disabled due to
52905319 # compilation failures, e.g. after we upgrade GHC. Every package
@@ -5330,7 +5359,6 @@ packages:
53305359 - exinst < 0 # 0.8
53315360 - ftp-client-conduit < 0 # 0.5.0.5
53325361 - giphy-api < 0 # 0.7.0.0 https://github.com/passy/giphy-api/pull/19
5333− - groundhog-th < 0 # 0.11
53345362 - gluturtle < 0 # 0.0.58.1
53355363 - haskell-import-graph < 0 # 1.0.4
53365364 - haskell-spacegoo < 0 # 0.2.0.1
@@ -5393,7 +5421,6 @@ packages:
53935421 - tintin < 0 # 1.10.1
53945422 - turtle-options < 0 # 0.1.0.4
53955423 - type-assertions < 0 # 0.1.0.0
5396− - type-map < 0 # 0.1.6.0
53975424 - typecheck-plugin-nat-simple < 0 # 0.1.0.2
53985425 - ulid < 0 # 0.3.0.0
53995426 - uncertain < 0 # 0.3.1.0
@@ -5417,8 +5444,8 @@ packages:
54175444 # for compilation failures as we need to build those packages to
54185445 # verify if they have been fixeq.
54195446 "Library and exe bounds failures":
5420− - BiobaseHTTP < 0 # tried BiobaseHTTP-1.2.0, but its *library* does not support: network-3.1.2.5
5421− - BlastHTTP < 0 # tried BlastHTTP-1.4.2, but its *library* does not support: network-3.1.2.5
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
54225449 - Chart-cairo < 0 # tried Chart-cairo-1.9.3, but its *library* requires the disabled package: cairo
54235450 - Chart-diagrams < 0 # tried Chart-diagrams-1.9.3, but its *library* does not support: SVGFonts-1.8.0.1
54245451 - EntrezHTTP < 0 # tried EntrezHTTP-1.0.4, but its *library* requires the disabled package: biocore
@@ -5429,15 +5456,15 @@ packages:
54295456 - HaskellNet < 0 # tried HaskellNet-0.6, but its *library* does not support: base-4.15.1.0
54305457 - HaskellNet-SSL < 0 # tried HaskellNet-SSL-0.3.4.4, but its *library* requires the disabled package: HaskellNet
54315458 - Hoed < 0 # tried Hoed-0.5.1, but its *library* requires the disabled package: regex-tdfa-text
5432− - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: fast-logger-3.1.0
5459+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: fast-logger-3.1.1
54335460 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: optparse-applicative-0.16.1.0
5434− - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: IPv6Addr-2.0.3
5461+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: IPv6Addr-2.0.4
54355462 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: aeson-1.5.6.0
5436− - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: attoparsec-0.14.3
5463+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: attoparsec-0.14.4
54375464 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: hedis-0.15.0
54385465 - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: unordered-containers-0.2.16.0
5439− - JuicyPixels-blp < 0 # tried JuicyPixels-blp-0.2.0.0, but its *library* does not support: attoparsec-0.14.3
5440− - JuicyPixels-blp < 0 # tried JuicyPixels-blp-0.2.0.0, but its *library* does not support: text-show-3.9.5
5466+ - 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
54415468 - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: Workflow
54425469 - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: monadloc
54435470 - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: pwstore-fast
@@ -5449,7 +5476,7 @@ packages:
54495476 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseHTTP-1.2.0
54505477 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseTypes-0.2.1.0
54515478 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: aeson-1.5.6.0
5452− - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: network-3.1.2.5
5479+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: network-3.1.2.7
54535480 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* requires the disabled package: hierarchical-clustering
54545481 - Spock < 0 # tried Spock-0.14.0.0, but its *library* requires the disabled package: Spock-core
54555482 - Spock-api-server < 0 # tried Spock-api-server-0.14.0.0, but its *library* requires the disabled package: Spock-core
@@ -5495,7 +5522,8 @@ packages:
54955522 - airship < 0 # tried airship-0.9.4, but its *library* does not support: semigroups-0.19.2
54965523 - airship < 0 # tried airship-0.9.4, but its *library* does not support: wai-3.2.3
54975524 - airship < 0 # tried airship-0.9.4, but its *library* does not support: wai-extra-3.1.8
5498− - amazonka < 0 # tried amazonka-1.6.1, but its *library* does not support: http-client-0.7.9
5525+ - 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
54995527 - amazonka < 0 # tried amazonka-1.6.1, but its *library* does not support: unliftio-core-0.2.0.1
55005528 - amazonka-apigateway < 0 # tried amazonka-apigateway-1.6.1, but its *library* requires the disabled package: amazonka-core
55015529 - amazonka-application-autoscaling < 0 # tried amazonka-application-autoscaling-1.6.1, but its *library* requires the disabled package: amazonka-core
@@ -5521,7 +5549,7 @@ packages:
55215549 - amazonka-cognito-idp < 0 # tried amazonka-cognito-idp-1.6.1, but its *library* requires the disabled package: amazonka-core
55225550 - amazonka-cognito-sync < 0 # tried amazonka-cognito-sync-1.6.1, but its *library* requires the disabled package: amazonka-core
55235551 - amazonka-config < 0 # tried amazonka-config-1.6.1, but its *library* requires the disabled package: amazonka-core
5524− - amazonka-core < 0 # tried amazonka-core-1.6.1, but its *library* does not support: http-client-0.7.9
5552+ - amazonka-core < 0 # tried amazonka-core-1.6.1, but its *library* does not support: http-client-0.7.10
55255553 - amazonka-datapipeline < 0 # tried amazonka-datapipeline-1.6.1, but its *library* requires the disabled package: amazonka-core
55265554 - amazonka-devicefarm < 0 # tried amazonka-devicefarm-1.6.1, but its *library* requires the disabled package: amazonka-core
55275555 - amazonka-directconnect < 0 # tried amazonka-directconnect-1.6.1, but its *library* requires the disabled package: amazonka-core
@@ -5607,8 +5635,7 @@ packages:
56075635 - arrowp-qq < 0 # tried arrowp-qq-0.3.0, but its *library* does not support: template-haskell-2.17.0.0
56085636 - asif < 0 # tried asif-6.0.4, but its *library* requires the disabled package: thyme
56095637 - async-timer < 0 # tried async-timer-0.2.0.0, but its *library* does not support: unliftio-core-0.2.0.1
5610− - atom-conduit < 0 # tried atom-conduit-0.9.0.1, but its *library* requires the disabled package: refined
5611− - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: attoparsec-0.14.3
5638+ - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: attoparsec-0.14.4
56125639 - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: base-4.15.1.0
56135640 - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: cryptonite-0.29
56145641 - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: memory-0.16.0
@@ -5628,19 +5655,12 @@ packages:
56285655 - base-noprelude < 0 # tried base-noprelude-4.13.0.0, but its *library* does not support: base-4.15.1.0
56295656 - bcp47 < 0 # tried bcp47-0.2.0.5, but its *library* requires the disabled package: country
56305657 - bcp47-orphans < 0 # tried bcp47-orphans-0.1.0.4, but its *library* requires the disabled package: bcp47
5631− - beam-core < 0 # tried beam-core-0.9.1.0, but its *library* does not support: dlist-1.0
5632− - beam-core < 0 # tried beam-core-0.9.1.0, but its *library* does not support: ghc-prim-0.7.0
5633− - beam-core < 0 # tried beam-core-0.9.1.0, but its *library* does not support: vector-sized-1.5.0
5634− - beam-migrate < 0 # tried beam-migrate-0.5.1.0, but its *library* does not support: ghc-prim-0.7.0
56355658 - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: aeson-1.5.6.0
5636− - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: beam-core-0.9.1.0
5659+ - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: beam-core-0.9.2.0
56375660 - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: hashable-1.3.5.0
56385661 - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: mysql-0.2.1
5639− - beam-postgres < 0 # tried beam-postgres-0.5.1.0, but its *library* does not support: attoparsec-0.14.3
5640− - beam-sqlite < 0 # tried beam-sqlite-0.5.1.0, but its *library* does not support: attoparsec-0.14.3
5641− - beam-sqlite < 0 # tried beam-sqlite-0.5.1.0, but its *library* does not support: dlist-1.0
5642− - bench-show < 0 # tried bench-show-0.3.1, but its *library* requires the disabled package: Chart-diagrams
5643− - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: brick-0.65
5662+ - 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
56445664 - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: bytestring-0.10.12.1
56455665 - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: directory-1.3.6.2
56465666 - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: filepath-1.4.2.1
@@ -5673,30 +5693,27 @@ packages:
56735693 - blosum < 0 # tried blosum-0.1.1.4, but its *executable* requires the disabled package: pipes-text
56745694 - boolean-normal-forms < 0 # tried boolean-normal-forms-0.0.1.1, but its *library* does not support: base-4.15.1.0
56755695 - boundingboxes < 0 # tried boundingboxes-0.2.3, but its *library* does not support: lens-5.0.1
5676− - brittany < 0 # tried brittany-0.14.0.0, but its *library* does not support: aeson-1.5.6.0
5677− - broadcast-chan < 0 # tried broadcast-chan-0.2.1.1, but its *library* does not support: base-4.15.1.0
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
56785698 - buchhaltung < 0 # tried buchhaltung-0.0.7, but its *library* requires the disabled package: regex-tdfa-text
56795699 - bulletproofs < 0 # tried bulletproofs-1.1.0, but its *library* requires the disabled package: elliptic-curve
56805700 - butcher < 0 # tried butcher-1.3.3.2, but its *library* does not support: base-4.15.1.0
5681− - cabal-file < 0 # tried cabal-file-0.1.1, but its *library* requires the disabled package: hackage-security
56825701 - cabal-install < 0 # tried cabal-install-3.6.2.0, but its *executable* does not support: Cabal-3.4.1.0
56835702 - cabal-install < 0 # tried cabal-install-3.6.2.0, but its *executable* does not support: base-4.15.1.0
56845703 - cairo < 0 # tried cairo-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
5704+ - category < 0 # tried category-0.2.5.0, but its *library* requires the disabled package: alg
56855705 - cereal-time < 0 # tried cereal-time-0.1.0.0, but its *library* does not support: time-1.9.3
56865706 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: aeson-1.5.6.0
56875707 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: aeson-casing-0.2.0.0
56885708 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: connection-0.3.1
56895709 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-api-data-0.4.3
5690− - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-client-0.7.9
5710+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-client-0.7.10
56915711 - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: req-3.9.2
56925712 - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: bytebuild
56935713 - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: byteslice
56945714 - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: bytesmith
56955715 - chronos-bench < 0 # tried chronos-bench-0.2.0.2, but its *library* requires the disabled package: chronos
56965716 - clang-compilation-database < 0 # tried clang-compilation-database-0.1.0.1, but its *library* does not support: base-4.15.1.0
5697− - clash-ghc < 0 # tried clash-ghc-1.4.6, but its *library* does not support: ghc-bignum-1.1
5698− - clash-lib < 0 # tried clash-lib-1.4.6, but its *library* does not support: ghc-bignum-1.1
5699− - clash-prelude < 0 # tried clash-prelude-1.4.6, but its *library* does not support: ghc-bignum-1.1
57005717 - classyplate < 0 # tried classyplate-0.3.2.0, but its *library* does not support: base-4.15.1.0
57015718 - classyplate < 0 # tried classyplate-0.3.2.0, but its *library* does not support: template-haskell-2.17.0.0
57025719 - clock-extras < 0 # tried clock-extras-0.1.0.2, but its *library* does not support: clock-0.8.2
@@ -5709,7 +5726,6 @@ packages:
57095726 - composite-aeson < 0 # tried composite-aeson-0.7.5.0, but its *library* does not support: template-haskell-2.17.0.0
57105727 - composite-aeson-path < 0 # tried composite-aeson-path-0.7.5.0, but its *library* does not support: path-0.9.2
57115728 - composite-aeson-refined < 0 # tried composite-aeson-refined-0.7.5.0, but its *library* requires the disabled package: composite-aeson
5712− - composite-aeson-refined < 0 # tried composite-aeson-refined-0.7.5.0, but its *library* requires the disabled package: refined
57135729 - composite-aeson-throw < 0 # tried composite-aeson-throw-0.1.0.0, but its *library* requires the disabled package: composite-aeson
57145730 - composite-base < 0 # tried composite-base-0.7.5.0, but its *library* does not support: profunctors-5.6.2
57155731 - composite-base < 0 # tried composite-base-0.7.5.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -5729,18 +5745,19 @@ packages:
57295745 - conferer-snap < 0 # tried conferer-snap-1.0.0.0, but its *library* requires the disabled package: snap-server
57305746 - configurator-pg < 0 # tried configurator-pg-0.2.5, but its *library* does not support: base-4.15.1.0
57315747 - configurator-pg < 0 # tried configurator-pg-0.2.5, but its *library* does not support: megaparsec-9.2.0
5732− - country < 0 # tried country-0.2.1, but its *library* does not support: attoparsec-0.14.3
5748+ - constraint < 0 # tried constraint-0.1.4.0, but its *library* requires the disabled package: category
5749+ - country < 0 # tried country-0.2.1, but its *library* does not support: attoparsec-0.14.4
57335750 - country < 0 # tried country-0.2.1, but its *library* does not support: base-4.15.1.0
57345751 - cql-io < 0 # tried cql-io-1.1.1, but its *library* requires the disabled package: cql
57355752 - crypto-pubkey < 0 # tried crypto-pubkey-0.2.8, but its *library* requires the disabled package: crypto-numbers
57365753 - cryptocipher < 0 # tried cryptocipher-0.6.2, but its *library* requires the disabled package: cipher-blowfish
57375754 - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: QuickCheck-2.14.2
5738− - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: attoparsec-0.14.3
5755+ - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: attoparsec-0.14.4
57395756 - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: simple-vec3-0.6.0.1
57405757 - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: strict-0.4.0.1
57415758 - css-syntax < 0 # tried css-syntax-0.1.0.0, but its *library* does not support: base-4.15.1.0
57425759 - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: Cabal-3.4.1.0
5743− - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: attoparsec-0.14.3
5760+ - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: attoparsec-0.14.4
57445761 - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: base-4.15.1.0
57455762 - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: constraints-0.13.2
57465763 - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: cryptonite-0.29
@@ -5769,7 +5786,7 @@ packages:
57695786 - dialogflow-fulfillment < 0 # tried dialogflow-fulfillment-0.1.1.4, but its *library* does not support: base-4.15.1.0
57705787 - dice < 0 # tried dice-0.1.0.1, but its *library* requires the disabled package: random-fu
57715788 - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *executable* does not support: criterion-1.5.12.0
5772− - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: attoparsec-0.14.3
5789+ - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: attoparsec-0.14.4
57735790 - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: base-4.15.1.0
57745791 - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: containers-0.6.4.1
57755792 - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: exceptions-0.10.4
@@ -5783,10 +5800,10 @@ packages:
57835800 - distributed-process-lifted < 0 # tried distributed-process-lifted-0.3.0.1, but its *library* requires the disabled package: distributed-process
57845801 - distributed-process-monad-control < 0 # tried distributed-process-monad-control-0.5.1.3, but its *library* requires the disabled package: distributed-process
57855802 - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: containers-0.6.4.1
5786− - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-3.1.2.5
5803+ - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-3.1.2.7
57875804 - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-transport-tcp-0.8.0
57885805 - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* requires the disabled package: network-multicast
5789− - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: network-3.1.2.5
5806+ - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: network-3.1.2.7
57905807 - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: random-1.2.1
57915808 - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* requires the disabled package: rematch
57925809 - distribution < 0 # tried distribution-1.1.1.0, but its *library* does not support: containers-0.6.4.1
@@ -5798,7 +5815,6 @@ packages:
57985815 - drawille < 0 # tried drawille-0.1.2.0, but its *library* does not support: containers-0.6.4.1
57995816 - earcut < 0 # tried earcut-0.1.0.4, but its *library* does not support: base-4.15.1.0
58005817 - easytest < 0 # tried easytest-0.3, but its *library* does not support: hedgehog-1.0.5
5801− - ed25519 < 0 # tried ed25519-0.0.5.0, but its *library* does not support: ghc-prim-0.7.0
58025818 - edit < 0 # tried edit-1.0.1.0, but its *library* does not support: QuickCheck-2.14.2
58035819 - edit < 0 # tried edit-1.0.1.0, but its *library* does not support: base-4.15.1.0
58045820 - effect-handlers < 0 # tried effect-handlers-0.1.0.8, but its *library* does not support: free-5.1.7
@@ -5816,7 +5832,6 @@ packages:
58165832 - ekg-statsd < 0 # tried ekg-statsd-0.2.5.0, but its *library* does not support: base-4.15.1.0
58175833 - ekg-wai < 0 # tried ekg-wai-0.1.0.3, but its *library* does not support: time-1.9.3
58185834 - elm-street < 0 # tried elm-street-0.1.0.4, but its *library* does not support: base-4.15.1.0
5819− - emd < 0 # tried emd-0.2.0.0, but its *library* requires the disabled package: ghc-typelits-natnormalise
58205835 - epub-metadata < 0 # tried epub-metadata-4.5, but its *library* requires the disabled package: regex-compat-tdfa
58215836 - euler-tour-tree < 0 # tried euler-tour-tree-0.1.1.0, but its *library* requires the disabled package: Unique
58225837 - event < 0 # tried event-0.1.4, but its *library* does not support: containers-0.6.4.1
@@ -5832,7 +5847,7 @@ packages:
58325847 - filecache < 0 # tried filecache-0.4.1, but its *library* requires the disabled package: strict-base-types
58335848 - find-clumpiness < 0 # tried find-clumpiness-0.2.3.2, but its *library* requires the disabled package: BiobaseNewick
58345849 - find-clumpiness < 0 # tried find-clumpiness-0.2.3.2, but its *library* requires the disabled package: hierarchical-clustering
5835− - freer-simple < 0 # tried freer-simple-1.2.1.1, but its *library* does not support: template-haskell-2.17.0.0
5850+ - foldable1 < 0 # tried foldable1-0.1.0.0, but its *library* requires the disabled package: util
58365851 - friday < 0 # tried friday-0.2.3.1, but its *library* does not support: containers-0.6.4.1
58375852 - friday < 0 # tried friday-0.2.3.1, but its *library* requires the disabled package: ratio-int
58385853 - friday-juicypixels < 0 # tried friday-juicypixels-0.1.2.4, but its *library* requires the disabled package: friday
@@ -5846,9 +5861,6 @@ packages:
58465861 - ghc-clippy-plugin < 0 # tried ghc-clippy-plugin-0.0.0.1, but its *library* does not support: dhall-1.40.2
58475862 - ghc-clippy-plugin < 0 # tried ghc-clippy-plugin-0.0.0.1, but its *library* does not support: ghc-9.0.2
58485863 - ghc-syb-utils < 0 # tried ghc-syb-utils-0.3.0.0, but its *library* does not support: ghc-9.0.2
5849− - ghc-typelits-extra < 0 # tried ghc-typelits-extra-0.4.3, but its *library* does not support: ghc-bignum-1.1
5850− - ghc-typelits-knownnat < 0 # tried ghc-typelits-knownnat-0.7.6, but its *library* requires the disabled package: ghc-typelits-natnormalise
5851− - ghc-typelits-natnormalise < 0 # tried ghc-typelits-natnormalise-0.7.6, but its *library* does not support: ghc-bignum-1.1
58525864 - ghcjs-dom < 0 # tried ghcjs-dom-0.9.5.0, but its *library* requires the disabled package: ghcjs-dom-jsaddle
58535865 - gi-gsk < 0 # tried gi-gsk-4.0.4, but its *library* does not support: gi-gdk-3.0.25
58545866 - gi-webkit2 < 0 # tried gi-webkit2-4.0.28, but its *library* requires the disabled package: gi-soup
@@ -5976,22 +5988,20 @@ packages:
59765988 - google-cloud < 0 # tried google-cloud-0.0.4, but its *library* does not support: base-4.15.1.0
59775989 - google-oauth2-jwt < 0 # tried google-oauth2-jwt-0.3.3, but its *library* does not support: base64-bytestring-1.2.1.0
59785990 - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-api-data-0.4.3
5979− - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-client-0.7.9
5991+ - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-client-0.7.10
59805992 - graphql-client < 0 # tried graphql-client-1.1.1, but its *executable* does not support: path-0.9.2
59815993 - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-0.12.0
5982− - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* requires the disabled package: groundhog-th
5994+ - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-th-0.12
59835995 - groundhog-mysql < 0 # tried groundhog-mysql-0.12, but its *library* does not support: mysql-0.2.1
59845996 - grouped-list < 0 # tried grouped-list-0.2.2.1, but its *library* does not support: base-4.15.1.0
59855997 - gtk3 < 0 # tried gtk3-0.15.6, but its *library* does not support: Cabal-3.4.1.0
59865998 - hOpenPGP < 0 # tried hOpenPGP-2.9.7, but its *library* requires the disabled package: ixset-typed
5987− - hackage-security < 0 # tried hackage-security-0.6.0.1, but its *library* does not support: template-haskell-2.17.0.0
5988− - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: http-client-0.7.9
5999+ - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: http-client-0.7.10
59896000 - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: servant-0.18.3
59906001 - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: servant-client-0.18.3
59916002 - hadolint < 0 # tried hadolint-2.8.0, but its *library* does not support: deepseq-1.4.5.0
59926003 - hadolint < 0 # tried hadolint-2.8.0, but its *library* requires the disabled package: colourista
59936004 - hadolint < 0 # tried hadolint-2.8.0, but its *library* requires the disabled package: spdx
5994− - hamilton < 0 # tried hamilton-0.1.0.3, but its *executable* requires the disabled package: ghc-typelits-knownnat
59956005 - hapistrano < 0 # tried hapistrano-0.4.3.0, but its *library* does not support: path-0.9.2
59966006 - happstack-hsp < 0 # tried happstack-hsp-7.3.7.5, but its *library* requires the disabled package: harp
59976007 - haskell-lsp < 0 # tried haskell-lsp-0.24.0.0, but its *executable* does not support: base-4.15.1.0
@@ -6017,7 +6027,7 @@ packages:
60176027 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: aeson-1.5.6.0
60186028 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: base-4.15.1.0
60196029 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: ghc-9.0.2
6020− - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: network-3.1.2.5
6030+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: network-3.1.2.7
60216031 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: optparse-applicative-0.16.1.0
60226032 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: strict-0.4.0.1
60236033 - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -6048,17 +6058,17 @@ packages:
60486058 - haskell-tools-rewrite < 0 # tried haskell-tools-rewrite-1.1.1.0, but its *library* requires the disabled package: references
60496059 - haskey < 0 # tried haskey-0.3.1.0, but its *library* does not support: stm-containers-1.2
60506060 - haskey-mtl < 0 # tried haskey-mtl-0.3.1.0, but its *library* does not support: monad-control-1.0.3.1
6051− - haskoin-store < 0 # tried haskoin-store-0.64.10, but its *library* requires the disabled package: haskoin-node
6052− - haskoin-store < 0 # tried haskoin-store-0.64.10, but its *library* requires the disabled package: haskoin-store-data
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
60536063 - hasmin < 0 # tried hasmin-1.0.3, but its *executable* does not support: optparse-applicative-0.16.1.0
6054− - hasmin < 0 # tried hasmin-1.0.3, but its *library* does not support: attoparsec-0.14.3
6064+ - hasmin < 0 # tried hasmin-1.0.3, but its *library* does not support: attoparsec-0.14.4
60556065 - haxl-amazonka < 0 # tried haxl-amazonka-0.1.1, but its *library* requires the disabled package: haxl
60566066 - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: aeson-1.5.6.0
6057− - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: attoparsec-0.14.3
6067+ - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: attoparsec-0.14.4
60586068 - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: base-4.15.1.0
60596069 - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: dlist-1.0
60606070 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: ansi-terminal-0.11.1
6061− - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: brick-0.65
6071+ - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: brick-0.66.1
60626072 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: optparse-applicative-0.16.1.0
60636073 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: semigroups-0.19.2
60646074 - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: vty-5.33
@@ -6085,7 +6095,7 @@ packages:
60856095 - hpio < 0 # tried hpio-0.9.0.7, but its *library* does not support: protolude-0.3.0
60866096 - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: containers-0.6.4.1
60876097 - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: hmatrix-0.20.2
6088− - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: statistics-0.15.2.0
6098+ - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: statistics-0.16.0.1
60896099 - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: time-1.9.3
60906100 - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: vector-algorithms-0.8.0.4
60916101 - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* requires the disabled package: hmatrix-special
@@ -6094,11 +6104,11 @@ packages:
60946104 - hschema-aeson < 0 # tried hschema-aeson-0.0.1.1, but its *library* requires the disabled package: hschema
60956105 - hschema-prettyprinter < 0 # tried hschema-prettyprinter-0.0.1.1, but its *library* requires the disabled package: hschema
60966106 - hschema-quickcheck < 0 # tried hschema-quickcheck-0.0.1.1, but its *library* requires the disabled package: hschema
6097− - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: attoparsec-0.14.3
6107+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: attoparsec-0.14.4
60986108 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: ghc-boot-9.0.2
60996109 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: ghc-lib-parser-9.0.2.20211226
61006110 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: hlint-3.3.6
6101− - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: http-client-0.7.9
6111+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: http-client-0.7.10
61026112 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: lens-5.0.1
61036113 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: optparse-applicative-0.16.1.0
61046114 - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -6111,7 +6121,7 @@ packages:
61116121 - hw-hspec-hedgehog < 0 # tried hw-hspec-hedgehog-0.1.1.0, but its *library* does not support: hspec-2.8.5
61126122 - hyraxAbif < 0 # tried hyraxAbif-0.2.3.27, but its *library* does not support: text-1.2.5.0
61136123 - idris < 0 # tried idris-1.3.4, but its *library* does not support: Cabal-3.4.1.0
6114− - idris < 0 # tried idris-1.3.4, but its *library* does not support: network-3.1.2.5
6124+ - idris < 0 # tried idris-1.3.4, but its *library* does not support: network-3.1.2.7
61156125 - importify < 0 # tried importify-1.0.1, but its *library* requires the disabled package: hse-cpp
61166126 - indentation-core < 0 # tried indentation-core-0.0.0.2, but its *library* does not support: base-4.15.1.0
61176127 - indentation-parsec < 0 # tried indentation-parsec-0.0.0.2, but its *library* does not support: base-4.15.1.0
@@ -6119,10 +6129,11 @@ packages:
61196129 - inline-java < 0 # tried inline-java-0.10.0, but its *library* requires the disabled package: jni
61206130 - inline-r < 0 # tried inline-r-0.10.5, but its *library* does not support: singletons-3.0.1
61216131 - interpolatedstring-qq2 < 0 # tried interpolatedstring-qq2-0.1.0.0, but its *library* does not support: template-haskell-2.17.0.0
6122− - io-streams-haproxy < 0 # tried io-streams-haproxy-1.0.1.0, but its *library* does not support: attoparsec-0.14.3
6132+ - io-streams-haproxy < 0 # tried io-streams-haproxy-1.0.1.0, but its *library* does not support: attoparsec-0.14.4
61236133 - io-streams-haproxy < 0 # tried io-streams-haproxy-1.0.1.0, but its *library* does not support: base-4.15.1.0
6124− - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: attoparsec-0.14.3
6125− - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: network-3.1.2.5
6134+ - ipa < 0 # tried ipa-0.3.1.1, but its *library* does not support: unicode-transforms-0.4.0
6135+ - 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
61266137 - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: path-0.9.2
61276138 - it-has < 0 # tried it-has-0.2.0.0, but its *library* does not support: generic-lens-2.2.0.0
61286139 - ixset < 0 # tried ixset-1.1.1.1, but its *library* requires the disabled package: syb-with-class
@@ -6131,7 +6142,7 @@ packages:
61316142 - ixset-typed-conversions < 0 # tried ixset-typed-conversions-0.1.2.0, but its *library* requires the disabled package: ixset-typed
61326143 - ixset-typed-hashable-instance < 0 # tried ixset-typed-hashable-instance-0.1.0.2, but its *library* requires the disabled package: ixset-typed
61336144 - jmacro-rpc-snap < 0 # tried jmacro-rpc-snap-0.3, but its *library* requires the disabled package: snap-core
6134− - jsaddle < 0 # tried jsaddle-0.9.8.1, but its *library* does not support: attoparsec-0.14.3
6145+ - jsaddle < 0 # tried jsaddle-0.9.8.1, but its *library* does not support: attoparsec-0.14.4
61356146 - jsaddle < 0 # tried jsaddle-0.9.8.1, but its *library* does not support: base64-bytestring-1.2.1.0
61366147 - jsaddle < 0 # tried jsaddle-0.9.8.1, but its *library* does not support: ref-tf-0.5.0.1
61376148 - json-alt < 0 # tried json-alt-1.0.0, but its *library* does not support: aeson-1.5.6.0
@@ -6187,7 +6198,6 @@ packages:
61876198 - list-witnesses < 0 # tried list-witnesses-0.1.3.2, but its *library* requires the disabled package: functor-products
61886199 - little-logger < 0 # tried little-logger-0.3.2, but its *library* requires the disabled package: co-log
61896200 - little-logger < 0 # tried little-logger-0.3.2, but its *library* requires the disabled package: co-log-core
6190− - loc < 0 # tried loc-0.1.3.10, but its *library* does not support: base-4.15.1.0
61916201 - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: aeson-1.5.6.0
61926202 - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: o-clock-1.2.1
61936203 - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: universum-1.7.2
@@ -6202,43 +6212,40 @@ packages:
62026212 - logging-effect-extra-handler < 0 # tried logging-effect-extra-handler-2.0.1, but its *library* does not support: prettyprinter-1.7.1
62036213 - logging-effect-extra-handler < 0 # tried logging-effect-extra-handler-2.0.1, but its *library* requires the disabled package: logging-effect
62046214 - loopbreaker < 0 # tried loopbreaker-0.1.1.1, but its *library* does not support: ghc-9.0.2
6205− - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: network-3.1.2.5
6215+ - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: network-3.1.2.7
62066216 - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: servant-0.18.3
62076217 - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: servant-client-0.18.3
62086218 - machines-directory < 0 # tried machines-directory-7.0.0.0, but its *library* requires the disabled package: machines-io
62096219 - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: ekg-core
62106220 - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: ekg-wai
6211− - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: refined
6212− - makefile < 0 # tried makefile-1.1.0.0, but its *library* does not support: attoparsec-0.14.3
6221+ - makefile < 0 # tried makefile-1.1.0.0, but its *library* does not support: attoparsec-0.14.4
62136222 - mallard < 0 # tried mallard-0.6.1.1, but its *library* does not support: megaparsec-9.2.0
62146223 - mallard < 0 # tried mallard-0.6.1.1, but its *library* requires the disabled package: Interpolation
62156224 - map-syntax < 0 # tried map-syntax-0.3, but its *library* does not support: base-4.15.1.0
62166225 - markup < 0 # tried markup-4.2.0, but its *library* requires the disabled package: attoparsec-uri
62176226 - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: aeson-1.5.6.0
6218− - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: http-client-0.7.9
6227+ - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: http-client-0.7.10
62196228 - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: lens-5.0.1
62206229 - marvin < 0 # tried marvin-0.2.5, but its *library* requires the disabled package: marvin-interpolate
6221− - matrix-static < 0 # tried matrix-static-0.3, but its *library* requires the disabled package: ghc-typelits-natnormalise
62226230 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: extra-1.7.10
62236231 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: formatting-7.1.3
6224− - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: http-client-0.7.9
6232+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: http-client-0.7.10
62256233 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: optparse-applicative-0.16.1.0
62266234 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: scalpel-core-0.6.2
62276235 - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: time-1.9.3
6228− - mega-sdist < 0 # tried mega-sdist-0.4.1.0, but its *executable* requires the disabled package: pantry
62296236 - menshen < 0 # tried menshen-0.0.3, but its *library* does not support: regex-tdfa-1.3.1.1
62306237 - merkle-tree < 0 # tried merkle-tree-0.1.1, but its *library* requires the disabled package: protolude
62316238 - messagepack-rpc < 0 # tried messagepack-rpc-0.5.1, but its *library* does not support: containers-0.6.4.1
62326239 - microformats2-parser < 0 # tried microformats2-parser-1.0.2.0, but its *executable* requires the disabled package: aws-lambda-haskell-runtime-wai
62336240 - microformats2-parser < 0 # tried microformats2-parser-1.0.2.0, but its *library* requires the disabled package: xml-lens
6234− - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-client-0.7.9
6241+ - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-client-0.7.10
62356242 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-media-0.8.0.0
62366243 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: servant-0.18.3
62376244 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: servant-client-0.18.3
62386245 - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: time-1.9.3
62396246 - midi-music-box < 0 # tried midi-music-box-0.0.1.2, but its *executable* requires the disabled package: diagrams-postscript
62406247 - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: lens-5.0.1
6241− - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: network-3.1.2.5
6248+ - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: network-3.1.2.7
62426249 - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: random-1.2.1
62436250 - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: semigroups-0.19.2
62446251 - mini-egison < 0 # tried mini-egison-1.0.0, but its *library* requires the disabled package: egison-pattern-src
@@ -6248,11 +6255,11 @@ packages:
62486255 - misfortune < 0 # tried misfortune-0.1.1.2, but its *library* requires the disabled package: random-fu
62496256 - miso < 0 # tried miso-1.8.1.0, but its *library* requires the disabled package: jsaddle
62506257 - modify-fasta < 0 # tried modify-fasta-0.8.3.0, but its *executable* requires the disabled package: pipes-text
6251− - modular < 0 # tried modular-0.1.0.8, but its *library* requires the disabled package: ghc-typelits-knownnat
62526258 - mole < 0 # tried mole-0.0.7, but its *executable* does not support: base-4.15.1.0
62536259 - mole < 0 # tried mole-0.0.7, but its *executable* requires the disabled package: snap-server
62546260 - monad-bayes < 0 # tried monad-bayes-0.1.1.0, but its *library* does not support: base-4.15.1.0
62556261 - monad-bayes < 0 # tried monad-bayes-0.1.1.0, but its *library* does not support: mwc-random-0.15.0.2
6262+ - monad-bayes < 0 # tried monad-bayes-0.1.1.0, but its *library* does not support: statistics-0.16.0.1
62566263 - monad-metrics < 0 # tried monad-metrics-0.2.2.0, but its *library* requires the disabled package: ekg-core
62576264 - monad-mock < 0 # tried monad-mock-0.2.0.0, but its *library* does not support: template-haskell-2.17.0.0
62586265 - monad-unlift-ref < 0 # tried monad-unlift-ref-0.2.1, but its *library* requires the disabled package: monad-unlift
@@ -6268,7 +6275,7 @@ packages:
62686275 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: binary-conduit-1.3.1
62696276 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: conduit-1.3.4.2
62706277 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: conduit-extra-1.3.5
6271− - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: network-3.1.2.5
6278+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: network-3.1.2.7
62726279 - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: random-1.2.1
62736280 - multistate < 0 # tried multistate-0.8.0.3, but its *library* does not support: base-4.15.1.0
62746281 - mwc-random-accelerate < 0 # tried mwc-random-accelerate-0.2.0.0, but its *library* requires the disabled package: accelerate
@@ -6282,12 +6289,12 @@ packages:
62826289 - n2o-web < 0 # tried n2o-web-0.11.2, but its *library* requires the disabled package: n2o-protocols
62836290 - nakadi-client < 0 # tried nakadi-client-0.7.0.0, but its *library* requires the disabled package: async-timer
62846291 - 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
62856293 - net-mqtt-lens < 0 # tried net-mqtt-lens-0.1.1.0, but its *library* requires the disabled package: net-mqtt
62866294 - netrc < 0 # tried netrc-0.2.0.0, but its *library* does not support: base-4.15.1.0
62876295 - network-anonymous-tor < 0 # tried network-anonymous-tor-0.11.0, but its *library* requires the disabled package: hexstring
62886296 - network-anonymous-tor < 0 # tried network-anonymous-tor-0.11.0, but its *library* requires the disabled package: network-attoparsec
6289− - network-msgpack-rpc < 0 # tried network-msgpack-rpc-0.0.6, but its *library* does not support: network-3.1.2.5
6290− - network-msgpack-rpc < 0 # tried network-msgpack-rpc-0.0.6, but its *library* requires the disabled package: data-default-instances-base
6297+ - network-msgpack-rpc < 0 # tried network-msgpack-rpc-0.0.6, but its *library* does not support: network-3.1.2.7
62916298 - network-transport-inmemory < 0 # tried network-transport-inmemory-0.5.2, but its *library* does not support: containers-0.6.4.1
62926299 - nri-test-encoding < 0 # tried nri-test-encoding-0.1.1.1, but its *library* requires the disabled package: servant-auth-server
62936300 - numhask-prelude < 0 # tried numhask-prelude-0.5.0, but its *library* does not support: numhask-0.8.1.0
@@ -6296,14 +6303,12 @@ packages:
62966303 - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: Cabal-3.4.1.0
62976304 - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: base-4.15.1.0
62986305 - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: template-haskell-2.17.0.0
6299− - opml-conduit < 0 # tried opml-conduit-0.9.0.0, but its *library* requires the disabled package: refined
63006306 - oset < 0 # tried oset-0.4.0.1, but its *library* does not support: base-4.15.1.0
63016307 - packdeps < 0 # tried packdeps-0.6.0.0, but its *library* does not support: Cabal-3.4.1.0
63026308 - pairing < 0 # tried pairing-1.1.0, but its *library* does not support: groups-0.5.3
63036309 - pairing < 0 # tried pairing-1.1.0, but its *library* does not support: protolude-0.3.0
63046310 - pairing < 0 # tried pairing-1.1.0, but its *library* requires the disabled package: elliptic-curve
63056311 - pango < 0 # tried pango-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
6306− - pantry < 0 # tried pantry-0.5.3, but its *library* requires the disabled package: hackage-security
63076312 - papillon < 0 # tried papillon-0.1.1.1, but its *library* does not support: template-haskell-2.17.0.0
63086313 - paripari < 0 # tried paripari-0.7.0.0, but its *library* does not support: parser-combinators-1.3.0
63096314 - path-text-utf8 < 0 # tried path-text-utf8-0.0.1.8, but its *library* does not support: path-0.9.2
@@ -6313,7 +6318,7 @@ packages:
63136318 - persistable-record < 0 # tried persistable-record-0.6.0.5, but its *library* requires the disabled package: th-data-compat
63146319 - persistable-types-HDBC-pg < 0 # tried persistable-types-HDBC-pg-0.0.3.5, but its *library* requires the disabled package: persistable-record
63156320 - persistable-types-HDBC-pg < 0 # tried persistable-types-HDBC-pg-0.0.3.5, but its *library* requires the disabled package: relational-query-HDBC
6316− - persistent-mysql-haskell < 0 # tried persistent-mysql-haskell-0.6.0, but its *library* does not support: tls-1.5.6
6321+ - persistent-mysql-haskell < 0 # tried persistent-mysql-haskell-0.6.0, but its *library* does not support: tls-1.5.7
63176322 - pg-harness-server < 0 # tried pg-harness-server-0.6.2, but its *executable* does not support: random-1.2.1
63186323 - pg-harness-server < 0 # tried pg-harness-server-0.6.2, but its *executable* does not support: scotty-0.12
63196324 - picedit < 0 # tried picedit-0.2.3.0, but its *executable* requires the disabled package: cli
@@ -6326,15 +6331,15 @@ packages:
63266331 - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: containers-0.6.4.1
63276332 - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: hashable-1.3.5.0
63286333 - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: shake-0.19.6
6329− - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: yaml-0.11.7.0
6334+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: yaml-0.11.6.0
63306335 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: Cabal-3.4.1.0
63316336 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: base-4.15.1.0
63326337 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: base64-bytestring-1.2.1.0
63336338 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: containers-0.6.4.1
63346339 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: hashable-1.3.5.0
6335− - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: http-client-0.7.9
6340+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: http-client-0.7.10
63366341 - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: shake-0.19.6
6337− - pinboard < 0 # tried pinboard-0.10.2.0, but its *library* does not support: http-client-0.7.9
6342+ - pinboard < 0 # tried pinboard-0.10.2.0, but its *library* does not support: http-client-0.7.10
63386343 - pipes-category < 0 # tried pipes-category-0.3.0.0, but its *library* does not support: lens-5.0.1
63396344 - pipes-misc < 0 # tried pipes-misc-0.5.0.0, but its *library* requires the disabled package: pipes-category
63406345 - pipes-network-tls < 0 # tried pipes-network-tls-0.4, but its *library* requires the disabled package: pipes-network
@@ -6372,23 +6377,21 @@ packages:
63726377 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: connection-0.3.1
63736378 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: constraints-0.13.2
63746379 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-api-data-0.4.3
6375− - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-client-0.7.9
6380+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-client-0.7.10
63766381 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: lens-5.0.1
63776382 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: req-3.9.2
63786383 - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* requires the disabled package: extensible
63796384 - ranged-list < 0 # tried ranged-list-0.1.0.0, but its *library* requires the disabled package: typecheck-plugin-nat-simple
63806385 - rank-product < 0 # tried rank-product-0.2.2.0, but its *library* requires the disabled package: random-fu
6381− - rdf < 0 # tried rdf-0.1.0.5, but its *library* does not support: attoparsec-0.14.3
6386+ - rdf < 0 # tried rdf-0.1.0.5, but its *library* does not support: attoparsec-0.14.4
63826387 - reanimate < 0 # tried reanimate-1.1.4.0, but its *library* requires the disabled package: hgeometry
63836388 - reanimate < 0 # tried reanimate-1.1.4.0, but its *library* requires the disabled package: hgeometry-combinatorial
6384− - refined < 0 # tried refined-0.6.2, but its *library* does not support: base-4.15.1.0
6385− - refined < 0 # tried refined-0.6.2, but its *library* does not support: template-haskell-2.17.0.0
63866389 - reform-hsp < 0 # tried reform-hsp-0.2.7.2, but its *library* requires the disabled package: hsx2hs
63876390 - regex-pcre-text < 0 # tried regex-pcre-text-0.94.0.1, but its *library* does not support: regex-base-0.94.0.2
63886391 - 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
63896392 - regex-tdfa-text < 0 # tried regex-tdfa-text-1.0.0.3, but its *library* does not support: regex-base-0.94.0.2
63906393 - registry < 0 # tried registry-0.2.1.0, but its *library* requires the disabled package: protolude
6391− - relapse < 0 # tried relapse-1.0.0.0, but its *library* does not support: attoparsec-0.14.3
6394+ - relapse < 0 # tried relapse-1.0.0.0, but its *library* does not support: attoparsec-0.14.4
63926395 - relational-query < 0 # tried relational-query-0.12.3.0, but its *library* requires the disabled package: persistable-record
63936396 - relational-query < 0 # tried relational-query-0.12.3.0, but its *library* requires the disabled package: product-isomorphic
63946397 - relational-query-HDBC < 0 # tried relational-query-HDBC-0.7.2.0, but its *library* requires the disabled package: th-data-compat
@@ -6402,13 +6405,12 @@ packages:
64026405 - req-url-extra < 0 # tried req-url-extra-0.1.1.0, but its *library* does not support: req-3.9.2
64036406 - rethinkdb-client-driver < 0 # tried rethinkdb-client-driver-0.0.25, but its *library* does not support: base-4.15.1.0
64046407 - rhine-gloss < 0 # tried rhine-gloss-0.7.0, but its *library* requires the disabled package: rhine
6405− - riak < 0 # tried riak-1.2.0.0, but its *library* does not support: attoparsec-0.14.3
6406− - riak < 0 # tried riak-1.2.0.0, but its *library* does not support: network-3.1.2.5
6408+ - 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
64076410 - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: aeson-1.5.6.0
6408− - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: http-client-0.7.9
6409− - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: network-3.1.2.5
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
64106413 - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: time-1.9.3
6411− - rss-conduit < 0 # tried rss-conduit-0.6.0.1, but its *library* requires the disabled package: atom-conduit
64126414 - safe-tensor < 0 # tried safe-tensor-0.2.1.1, but its *library* does not support: singletons-3.0.1
64136415 - salak-toml < 0 # tried salak-toml-0.3.5.3, but its *library* requires the disabled package: tomland
64146416 - sandwich-webdriver < 0 # tried sandwich-webdriver-0.1.0.6, but its *library* requires the disabled package: webdriver
@@ -6419,7 +6421,7 @@ packages:
64196421 - sendgrid-v3 < 0 # tried sendgrid-v3-0.3.0.0, but its *library* does not support: base-4.15.1.0
64206422 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: aeson-1.5.6.0
64216423 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: base-4.15.1.0
6422− - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: http-client-0.7.9
6424+ - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: http-client-0.7.10
64236425 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: lens-5.0.1
64246426 - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: optparse-applicative-0.16.1.0
64256427 - seqloc < 0 # tried seqloc-0.6.1.1, but its *library* requires the disabled package: biocore
@@ -6480,20 +6482,17 @@ packages:
64806482 - shower < 0 # tried shower-0.2.0.2, but its *library* does not support: base-4.15.1.0
64816483 - simplest-sqlite < 0 # tried simplest-sqlite-0.1.0.2, but its *library* does not support: template-haskell-2.17.0.0
64826484 - size-based < 0 # tried size-based-0.1.2.0, but its *library* does not support: template-haskell-2.17.0.0
6483− - sized < 0 # tried sized-1.0.0.0, but its *library* requires the disabled package: ghc-typelits-knownnat
6484− - sized < 0 # tried sized-1.0.0.0, but its *library* requires the disabled package: type-natural
64856485 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: aeson-1.5.6.0
64866486 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: base-4.15.1.0
64876487 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: constraints-0.13.2
64886488 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: lens-5.0.1
64896489 - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: random-1.2.1
64906490 - skeletons < 0 # tried skeletons-0.4.0, but its *executable* requires the disabled package: tinytemplate
6491− - slack-web < 0 # tried slack-web-0.3.0.1, but its *library* does not support: base-4.15.1.0
6492− - slack-web < 0 # tried slack-web-0.3.0.1, but its *library* does not support: http-client-0.7.9
6491+ - slack-web < 0 # tried slack-web-0.4.0.0, but its *library* does not support: http-client-0.7.10
64936492 - smallcheck-series < 0 # tried smallcheck-series-0.7.1.0, but its *library* does not support: base-4.15.1.0
64946493 - smash-lens < 0 # tried smash-lens-0.1.0.1, but its *library* does not support: lens-5.0.1
64956494 - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: aeson-1.5.6.0
6496− - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: attoparsec-0.14.3
6495+ - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: attoparsec-0.14.4
64976496 - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: base-4.15.1.0
64986497 - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: dlist-1.0
64996498 - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: lens-5.0.1
@@ -6501,8 +6500,8 @@ packages:
65016500 - snap < 0 # tried snap-1.1.3.1, but its *library* requires the disabled package: pwstore-fast
65026501 - snap < 0 # tried snap-1.1.3.1, but its *library* requires the disabled package: snap-server
65036502 - snap-blaze < 0 # tried snap-blaze-0.2.1.5, but its *library* requires the disabled package: snap-core
6504− - snap-core < 0 # tried snap-core-1.0.4.2, but its *library* does not support: attoparsec-0.14.3
6505− - socket-activation < 0 # tried socket-activation-0.1.0.2, but its *library* does not support: network-3.1.2.5
6503+ - 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
65066505 - sparkle < 0 # tried sparkle-0.7.4, but its *library* does not support: inline-java-0.10.0
65076506 - sparkle < 0 # tried sparkle-0.7.4, but its *library* does not support: jvm-0.6.0
65086507 - sparkle < 0 # tried sparkle-0.7.4, but its *library* requires the disabled package: distributed-closure
@@ -6510,39 +6509,34 @@ packages:
65106509 - sparse-tensor < 0 # tried sparse-tensor-0.2.1.5, but its *library* does not support: ad-4.5
65116510 - speculation < 0 # tried speculation-1.5.0.3, but its *library* does not support: stm-2.5.0.0
65126511 - sqlite-simple-errors < 0 # tried sqlite-simple-errors-0.6.1.0, but its *library* does not support: text-1.2.5.0
6513− - stack < 0 # tried stack-2.7.3, but its *library* requires the disabled package: hackage-security
65146512 - streamproc < 0 # tried streamproc-1.6.2, but its *library* does not support: base-4.15.1.0
65156513 - strict-base-types < 0 # tried strict-base-types-0.7, but its *library* requires the disabled package: strict-lens
6516− - strict-tuple < 0 # tried strict-tuple-0.1.4, but its *library* does not support: base-4.15.1.0
6517− - strict-tuple-lens < 0 # tried strict-tuple-lens-0.2, but its *library* requires the disabled package: strict-tuple
65186514 - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: hspec-2.8.5
65196515 - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: hspec-core-2.8.5
65206516 - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: random-1.2.1
65216517 - structured-haskell-mode < 0 # tried structured-haskell-mode-1.1.0, but its *executable* does not support: haskell-src-exts-1.23.1
65226518 - stylish-haskell < 0 # tried stylish-haskell-0.13.0.0, but its *library* does not support: Cabal-3.4.1.0
65236519 - stylish-haskell < 0 # tried stylish-haskell-0.13.0.0, but its *library* does not support: ghc-lib-parser-9.0.2.20211226
6524− - sv < 0 # tried sv-1.4.0.1, but its *library* does not support: attoparsec-0.14.3
6520+ - sv < 0 # tried sv-1.4.0.1, but its *library* does not support: attoparsec-0.14.4
65256521 - sv < 0 # tried sv-1.4.0.1, but its *library* does not support: base-4.15.1.0
6526− - sv-cassava < 0 # tried sv-cassava-0.3, but its *library* does not support: attoparsec-0.14.3
6527− - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: attoparsec-0.14.3
6522+ - sv-cassava < 0 # tried sv-cassava-0.3, but its *library* does not support: attoparsec-0.14.4
6523+ - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: attoparsec-0.14.4
65286524 - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: base-4.15.1.0
65296525 - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: lens-5.0.1
65306526 - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: profunctors-5.6.2
65316527 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: containers-0.6.4.1
65326528 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-api-data-0.4.3
6533− - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-client-0.7.9
6529+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-client-0.7.10
65346530 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-media-0.8.0.0
65356531 - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: katip-0.8.7.0
6536− - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: network-3.1.2.5
6532+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: network-3.1.2.7
65376533 - swagger2 < 0 # tried swagger2-2.7, but its *library* does not support: aeson-1.5.6.0
65386534 - sweet-egison < 0 # tried sweet-egison-0.1.1.3, but its *library* requires the disabled package: egison-pattern-src
65396535 - sweet-egison < 0 # tried sweet-egison-0.1.1.3, but its *library* requires the disabled package: egison-pattern-src-th-mode
6540− - taffybar < 0 # tried taffybar-3.3.0, but its *library* requires the disabled package: broadcast-chan
65416536 - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: containers-0.6.4.1
65426537 - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: tasty-1.4.2.1
65436538 - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: time-1.9.3
6544− - tcp-streams-openssl < 0 # tried tcp-streams-openssl-1.0.1.0, but its *library* does not support: network-3.1.2.5
6545− - termbox < 0 # tried termbox-0.3.0, but its *library* does not support: base-4.15.1.0
6539+ - tcp-streams-openssl < 0 # tried tcp-streams-openssl-1.0.1.0, but its *library* does not support: network-3.1.2.7
65466540 - termcolor < 0 # tried termcolor-0.2.0.0, but its *executable* requires the disabled package: cli
65476541 - termonad < 0 # tried termonad-4.2.0.0, but its *library* requires the disabled package: xml-html-qq
65486542 - test-fixture < 0 # tried test-fixture-0.5.1.0, but its *library* does not support: template-haskell-2.17.0.0
@@ -6551,9 +6545,8 @@ packages:
65516545 - text-all < 0 # tried text-all-0.4.2, but its *library* does not support: text-1.2.5.0
65526546 - text-all < 0 # tried text-all-0.4.2, but its *library* does not support: text-format-0.3.2
65536547 - text-format < 0 # tried text-format-0.3.2, but its *library* does not support: base-4.15.1.0
6554− - text-generic-pretty < 0 # tried text-generic-pretty-1.2.1, but its *library* does not support: wl-pprint-text-1.2.0.1
6548+ - text-generic-pretty < 0 # tried text-generic-pretty-1.2.1, but its *library* does not support: wl-pprint-text-1.2.0.2
65556549 - th-to-exp < 0 # tried th-to-exp-0.0.1.1, but its *library* does not support: template-haskell-2.17.0.0
6556− - these-skinny < 0 # tried these-skinny-0.7.4, but its *library* does not support: base-4.15.1.0
65576550 - threepenny-gui < 0 # tried threepenny-gui-0.9.1.0, but its *library* requires the disabled package: snap-server
65586551 - threepenny-gui-flexbox < 0 # tried threepenny-gui-flexbox-0.4.2, but its *library* requires the disabled package: threepenny-gui
65596552 - thumbnail-plus < 0 # tried thumbnail-plus-1.0.5, but its *library* does not support: either-5.0.1.1
@@ -6563,25 +6556,23 @@ packages:
65636556 - tonatona < 0 # tried tonatona-0.1.2.1, but its *library* does not support: base-4.15.1.0
65646557 - tonatona-logger < 0 # tried tonatona-logger-0.2.0.2, but its *library* does not support: base-4.15.1.0
65656558 - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: base-4.15.1.0
6566− - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-2.13.2.1
6567− - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-postgresql-2.13.2.1
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
65686561 - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: base-4.15.1.0
6569− - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-2.13.2.1
6570− - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-sqlite-2.13.0.3
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
65716564 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: base-4.15.1.0
65726565 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: servant-0.18.3
65736566 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: servant-server-0.18.3
65746567 - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: wai-extra-3.1.8
65756568 - transformers-lift < 0 # tried transformers-lift-0.2.0.2, but its *library* does not support: base-4.15.1.0
65766569 - transformers-lift < 0 # tried transformers-lift-0.2.0.2, but its *library* does not support: writer-cps-transformers-0.5.6.1
6577− - transient-universe < 0 # tried transient-universe-0.6.0.1, but its *library* does not support: network-3.1.2.5
6570+ - transient-universe < 0 # tried transient-universe-0.6.0.1, but its *library* does not support: network-3.1.2.7
65786571 - tries < 0 # tried tries-0.0.6.1, but its *library* requires the disabled package: rose-trees
65796572 - true-name < 0 # tried true-name-0.1.0.3, but its *library* does not support: template-haskell-2.17.0.0
65806573 - type-combinators-singletons < 0 # tried type-combinators-singletons-0.2.1.0, but its *library* requires the disabled package: type-combinators
6581− - type-natural < 0 # tried type-natural-1.1.0.1, but its *library* requires the disabled package: ghc-typelits-natnormalise
6582− - tz < 0 # tried tz-0.1.3.5, but its *library* does not support: template-haskell-2.17.0.0
65836574 - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: aeson-1.5.6.0
6584− - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: attoparsec-0.14.3
6575+ - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: attoparsec-0.14.4
65856576 - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: base-4.15.1.0
65866577 - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: cryptonite-0.29
65876578 - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: parser-combinators-1.3.0
@@ -6589,40 +6580,40 @@ packages:
65896580 - ucam-webauth-types < 0 # tried ucam-webauth-types-0.1.0.0, but its *library* does not support: base-4.15.1.0
65906581 - ucam-webauth-types < 0 # tried ucam-webauth-types-0.1.0.0, but its *library* does not support: base64-bytestring-1.2.1.0
65916582 - unfoldable-restricted < 0 # tried unfoldable-restricted-0.0.3, but its *library* requires the disabled package: unfoldable
6592− - uniprot-kb < 0 # tried uniprot-kb-0.1.2.0, but its *library* does not support: attoparsec-0.14.3
6583+ - uniprot-kb < 0 # tried uniprot-kb-0.1.2.0, but its *library* does not support: attoparsec-0.14.4
65936584 - uri-templater < 0 # tried uri-templater-0.3.1.0, but its *library* does not support: trifecta-2.1.2
65946585 - urlpath < 0 # tried urlpath-9.0.1, but its *library* requires the disabled package: attoparsec-uri
65956586 - userid < 0 # tried userid-0.1.3.6, but its *library* does not support: base-4.15.1.0
65966587 - utf8-conversions < 0 # tried utf8-conversions-0.1.0.4, but its *library* does not support: text-short-0.1.5
6597− - vado < 0 # tried vado-0.0.13, but its *library* does not support: attoparsec-0.14.3
6588+ - vado < 0 # tried vado-0.0.13, but its *library* does not support: attoparsec-0.14.4
65986589 - vado < 0 # tried vado-0.0.13, but its *library* does not support: base-4.15.1.0
65996590 - vcswrapper < 0 # tried vcswrapper-0.1.6, but its *library* does not support: base-4.15.1.0
66006591 - vcswrapper < 0 # tried vcswrapper-0.1.6, but its *library* does not support: containers-0.6.4.1
66016592 - vector-circular < 0 # tried vector-circular-0.1.3, but its *library* does not support: template-haskell-2.17.0.0
66026593 - vector-fftw < 0 # tried vector-fftw-0.1.4.0, but its *library* does not support: base-4.15.1.0
66036594 - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: base-4.15.1.0
6604− - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: brick-0.65
6595+ - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: brick-0.66.1
66056596 - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: lens-5.0.1
66066597 - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: vty-5.33
66076598 - wai-middleware-crowd < 0 # tried wai-middleware-crowd-0.1.4.2, but its *executable* does not support: optparse-applicative-0.16.1.0
66086599 - wai-middleware-metrics < 0 # tried wai-middleware-metrics-0.2.4, but its *library* requires the disabled package: ekg-core
66096600 - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: aeson-1.5.6.0
6610− - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: http-client-0.7.9
6601+ - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: http-client-0.7.10
66116602 - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: time-1.9.3
66126603 - wai-middleware-throttle < 0 # tried wai-middleware-throttle-0.3.0.1, but its *library* requires the disabled package: token-bucket
66136604 - wai-routing < 0 # tried wai-routing-0.13.0, but its *library* requires the disabled package: wai-predicates
66146605 - wai-routing < 0 # tried wai-routing-0.13.0, but its *library* requires the disabled package: wai-route
6615− - wavefront < 0 # tried wavefront-0.7.1.4, but its *library* does not support: attoparsec-0.14.3
6606+ - wavefront < 0 # tried wavefront-0.7.1.4, but its *library* does not support: attoparsec-0.14.4
66166607 - wavefront < 0 # tried wavefront-0.7.1.4, but its *library* does not support: base-4.15.1.0
66176608 - wavefront < 0 # tried wavefront-0.7.1.4, but its *library* does not support: dlist-1.0
66186609 - web-routes-th < 0 # tried web-routes-th-0.22.6.6, but its *library* does not support: template-haskell-2.17.0.0
66196610 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: OneTuple-0.3.1
66206611 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: aeson-1.5.6.0
6621− - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: attoparsec-0.14.3
6612+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: attoparsec-0.14.4
66226613 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: base-4.15.1.0
66236614 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: cryptonite-0.29
66246615 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: hspec-2.8.5
6625− - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: http-client-0.7.9
6616+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: http-client-0.7.10
66266617 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: memory-0.16.0
66276618 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: servant-0.18.3
66286619 - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: servant-client-0.18.3
@@ -6644,7 +6635,7 @@ packages:
66446635 - xml-isogen < 0 # tried xml-isogen-0.3.0, but its *library* requires the disabled package: dom-parser
66456636 - yeshql < 0 # tried yeshql-4.2.0.0, but its *library* does not support: yeshql-core-4.2.0.0
66466637 - yeshql < 0 # tried yeshql-4.2.0.0, but its *library* requires the disabled package: yeshql-hdbc
6647− - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: persistent-2.13.2.1
6638+ - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: persistent-2.13.2.2
66486639 - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-auth-1.6.10.5
66496640 - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-core-1.6.21.0
66506641 - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-form-1.7.0
@@ -6683,6 +6674,9 @@ packages:
66836674
66846675 # aeson-2
66856676 # 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
66866680 - aeson < 2.0.0.0
66876681 - aura < 3.2.6
66886682 - avro < 0.6.0.0
@@ -6690,6 +6684,7 @@ packages:
66906684 - core-data < 0.3.0.0
66916685 - eventstore < 1.4.2
66926686 - faktory < 1.1.2.1
6687+ - flow < 2.0.0.0
66936688 - forma < 1.2.0
66946689 - geojson < 4.1.0
66956690 - greskell < 2.0.0.0
@@ -6697,24 +6692,20 @@ packages:
66976692 - greskell-websocket < 1.0.0.0
66986693 - hruby < 0.4.0.0
66996694 - hspec-expectations-json < 1.0.0.5
6695+ - http2 < 3.0.3
6696+ - jose < 0.9
6697+ - jsonpath < 0.2.1.0
67006698 - kanji < 3.5
67016699 - microlens-aeson < 2.4
67026700 - mmark-cli < 0.0.5.1
6701+ - pandoc-plot < 1.4.0
67036702 - postgresql-binary < 0.12.4.2
67046703 - servant-tracing < 0.2.0.0
67056704 - shikensu < 0.4.0
67066705 - stache < 2.3.1
67076706 - stripe-scotty < 1.1.0.1
67086707 - stripe-wreq < 1.0.1.12
6709−
6710− # happy-1.21.0 is deprecated an unbuildable
6711− # https://github.com/commercialhaskell/stackage/issues/6294
6712− # see also https://github.com/commercialhaskell/stackage/issues/6242
6713− - happy < 1.21
6714−
6715− # https://github.com/commercialhaskell/stackage/issues/6243
6716− # lift together with https://github.com/commercialhaskell/stackage/issues/6217
6717− - jose < 0.9
6708+ - yaml < 0.11.7
67186709
67196710 # https://github.com/commercialhaskell/stackage/issues/6264
67206711 # Requires GHC 9.2
@@ -6731,6 +6722,7 @@ packages:
67316722 - singletons-base < 3.1
67326723 - singletons-th < 3.1
67336724 - th-desugar < 1.13
6725+ - fourmolu < 0.5.0.0
67346726
67356727 # https://github.com/commercialhaskell/stackage/issues/6268
67366728 - hashable < 1.4.0.0
@@ -6771,13 +6763,22 @@ packages:
67716763 - selective < 0.5
67726764 - yaml-unscrambler < 0.1.0.5
67736765
6774− # https://github.com/commercialhaskell/stackage/issues/6382
6775− - unicode-data < 0.3
6776−
67776766 # https://github.com/commercialhaskell/stackage/issues/6388
67786767 # issue is for 5.0, but 4.0.4 is deprecated.
67796768 - hw-kafka-client < 4.0.4
67806769
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
6775+
6776+ # https://github.com/commercialhaskell/stack/issues/5670 (fails with Cabal-3.4)
6777+ - stack < 0
6778+
6779+ # https://github.com/commercialhaskell/stackage/issues/6401
6780+ - rope-utf16-splay < 0.4
6781+
67816782# end of packages
67826783
67836784# Package flags are applied to individual packages, and override the values of
@@ -6920,6 +6921,7 @@ skipped-builds:
69206921# Otherwise place them in expected-test-failures.
69216922skipped-tests:
69226923 # aeson-2
6924+ # https://github.com/commercialhaskell/stackage/issues/6217
69236925 - jsonifier
69246926 - req
69256927
@@ -7001,6 +7003,9 @@ skipped-tests:
70017003 - hpqtypes-extras # needs a running postgres database
70027004 # norfairking
70037005 - autodocodec # runs doctest
7006+ - captcha-core
7007+ - captcha-2captcha
7008+ - captcha-capmonster
70047009
70057010 # Uses Cabal's "library internal" stanza feature
70067011 - s3-signer
@@ -7048,7 +7053,7 @@ skipped-tests:
70487053 # Test bounds issues
70497054 - ENIG # tried ENIG-0.0.1.0, but its *test-suite* requires the disabled package: test-framework-th
70507055 - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: hspec-2.8.5
7051− - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: http-client-0.7.9
7056+ - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: http-client-0.7.10
70527057 - MissingH # tried MissingH-1.4.3.0, but its *test-suite* requires the disabled package: errorcall-eq-instance
70537058 - aeson # tried aeson-1.5.6.0, but its *test-suite* does not support: hashable-time-0.3
70547059 - airship # tried airship-0.9.4, but its *test-suite* does not support: tasty-1.4.2.1
@@ -7107,9 +7112,8 @@ skipped-tests:
71077112 - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: semirings-0.6
71087113 - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: tasty-1.4.2.1
71097114 - generic-xmlpickler # tried generic-xmlpickler-0.1.0.6, but its *test-suite* does not support: tasty-1.4.2.1
7110− - ghc-prof # tried ghc-prof-1.4.1.9, but its *test-suite* does not support: attoparsec-0.14.3
7115+ - ghc-prof # tried ghc-prof-1.4.1.9, but its *test-suite* does not support: attoparsec-0.14.4
71117116 - gitlib-libgit2 # tried gitlib-libgit2-3.1.2.1, but its *test-suite* requires the disabled package: gitlib-test
7112− - hackage-security # tried hackage-security-0.6.0.1, but its *test-suite* does not support: tasty-1.4.2.1
71137117 - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: hspec-2.8.5
71147118 - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: hspec-discover-2.8.5
71157119 - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: optparse-applicative-0.16.1.0
@@ -7119,7 +7123,7 @@ skipped-tests:
71197123 - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *test-suite* requires the disabled package: knob
71207124 - haskell-tools-daemon # tried haskell-tools-daemon-1.1.1.0, but its *test-suite* does not support: Glob-0.10.2
71217125 - haskell-tools-daemon # tried haskell-tools-daemon-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7122− - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: network-3.1.2.5
7126+ - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: network-3.1.2.7
71237127 - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
71247128 - haskell-tools-refactor # tried haskell-tools-refactor-1.1.1.0, but its *test-suite* does not support: polyparse-1.13
71257129 - haskell-tools-refactor # tried haskell-tools-refactor-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
@@ -7129,7 +7133,6 @@ skipped-tests:
71297133 - hasmin # tried hasmin-1.0.3, but its *test-suite* does not support: doctest-0.18.2
71307134 - heist # tried heist-1.1.0.1, but its *test-suite* does not support: lens-5.0.1
71317135 - hidden-char # tried hidden-char-0.1.0.2, but its *test-suite* does not support: hspec-2.8.5
7132− - hmatrix-vector-sized # tried hmatrix-vector-sized-0.1.3.0, but its *test-suite* requires the disabled package: ghc-typelits-knownnat
71337136 - hspec-tables # tried hspec-tables-0.0.1, but its *test-suite* does not support: hspec-2.8.5
71347137 - http-media # tried http-media-0.8.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
71357138 - http-media # tried http-media-0.8.0.0, but its *test-suite* does not support: base-4.15.1.0
@@ -7188,7 +7191,7 @@ skipped-tests:
71887191 - options # tried options-1.2.1.1, but its *test-suite* requires the disabled package: chell-quickcheck
71897192 - oset # tried oset-0.4.0.1, but its *test-suite* does not support: hspec-2.8.5
71907193 - oset # tried oset-0.4.0.1, but its *test-suite* does not support: hspec-discover-2.8.5
7191− - partial-semigroup # tried partial-semigroup-0.5.1.12, but its *test-suite* does not support: doctest-0.18.2
7194+ - partial-semigroup # tried partial-semigroup-0.5.1.14, but its *test-suite* does not support: doctest-0.18.2
71927195 - pipes-fluid # tried pipes-fluid-0.6.0.1, but its *test-suite* requires the disabled package: pipes-misc
71937196 - postgrest # tried postgrest-8.0.0, but its *test-suite* does not support: hspec-2.8.5
71947197 - printcess # tried printcess-0.1.0.3, but its *test-suite* does not support: HUnit-1.6.2.0
@@ -7232,7 +7235,7 @@ skipped-tests:
72327235 - simple-log # tried simple-log-0.9.12, but its *test-suite* does not support: hspec-2.8.5
72337236 - sized-grid # tried sized-grid-0.2.0.1, but its *test-suite* does not support: ansi-terminal-0.11.1
72347237 - snap # tried snap-1.1.3.1, but its *test-suite* does not support: QuickCheck-2.14.2
7235− - stb-image-redux # tried stb-image-redux-0.2.1.3, but its *test-suite* does not support: hspec-2.8.5
7238+ - stb-image-redux # tried stb-image-redux-0.2.1.2, but its *test-suite* does not support: hspec-2.8.5
72367239 - stm-supply # tried stm-supply-0.2.0.0, but its *test-suite* requires the disabled package: Unique
72377240 - streaming-cassava # tried streaming-cassava-0.2.0.0, but its *test-suite* does not support: hspec-2.8.5
72387241 - stripe-http-client # tried stripe-http-client-2.6.2, but its *test-suite* does not support: hspec-2.8.5
@@ -7250,8 +7253,6 @@ skipped-tests:
72507253 - temporary-resourcet # tried temporary-resourcet-0.1.0.1, but its *test-suite* does not support: tasty-1.4.2.1
72517254 - test-framework # tried test-framework-0.8.2.0, but its *test-suite* requires the disabled package: libxml
72527255 - transient # tried transient-0.7.0.0, but its *test-suite* does not support: random-1.2.1
7253− - typerep-map # tried typerep-map-0.4.0.0, but its *test-suite* requires the disabled package: ghc-typelits-knownnat
7254− - tzdata # tried tzdata-0.2.20201021.0, but its *test-suite* requires the disabled package: test-framework-th
72557256 - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
72567257 - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: generic-random-1.5.0.1
72577258 - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: hspec-2.8.5
@@ -7276,6 +7277,8 @@ skipped-tests:
72767277 # https://github.com/commercialhaskell/stackage/issues/6363
72777278 - amqp
72787279
7280+ - c2hs # https://github.com/commercialhaskell/stackage/issues/6420
7281+
72797282# end of skipped-tests
72807283
72817284# Tests listed in expected-test-failures configure correctly but may fail to run
@@ -7298,7 +7301,7 @@ expected-test-failures:
72987301 - capataz # https://github.com/roman/Haskell-capataz/issues/6
72997302 - concurrent-extra # https://github.com/basvandijk/concurrent-extra/issues/12
73007303 - crypto-numbers
7301− - css-text # 0.1.2.2 https://github.com/yesodweb/css-text/issues/10
7304+ - css-text # 0.1.3.0 https://github.com/yesodweb/css-text/issues/10
73027305 - distributed-process
73037306 - distributed-process-execution # https://github.com/haskell-distributed/distributed-process-execution/issues/2
73047307 - distributed-process-task
@@ -7446,8 +7449,7 @@ expected-test-failures:
74467449 - bugsnag-haskell # https://github.com/commercialhaskell/stackage/issues/6372
74477450 - cpio-conduit # Test file not in tarball https://github.com/da-x/cpio-conduit/issues/1
74487451 - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
7449− - doctest
7450− - doctest-discover # 0.1.0.9 https://github.com/karun012/doctest-discover/issues/22
7452+ - doctest-discover # https://github.com/karun012/doctest-discover/issues/33
74517453 - ghc-events # https://github.com/haskell/ghc-events/issues/70
74527454 - gitlab-haskell # https://github.com/commercialhaskell/stackage/issues/6088
74537455 - hspec-core # https://github.com/commercialhaskell/stackage/issues/6291
@@ -7532,6 +7534,7 @@ expected-test-failures:
75327534 - safe-decimal
75337535 - simple-affine-space
75347536 - simple-vec3 # https://github.com/commercialhaskell/stackage/pull/5410
7537+ - singletons-base
75357538 - sized
75367539 - spatial-math
75377540 - subcategories
@@ -7544,12 +7547,14 @@ expected-test-failures:
75447547 - universum
75457548 - utf8-conversions
75467549 - varying
7550+ - vector-algorithms
75477551 - vivid-osc
75487552 - wakame
75497553 - world-peace
75507554 - xml-picklers # https://github.com/Philonous/xml-picklers/issues/5
75517555 - xmlbf
75527556 - yesod-gitrev # needs a git repo https://github.com/commercialhaskell/stackage/issues/6132
7557+ - yesod-markdown # https://github.com/pbrisbin/yesod-markdown/issues/77
75537558
75547559 # Assertion failures due to module name ambiguity.
75557560 # These _should_ be fixed by using the `hide` section of this file
@@ -7571,7 +7576,6 @@ expected-test-failures:
75717576 - easy-logger # https://github.com/commercialhaskell/stackage/issues/6384
75727577 - flat # 0.4.4
75737578 - flay # 0.4
7574− - focuslist # 0.1.0.2
75757579 - functor-combinators # https://github.com/commercialhaskell/stackage/issues/6376
75767580 - generic-lens # https://github.com/commercialhaskell/stackage/issues/6377
75777581 - geojson # 4.0.2
@@ -7702,7 +7706,6 @@ expected-benchmark-failures:
77027706 # Compilation failures
77037707 - OrderedBits # 0.0.2.0
77047708 - aeson-combinators # 0.0.5.0
7705− - cipher-blowfish # 0.0.11 https://github.com/vincenthz/hs-crypto-cipher/issues/46
77067709 - cmark-gfm # https://github.com/kivikakk/cmark-gfm-hs/issues/5
77077710 - cryptohash # 0.11.9 https://github.com/vincenthz/hs-cryptohash/pull/43
77087711 - incremental-parser # 0.5.0.2
@@ -7725,6 +7728,7 @@ expected-benchmark-failures:
77257728# Otherwise place them in expected-benchmark-failures.
77267729skipped-benchmarks:
77277730 # aeson-2
7731+ # https://github.com/commercialhaskell/stackage/issues/6217
77287732 - jsonifier
77297733
77307734 # Cyclic dependencies
@@ -7806,10 +7810,10 @@ skipped-benchmarks:
78067810 - extensible-effects # tried extensible-effects-5.0.0.1, but its *benchmarks* requires the disabled package: test-framework-th
78077811 - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *benchmarks* does not support: aeson-1.5.6.0
78087812 - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *benchmarks* does not support: time-1.9.3
7813+ - heist # tried heist-1.1.0.1, but its *benchmarks* does not support: statistics-0.16.0.1
78097814 - hip # tried hip-1.5.6.0, but its *benchmarks* requires the disabled package: repa-algorithms
78107815 - hw-eliasfano # tried hw-eliasfano-0.1.2.0, but its *benchmarks* requires the disabled package: hw-hspec-hedgehog
78117816 - o-clock # tried o-clock-1.2.1, but its *benchmarks* requires the disabled package: tiempo
7812− - polysemy # tried polysemy-1.6.0.0, but its *benchmarks* requires the disabled package: freer-simple
78137817 - psqueues # tried psqueues-0.2.7.3, but its *benchmarks* requires the disabled package: PSQueue
78147818 - psqueues # tried psqueues-0.2.7.3, but its *benchmarks* requires the disabled package: fingertree-psqueue
78157819 - regex-applicative # tried regex-applicative-0.3.4, but its *benchmarks* requires the disabled package: parsers-megaparsec
@@ -7818,7 +7822,6 @@ skipped-benchmarks:
78187822 - superbuffer # tried superbuffer-0.3.1.1, but its *benchmarks* does not support: criterion-1.5.12.0
78197823 - ttrie # tried ttrie-0.1.2.2, but its *benchmarks* requires the disabled package: criterion-plus
78207824 - ttrie # tried ttrie-0.1.2.2, but its *benchmarks* requires the disabled package: stm-stats
7821− - typerep-map # tried typerep-map-0.4.0.0, but its *benchmarks* requires the disabled package: ghc-typelits-knownnat
78227825 - tz # tried tz-0.1.3.5, but its *benchmarks* requires the disabled package: thyme
78237826 - unicode-transforms # tried unicode-transforms-0.4.0, but its *benchmarks* does not support: path-0.9.2
78247827 - xxhash-ffi # tried xxhash-ffi-0.2.0.0, but its *benchmarks* requires the disabled package: xxhash
@@ -8032,6 +8035,7 @@ no-revisions:
80328035- hi-file-parser
80338036
80348037
8038+# Note, this no longer actually does anything with curator2 unfortunately:
80358039# Do not build these packages in parallel with others. Useful for high memory
80368040# usage.
80378041non-parallel-builds:
commenternew file+20
@@ -0,0 +1,20 @@
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+95−18
@@ -31,6 +31,12 @@ 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+
3440[[package]]
3541name = "bitflags"
3642version = "1.3.2"
@@ -58,9 +64,17 @@ version = "0.2.0"
5864dependencies = [
5965 "lazy-regex",
6066 "regex",
67+ "serde",
68+ "serde_yaml",
6169 "structopt",
6270]
6371
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+
6478[[package]]
6579name = "heck"
6680version = "0.3.3"
@@ -79,11 +93,21 @@ dependencies = [
7993 "libc",
8094]
8195
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+
82106[[package]]
83107name = "lazy-regex"
84−version = "2.2.1"
108+version = "2.2.2"
85109source = "registry+https://github.com/rust-lang/crates.io-index"
86−checksum = "17d198f91272f6e788a5c0bd5d741cf778da4e5bc761ec67b32d5d3b0db34a54"
110+checksum = "919a16773ebf2de27e95fc58460110932e55bb0780e23aa51fa5a6b59c9e2b3d"
87111dependencies = [
88112 "lazy-regex-proc_macros",
89113 "once_cell",
@@ -92,9 +116,9 @@ dependencies = [
92116
93117[[package]]
94118name = "lazy-regex-proc_macros"
95−version = "2.2.1"
119+version = "2.2.2"
96120source = "registry+https://github.com/rust-lang/crates.io-index"
97−checksum = "6c12938b1b92cf5be22940527e15b79fd0c7e706e34bc70816f6a72b3484f84e"
121+checksum = "5fbe6bf0a04af51c07976625d5007e75ed9b8b955befc21c77b3947733496e36"
98122dependencies = [
99123 "proc-macro2",
100124 "quote",
@@ -110,21 +134,27 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
110134
111135[[package]]
112136name = "libc"
113−version = "0.2.108"
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"
114144source = "registry+https://github.com/rust-lang/crates.io-index"
115−checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"
145+checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
116146
117147[[package]]
118148name = "memchr"
119−version = "2.4.0"
149+version = "2.4.1"
120150source = "registry+https://github.com/rust-lang/crates.io-index"
121−checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
151+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
122152
123153[[package]]
124154name = "once_cell"
125−version = "1.8.0"
155+version = "1.9.0"
126156source = "registry+https://github.com/rust-lang/crates.io-index"
127−checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
157+checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
128158
129159[[package]]
130160name = "proc-macro-error"
@@ -152,18 +182,18 @@ dependencies = [
152182
153183[[package]]
154184name = "proc-macro2"
155−version = "1.0.27"
185+version = "1.0.36"
156186source = "registry+https://github.com/rust-lang/crates.io-index"
157−checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
187+checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
158188dependencies = [
159189 "unicode-xid",
160190]
161191
162192[[package]]
163193name = "quote"
164−version = "1.0.9"
194+version = "1.0.14"
165195source = "registry+https://github.com/rust-lang/crates.io-index"
166−checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
196+checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
167197dependencies = [
168198 "proc-macro2",
169199]
@@ -185,6 +215,44 @@ version = "0.6.25"
185215source = "registry+https://github.com/rust-lang/crates.io-index"
186216checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
187217
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+
188256[[package]]
189257name = "strsim"
190258version = "0.8.0"
@@ -217,9 +285,9 @@ dependencies = [
217285
218286[[package]]
219287name = "syn"
220−version = "1.0.73"
288+version = "1.0.85"
221289source = "registry+https://github.com/rust-lang/crates.io-index"
222−checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
290+checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7"
223291dependencies = [
224292 "proc-macro2",
225293 "quote",
@@ -261,9 +329,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
261329
262330[[package]]
263331name = "version_check"
264−version = "0.9.3"
332+version = "0.9.4"
265333source = "registry+https://github.com/rust-lang/crates.io-index"
266−checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
334+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
267335
268336[[package]]
269337name = "winapi"
@@ -286,3 +354,12 @@ name = "winapi-x86_64-pc-windows-gnu"
286354version = "0.4.0"
287355source = "registry+https://github.com/rust-lang/crates.io-index"
288356checksum = "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,4 +9,6 @@ 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"
1214structopt = "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
15+ ghc-options: -Wall -threaded
1616 hs-source-dirs: src
1717 main-is: Main.hs
1818 default-language: Haskell2010
etc/commenter/latest-version/src/Main.hs+17−7
@@ -9,10 +9,20 @@ import System.Environment
99import qualified Data.Map as Map
1010
1111main :: IO ()
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
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
etc/commenter/latest-version/stack.yaml.locknew file+13
@@ -0,0 +1,13 @@
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+332−49
@@ -1,10 +1,13 @@
11use std::collections::{BTreeMap, BTreeSet};
2+use std::error::Error;
3+use std::fmt;
24use std::fs::File;
35use std::io::{BufRead, BufReader, LineWriter, Lines, Write};
46use std::path::Path;
57use std::process::Command;
68
79use lazy_regex::regex;
10+use serde::{Deserialize, Deserializer};
811
912pub fn clear() {
1013 handle(true, |loc, _lines| match loc {
@@ -27,8 +30,8 @@ pub fn add(lib: Vec<String>, test: Vec<String>, bench: Vec<String>) {
2730}
2831
2932enum VersionTag {
30− Manual(String),
31− Auto(String),
33+ Manual(Version),
34+ Auto(Version),
3235}
3336
3437impl VersionTag {
@@ -39,58 +42,65 @@ impl VersionTag {
3942 }
4043 }
4144
42− fn version(&self) -> &str {
45+ fn version(&self) -> &Version {
4346 match self {
44− VersionTag::Manual(s) => &s,
45− VersionTag::Auto(s) => &s,
47+ VersionTag::Manual(s) => s,
48+ VersionTag::Auto(s) => s,
4649 }
4750 }
4851}
4952
5053pub fn outdated() {
5154 let mut all: Vec<String> = vec![];
52− let disabled = handle(false, |_loc, lines| {
55+ let (versioned, disabled) = handle(false, |_loc, lines| {
5356 all.extend(lines);
5457 vec![]
5558 });
56− let mut map: BTreeMap<String, VersionTag> = BTreeMap::new();
57− for DisabledPackage { package, version } in disabled {
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();
65+ for VersionedPackage { package, version } in versioned {
5866 map.insert(package, VersionTag::Manual(version));
5967 }
60− let mut support: BTreeMap<(String, String), BTreeSet<(String, String)>> = BTreeMap::new();
68+ let mut support: BTreeMap<(Package, Version), BTreeSet<(Package, Version)>> = BTreeMap::new();
6169 for v in all.into_iter() {
6270 let caps = regex!("tried ([^ ]+)-([^,-]+),").captures(&v).unwrap();
63− let package = caps.get(1).unwrap().as_str().to_owned();
64− let version = caps.get(2).unwrap().as_str().to_owned();
71+ let package = Package(caps.get(1).unwrap().as_str().to_owned());
72+ let version = Version(caps.get(2).unwrap().as_str().to_owned());
6573 map.insert(package.clone(), VersionTag::Auto(version.clone()));
6674
6775 if let Some(caps) = regex!("does not support: ([^ ]+)-([^-]+)").captures(&v) {
68− let dep_package = caps.get(1).unwrap().as_str().to_owned();
69− let dep_version = caps.get(2).unwrap().as_str().to_owned();
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());
7078 let entry = support.entry((dep_package, dep_version)).or_default();
7179 entry.insert((package, version));
7280 }
7381 }
7482
75− let entries = map.len() + support.len();
76− let mut i = 0;
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+ };
7793
7894 for (package, version) in map {
7995 if is_boot(&package) {
8096 continue;
8197 }
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);
98+ let latest = latest_versions.get(&package).unwrap();
8799 if version.version() != latest {
88100 println!(
89− "{} mismatch, {}: {}, hackage: {}",
90− package,
91− version.tag(),
92− version.version(),
93− latest
101+ "{package} mismatch, {tag}: {version}, hackage: {latest}",
102+ tag = version.tag(),
103+ version = version.version(),
94104 );
95105 }
96106 }
@@ -100,35 +110,30 @@ pub fn outdated() {
100110 continue;
101111 }
102112
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 {
113+ let latest = latest_versions.get(&package).unwrap();
114+ if &version != latest {
109115 let max = 3;
110− let dependents_stripped = dependents.len().checked_sub(max).unwrap_or(0);
116+ let dependents_stripped = dependents.len().saturating_sub(max);
111117 let dependents = dependents
112118 .into_iter()
113119 .take(max)
114− .map(|(p, v)| format!("{}-{}", p, v))
120+ .map(|(p, v)| format!("{p}-{v}"))
115121 .collect::<Vec<String>>()
116122 .join(", ");
117123 let dependents = if dependents_stripped > 0 {
118− format!("{} and {} more", dependents, dependents_stripped)
124+ format!("{dependents} and {dependents_stripped} more")
119125 } else {
120126 dependents
121127 };
122128
123129 println!(
124− "{} mismatch, snapshot: {}, hackage: {}, dependents: {}",
125− package, version, latest, dependents,
130+ "{package} mismatch, snapshot: {version}, hackage: {latest}, dependents: {dependents}"
126131 );
127132 }
128133 }
129134}
130135
131−fn is_boot(package: &str) -> bool {
136+fn is_boot(package: &Package) -> bool {
132137 [
133138 "Cabal",
134139 "base",
@@ -139,9 +144,11 @@ fn is_boot(package: &str) -> bool {
139144 "filepath",
140145 "deepseq",
141146 "ghc",
147+ "ghc-bignum",
142148 "ghc-boot",
143149 "ghc-boot-th",
144150 "ghc-prim",
151+ "ghc-lib-parser", // not a boot lib, but tied to the GHC version.
145152 "integer-gmp",
146153 "process",
147154 "stm",
@@ -149,20 +156,26 @@ fn is_boot(package: &str) -> bool {
149156 "text",
150157 "time",
151158 ]
152− .contains(&package)
159+ .contains(&&*package.0)
153160}
154161
155−fn latest_version(pkg: &str) -> String {
162+fn latest_version(packages: impl Iterator<Item = Package>) -> BTreeMap<Package, Version> {
156163 String::from_utf8(
157164 Command::new("latest-version")
158− .args([pkg])
165+ .args(packages.map(|p| p.0))
159166 .output()
160− .unwrap()
167+ .expect("Could not find latest-version in PATH")
161168 .stdout,
162169 )
163170 .unwrap()
164171 .trim()
165172 .to_owned()
173+ .lines()
174+ .map(|s| {
175+ let VersionedPackage { package, version } = parse_versioned_package_canonical(s).unwrap();
176+ (package, version)
177+ })
178+ .collect()
166179}
167180
168181enum State {
@@ -175,33 +188,68 @@ enum State {
175188 Done,
176189}
177190
191+#[derive(PartialEq, Eq, Debug)]
192+struct 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+ }
205+}
206+
207+fn parse_versioned_package_yaml(s: &str) -> Option<VersionedPackage> {
208+ 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());
211+ Some(VersionedPackage { package, version })
212+ } 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());
215+ Some(VersionedPackage { package, version })
216+ } else {
217+ None
218+ }
219+}
220+
178221struct DisabledPackage {
179222 package: String,
180− version: String,
181223}
182224
183225fn parse_disabled_package(s: &str) -> Option<DisabledPackage> {
184− if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *([\d.]+)"#).captures(s) {
185− let package = caps.get(1).unwrap().as_str().to_owned();
186− let version = caps.get(2).unwrap().as_str().to_owned();
187− Some(DisabledPackage { package, version })
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+ }
188233 } else {
189234 None
190235 }
191236}
192237
193−fn handle<F>(write: bool, mut f: F) -> Vec<DisabledPackage>
238+fn handle<F>(write: bool, mut f: F) -> (Vec<VersionedPackage>, Vec<DisabledPackage>)
194239where
195240 F: FnMut(Location, Vec<String>) -> Vec<String>,
196241{
197242 let path = "build-constraints.yaml";
198243 let mut new_lines: Vec<String> = vec![];
244+ let mut versioned_packages: Vec<VersionedPackage> = vec![];
199245 let mut disabled_packages: Vec<DisabledPackage> = vec![];
200246
201247 let mut state = State::LookingForLibBounds;
202248 let mut buf = vec![];
203249 for line in read_lines(path).map(|s| s.unwrap()) {
204− if let Some(disabled_package) = parse_disabled_package(&line) {
250+ if let Some(versioned_package) = parse_versioned_package_yaml(&line) {
251+ versioned_packages.push(versioned_package);
252+ } else if let Some(disabled_package) = parse_disabled_package(&line) {
205253 disabled_packages.push(disabled_package);
206254 }
207255
@@ -273,7 +321,7 @@ where
273321 file.flush().unwrap();
274322 }
275323
276− disabled_packages
324+ (versioned_packages, disabled_packages)
277325}
278326
279327enum Location {
@@ -289,3 +337,238 @@ where
289337 let file = File::open(filename).unwrap();
290338 BufReader::new(file).lines()
291339}
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+11−20
@@ -19,28 +19,24 @@ enum Header {
1919 about = "Automates generation of bounds in build-constraints.yaml"
2020)]
2121enum Opt {
22− Clear,
2322 Add,
23+ Clear,
24+ DiffSnapshot { a: String, b: String },
25+ Disabled,
2426 Outdated,
2527}
2628
2729fn main() {
2830 let opt = Opt::from_args();
2931 match opt {
30− Opt::Clear => clear(),
3132 Opt::Add => add(),
32− Opt::Outdated => outdated(),
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(),
3337 }
3438}
3539
36−fn clear() {
37− commenter::clear();
38−}
39−
40−fn outdated() {
41− commenter::outdated();
42−}
43−
4440fn add() {
4541 let mut lib_exes: H = Default::default();
4642 let mut tests: H = Default::default();
@@ -64,7 +60,7 @@ fn add() {
6460 } else if line == "curator: Snapshot dependency graph contains errors:" {
6561 process_line = true;
6662 } else if !process_line {
67− println!("[INFO] {}", line);
63+ println!("[INFO] {line}");
6864 } else if let Some(cap) = package.captures(&line) {
6965 let root = last_header.clone().unwrap();
7066 let package = cap.name("package").unwrap().as_str();
@@ -100,7 +96,7 @@ fn add() {
10096 for (header, packages) in lib_exes {
10197 for (package, version, component) in packages {
10298 let s = printer(" ", &package, true, &version, &component, &header);
103− println!("{}", s);
99+ println!("{s}");
104100 auto_lib_exes.push(s);
105101 }
106102 }
@@ -111,7 +107,7 @@ fn add() {
111107 for (header, packages) in tests {
112108 for (package, version, component) in packages {
113109 let s = printer(" ", &package, false, &version, &component, &header);
114− println!("{}", s);
110+ println!("{s}");
115111 auto_tests.push(s);
116112 }
117113 }
@@ -122,7 +118,7 @@ fn add() {
122118 for (header, packages) in benches {
123119 for (package, version, component) in packages {
124120 let s = printer(" ", &package, false, &version, &component, &header);
125− println!("{}", s);
121+ println!("{s}");
126122 auto_benches.push(s);
127123 }
128124 }
@@ -148,11 +144,6 @@ fn printer(
148144 let lt0 = if lt0 { " < 0" } else { "" };
149145 format!(
150146 "{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,
156147 cause = match header {
157148 Header::Versioned { package, version } => format!(
158149 "does not support: {package}-{version}",