Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Initial GHC 9.2 bounds #6318

Merged
merged 18 commits into from
Mar 18, 2022
Merged

Initial GHC 9.2 bounds #6318

merged 18 commits into from
Mar 18, 2022

Conversation

bergmark
Copy link
Member

@bergmark bergmark commented Nov 19, 2021

I'm filing this pre-emptively to keep track of our GHC 9.2 status.

We have not planned a date for the nightly upgrade to GHC 9.2 yet

As usual when there is a major GHC upgrade of stackage nightly, we need to disable packages that don't support the GHC version. This may happen transitively if your package depends on another package that doesn't have GHC 9.2 support. We also drop most other upper bounds since new releases are usually needed for the new GHC.

As a maintainer there is unfortunately no way to get a quick overview of all your packages, but you can do something like this:

  1. Find your maintainer section and note the packages that you maintain
  2. Grep/search the file for any mentions of those package names
  • If a package has a < 0 constraint or is commented out under the packages: section, that means it is no longer part of the nightly build.
  • If it is present in one of the other sections such as expected-test-failures or skipped-benchmarks, that means we do not fully test the package.
  • There's a comment indicating why a component has been disabled

For testing packages against GHC 9.2, you can set resolver: ghc-9.2 in your stack.yaml or use cabal -w ghc-9.2.1.

If you have questions about this process, feel free to ask here. If you have questions about the status of a specific package, I think it's better to file a new issue.

There is no need to let us know if a package has been updated. This process is (semi) automated and any updates will be reflected here once we re-run it.

N.B.: We do not compile packages to generate this list, so compilation/test failures will not show up here

build-constraints.yaml Outdated Show resolved Hide resolved
build-constraints.yaml Outdated Show resolved Hide resolved
build-constraints.yaml Outdated Show resolved Hide resolved
- hpqtypes < 0 # tried hpqtypes-1.9.2.1, but its *library* does not support: aeson-2.0.2.0
- hpqtypes-extras < 0 # tried hpqtypes-extras-1.13.0.0, but its *library* does not support: semigroups-0.20
- hs-tags < 0 # tried hs-tags-0.1.5.2, but its *executable* does not support: base-4.16.0.0
- hs-tags < 0 # tried hs-tags-0.1.5.2, but its *executable* does not support: ghc-9.2.1
Copy link
Contributor

Choose a reason for hiding this comment

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

build-constraints.yaml Outdated Show resolved Hide resolved
build-constraints.yaml Outdated Show resolved Hide resolved
@qrilka
Copy link
Contributor

qrilka commented Nov 21, 2021

xeno is broken with GHC9.2 - ocramz/xeno#53

liskin added a commit to xmonad/xmonad-extras that referenced this pull request Nov 22, 2021
@bergmark
Copy link
Member Author

bergmark commented Nov 28, 2021

Here are the top disabled packages with the number of direct dependents. Due to how the automation works around this, the numbers are lower bounds on the total. Thee numbers are not only for GHC 9.2 as packages are disabled for other reasons as well.

$ rg 'disabled package' build-constraints.yaml | sd -p '^.+disabled package: (.+)$' '$1' | sort | uniq -c | sort -r | head -n 25
# revdeps package PR
96 amazonka-core N/A
59 memory vincenthz/hs-memory#87
47 hedgehog hedgehogqa/haskell-hedgehog#436, hedgehogqa/haskell-hedgehog#439
33 persistent yesodweb/persistent#1335, yesodweb/persistent#1338
27 path N/A
23 servant haskell-servant/servant#1482
23 http-client-tls N/A
19 tasty-hedgehog via hedgehog hedgehogqa/haskell-hedgehog#436
17 servant-server haskell-servant/servant#1482
16 http-conduit N/A
16 foldl N/A
13 hw-prim N/A
13 hw-hspec-hedgehog N/A
13 hlint ndmitchell/hlint#1247
12 yesod-core N/A
12 warp via memory
12 tls via memory
12 shakespeare N/A
12 gi-gdk
11 tasty-hspec
11 rerebase
11 hw-bits
11 http-media
10 haskell-src-meta
9 servant-client

@bergmark
Copy link
Member Author

I made a more proper solution to count how many transitive dependents are disabled:

memory is disabled with 276 dependents
gogol-core is disabled with 96 dependents
amazonka-core is disabled with 96 dependents
http-client-tls is disabled with 65 dependents
persistent is disabled with 41 dependents
x509 is disabled with 26 dependents
tls is disabled with 26 dependents
servant is disabled with 25 dependents
http-conduit is disabled with 22 dependents
yesod-core is disabled with 16 dependents
cryptonite is disabled with 15 dependents
streaming-bytestring is disabled with 14 dependents
hw-prim is disabled with 13 dependents
warp is disabled with 12 dependents
th-data-compat is disabled with 12 dependents
servant-server is disabled with 12 dependents
llvm-hs is disabled with 12 dependents
email-validate is disabled with 12 dependents
cryptohash is disabled with 12 dependents
securemem is disabled with 11 dependents
hw-bits is disabled with 11 dependents
stringable is disabled with 10 dependents

# for compilation failures as we need to build those packages to
# verify if they have been fixeq.
"Library and exe bounds failures":
- ALUT < 0 # tried ALUT-2.4.0.3, but its *library* requires the disabled package: OpenAL
- Agda < 0 # tried Agda-2.6.2.1, but its *library* does not support: bytestring-0.11.3.0
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like we need to release Agda again:

- hopenpgp-tools < 0 # tried hopenpgp-tools-0.23.6, but its *executable* requires the disabled package: ixset-typed
- hpack < 0 # tried hpack-0.34.6, but its *library* does not support: Cabal-3.6.0.0
Copy link
Contributor

Choose a reason for hiding this comment

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

@bergmark
Copy link
Member Author

We're moving ahead with this. We'll file a report for disabled packages once the build has completed.

@bergmark bergmark merged commit 501788a into master Mar 18, 2022
@bergmark bergmark deleted the ghc-9.2 branch March 18, 2022 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants