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

process-1.6.19.0: relax upper bound of dependency on base #317

Open
mpilgrem opened this issue Jun 20, 2024 · 5 comments
Open

process-1.6.19.0: relax upper bound of dependency on base #317

mpilgrem opened this issue Jun 20, 2024 · 5 comments

Comments

@mpilgrem
Copy link

process-1.6.19.0 is a boot package of GHC 9.10.1 which is tied to base-4.20.0.0. However, the Cabal file for process on Hackage specifies base < 4.20.

I have been tryng to build Stack with GHC 9.10.1. It compiles with process-1.6.19.0 if the upper bound of that package's dependency on base is ignored.

@tomjaguarpaw
Copy link
Member

If you're getting it from Hackage anyway, would process-1.6.20.0 not be good enough? It supports base < 4.21

https://hackage.haskell.org/package/process-1.6.20.0

@mpilgrem
Copy link
Author

@tomjaguarpaw, you can build with process-1.6.20.0 but that is a different build plan than the one promised by a snapshot that specifies GHC 9.10.1 and (by implication) the boot packages that come with GHC 9.10.1.

@tomjaguarpaw
Copy link
Member

That's interesting. Does Stack check bounds for boot libraries that come with GHC? Cabal (seemingly) doesn't. See: #316 (comment)

@mpilgrem
Copy link
Author

mpilgrem commented Jun 21, 2024

It is a little complicated. If you specify a GHC boot package as an extra-dep then you have to specify also any boot package dependencies as an extra-dep. If you specify a boot package as an extra-dep, Stack effectively gets its Cabal file from Hackage.

Normally, you don't have to specify a GHC boot package as an extra-dep. That is because, normally, a Stackage snapshot does not specify any GHC boot packages directly. They get 'included' only because specifying a GHC version brings with it all of that version's boot packages.

Recently, however the Stackage project has been issuing mis-specified (from my perspective) nightly snapshots that specify Cabal directly. Which means that if you override the compiler in those snapshots (I was overrding GHC 9.8.2 with GHC 9.10.1), you also have to specify the intended Cabal version as an extra-dep - and that leads to other boot packages needing to be specified as extra-deps.

@tomjaguarpaw
Copy link
Member

Interesting. In any case, this should do what you want: https://hackage.haskell.org/package/process-1.6.19.0/revisions/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants