-
Notifications
You must be signed in to change notification settings - Fork 697
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
cabal-install: Fix non-reinstallable package set #9092
Conversation
In haskell#9064 we discovered that `ghc-boot` was added to the non-reinstallable package set due to haskell#8051 despite there being no reason why it can't be built from its source distribution. This revealed the fact that there is quite some ambiguity around what constitutes a non-reinstallable package. In haskell#9064 we worked out a hopefully-more-clear picture of non-reinstallability. Here we update the commentary to describe this concept and update the lists to reflect the new definition. Closes haskell#9064.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Looks like CI tests specifically test for the libraries being non-upgradeable? |
, mkPackageName "integer-gmp" | ||
, mkPackageName "integer-simple" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both integer-*
packages are reinstallable now afaik.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hsyl20 Is there an authoritative source about this? I can ship this change in the PR if you have a source :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No authoritative source, sorry.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even if this were true, that's only for latest ghcs, and this package set needs to span all supported ghcs, so we can't do it regardless. If we do start doing it going forward we'll need a per-ghc-version refactor of how we manage the set.
@bgamari do you need help with this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for documenting this!
Is this blocked or can we merge? |
@gbaz I think it has been unblocked since I applied the label, so I'm removing the label now. If no one feels too strong about Perhaps we need a ticket for making the list of non-upgradable packages dependent on the compiler version? |
, Right $ exAv "ghci" 2 [] | ||
, Right $ exAv "ghc-boot" 2 [] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The source versions of ghci and ghc-boot and packages B and C should also be removed.
@Mergifyio backport 3.10 |
✅ Backports have been created
|
@grayjay damnit, sorry I missed your message :/ |
) cabal-install: Fix non-reinstallable package set In #9064 we discovered that `ghc-boot` was added to the non-reinstallable package set due to #8051 despite there being no reason why it can't be built from its source distribution. This revealed the fact that there is quite some ambiguity around what constitutes a non-reinstallable package. In #9064 we worked out a hopefully-more-clear picture of non-reinstallability. Here we update the commentary to describe this concept and update the lists to reflect the new definition. Closes #9064. (cherry picked from commit 2e32a44) # Conflicts: # cabal-install/src/Distribution/Client/Dependency.hs * Fix tests (cherry picked from commit 249374d) # Conflicts: # cabal-install/tests/UnitTests/Distribution/Solver/Modular/Solver.hs * Fix conflicts
cabal-install: Fix non-reinstallable package set (backport #9092)
In #9064 we discovered that
ghc-boot
was added to the non-reinstallable package set due to #8501 despite there being no reason why it can't be built from its source distribution. This revealed the fact that there is quite some ambiguity around what constitutes a non-reinstallable package.In #9064 we worked out a hopefully-more-clear picture of non-reinstallability. Here we update the commentary to describe this concept and update the lists to reflect the new definition.
Closes #9064.