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

ghc 9.0.1 #70817

Closed
wants to merge 4 commits into from
Closed

ghc 9.0.1 #70817

wants to merge 4 commits into from

Conversation

carlocab
Copy link
Member

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

ghc 9.0 only works with cabal-install 3.4 or later [1]. However, the latest stable release of cabal-install is 3.2. I've added a ghc@8.10 formula and switched all the formulae that use it to ghc@8.10.

I omitted revision bumps where ghc@8.10 is a build-only dependency.

Closes #70475.
Closes #70591.

[1] https://www.haskell.org/ghc/download_ghc_9_0_1.html

@BrewTestBot BrewTestBot added the automerge-skip `brew pr-automerge` will skip this pull request label Feb 10, 2021
@carlocab carlocab added 11-arm64 Big Sur arm64 is specifically affected haskell Haskell use is a significant feature of the PR or issue labels Feb 10, 2021
@carlocab
Copy link
Member Author

ghc 9.0.1 doesn't suit as a replacement for ghc 8.10.4. None of the formulae that depend on ghc build with ghc 9.0.1, and ghc 9.0.1 doesn't even work with our cabal-install.

I think most users of ghc would therefore likely keep using ghc@8.10 as the primary ghc formula, so I'm reluctant to make ghc@8.10 keg-only. I've instead put appropriate conflicts_with stanzas in ghc and ghc@8.10, which can be made keg-only when ghc 9.x.y works well enough as a replacement.

Thoughts/objections, @homebrew/core?

@SMillerDev
Copy link
Member

I think we should follow our standards. Despite it being inconvenient right now, it is what users expect from homebrew. The caveats will tell users what to do.

@MikeMcQuaid
Copy link
Member

@carlocab versioned formulae should never conflict with each other. Either one or none of the versions should not be keg_only. In this case I think we have two options:

  • make ghc@8.10 keg_only :versioned as usual and upgrade ghc to 9
  • leave ghc as is and add a new keg_only :versioned ghc@9 formula that people can use until we're ready to switch over the default (this is my recommendation)

@MikeMcQuaid
Copy link
Member

versioned formulae should never conflict with each other.

we/I should probably add documentation and/or audits to ensure this is the case.

@carlocab
Copy link
Member Author

leave ghc as is and add a new keg_only :versioned ghc@9 formula that people can use until we're ready to switch over the default (this is my recommendation)

This sounds good to me. Thanks Mike.

@MikeMcQuaid
Copy link
Member

Another option for formulae like this where this becomes a repeated problem is we get rid of ghc.rb entirely in favour of ghc@8.10 and ghc@9 so we can do a gradual migration. We did this for Python and OpenSSL.

@carlocab
Copy link
Member Author

we/I should probably add documentation and/or audits to ensure this is the case.

I think there is an audit for this. There's also an allowlist, but that's practically empty at the moment. Though I guess the ideal is that it's empty, rather than almost empty.

Another option for formulae like this where this becomes a repeated problem

I'm not sure we're in repeated-problem territory yet. ghc is also more manageable than python or openssl, since it has only a few dozen dependencies, rather than a few hundred.

carlocab and others added 4 commits February 16, 2021 09:41
- remove patch
- update stdlib

Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
@carlocab
Copy link
Member Author

Only one failure on the Intel nodes: cryptol

Tested this on GitHub nodes running Catalina and Big Sur, but building with the existing ghc formula: carlocab/homebrew-personal#36

Same failure.

@carlocab
Copy link
Member Author

cryptol failure reported upstream at GaloisInc/cryptol#1083.

@carlocab
Copy link
Member Author

carlocab commented Feb 17, 2021

Upstream confirmed that the failure isn't due to the version bump. This is blocking another PR (#70750), so I'm merging this one and fixing the cryptol source build in a separate PR. cryptol should have working bottles at the moment anyway.

@BrewTestBot
Copy link
Member

:shipit: @carlocab has triggered a merge.

@carlocab carlocab deleted the ghc-9.0.1 branch February 17, 2021 15:41
This was referenced Feb 17, 2021
carlocab added a commit to carlocab/homebrew-core that referenced this pull request Feb 17, 2021
This should fix the CI failure seen in Homebrew#70817.
@carlocab carlocab mentioned this pull request Feb 17, 2021
5 tasks
BrewTestBot pushed a commit that referenced this pull request Feb 18, 2021
This should fix the CI failure seen in #70817.

Closes #71358.

Signed-off-by: rui <rui@chenrui.dev>
Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>
@BrewTestBot BrewTestBot added the outdated PR was locked due to age label Mar 20, 2021
@Homebrew Homebrew locked as resolved and limited conversation to collaborators Mar 20, 2021
@chenrui333 chenrui333 added the not merged PR was closed without being merged (and may need to be revisited) label Jun 13, 2021
@nandahkrishna nandahkrishna removed the not merged PR was closed without being merged (and may need to be revisited) label Jun 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
11-arm64 Big Sur arm64 is specifically affected automerge-skip `brew pr-automerge` will skip this pull request haskell Haskell use is a significant feature of the PR or issue outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants