-
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
Look up sublibraries also with nonexact deps #8089
Conversation
There's no harm in a backport. About the actual release, perhaps let's wait and see if we need a release anyway, e.g., for patches that are necessary in GHC 9.4, and if we are able to pull off 3.8 or rather give up and release 3.6 again. |
this is weird. maybe it's a caching problem? |
Ok, that's definitely a caching problem, since the same pr in my fork succeeds. Travis had a useful "clear cache and rerun" button, but it looks like flushing the cache is impossible in github: actions/cache#2 |
@Mergifyio rebase master |
✅ Branch has been successfully rebased |
e905400
to
0cdca20
Compare
The test that checks that experimental warnings are deduplicated relies on the warning I just removed... I could just remove that test or I could also remove |
IMHO, go for it. |
When Cabal is passed --exact-configuration, it knows from --dependency flags the ids of all dependencies, including sublibraries. When this flag does not exists though, Cabal tries to locate them by looking them up in the package databases. lookupDependency was used for this, but it only looks up main (unnamed) libraries (LMainLibName), so Cabal was failing to locate installed public sublibraries. Using lookupInternalDependency and passing the library name fixes this. Fixes haskell#7270
Same for "visibility is experimental feature" With haskell#7270 fixed, it's time to allow hackage uploads. PWTExperimental is not used anymore, but for now I'm keeping it in case we add other experimental features in the future, so we don't keep removing and adding it (pushing CPP on users). Since it isn't used though there is no way to run cabal-testsuite/PackageTests/DuplicateExperimental so I'm just removing that test. Closes haskell#6801
This is ready for review. I checked other lookupDependency uses and they are mostly fine, I'll leve the deprecation for another pr |
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.
So the whole epic bug was not updating a single use of lookupDependency
to lookupInternalDependency
?
Yes 😔 |
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.
Nice fix ;)
Two approvals in. I am merging this one while everybody sleeps. |
Fixes #7270 🎉
Closes #6801
Closes #7286
Would it be possible/worthwhile to do a 3.6 patch release with this, considering that this is blocking hackage upload for the "multiple public libraries" feature?
Please include the following checklist in your PR:
Please also shortly describe how you tested your change. Bonus points for added tests!