-
Couldn't load subscription status.
- Fork 76
Open
Description
Initial discussion in a thread starting here: haskell-hvr/regex-tdfa#54 (comment)
I am trying to solve the following problem:
- Set up a
constraint-setto test forbytestring-0.12for some newer GHCs. - I need
allow-newer: bytestringas some of my dependencies do not allowbytestring-0.12yet. - Some dependencies (e.g.
xor) will fail to configure on older GHCs if they are bound to the installedbytestring. - However, some (e.g.
xor) will also fail to build if their upper bound is loosened.
For example, looking at the following CI configuration:
installed: +all -mtl -transformers -unix -process -directory
-- adding -bytestring here gives build failure for xor on GHC 7.6,
-- since `allow-newer` below allows for a too new `bytestring`
-- not adding -bytestring here gives configuration failure for xor on GHC 7.6
constraint-set bytestring-0.12
ghc: >= 8.2 && < 9.5
constraints: bytestring ^>= 0.12.0.0
tests: True
run-tests: True
raw-project
allow-newer: bytestring
- If I have a global
allow-newer: bytestring, on GHC 7.6xorfails to build: https://github.com/haskell-hvr/http-io-streams/actions/runs/5597341206/jobs/10235561064?pr=12#step:17:197 - If I restrict to the installed
bytestring, on GHC 7.6xorfails to configure: https://github.com/haskell-hvr/http-io-streams/actions/runs/5600301654/jobs/10242494046?pr=12#step:15:27
The principled solution would be to have a allow-newer that is scoped by a constraint-set rather than action globally via raw-project.
Metadata
Metadata
Assignees
Labels
No labels