You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When we use set notation in the tested-with field in package.yaml, the field is copied to the .cabal file, but the cabal-version is not set to >= 3.0 as needed. This results in the following error when we try to cabal build using the generated cabal file:
unexpected version set syntax used. To use this syntax the package needs to specify at least 'cabal-version: 3.0'. Alternatively, if broader compatibility is important then use a series of single version constraints joined with the || operator: ==8.6.3 || ==8.4.4 || ==8.2.2 || ==8.0.2 || ==7.10.3 || ==7.8.4 || ==7.6.3 || ==7.4.2
20 | tested-with:
21 | GHC == { 8.6.3, 8.4.4, 8.2.2, 8.0.2, 7.10.3, 7.8.4, 7.6.3, 7.4.2 }
| ^ ^
The text was updated successfully, but these errors were encountered:
Regarding (1), should hpack accept something like:
tested-with:
GHC:
- 8.6.3
- 8.4.4
- ...
Regarding (2), we could still always render this as tested-with: GHC == 8.6.3, GHC == 8.4.4, ... for maximum compatibility. Or is there a reason not to?
Finally, for your original request, when tested-with is given as a string, then I'm not eager to look at it and pass it through transparently. In that case it would be the responsibility of the user to adjust the cabal-version as needed.
Regarding (1), that seems reasonable to me to accept. Regarding (2), that also seems like a reasonable way to render it. It also makes sense to just pass through tested-with transparently when it's passed as a string.
Also, as I think about it more, I think the current option of writing
tested-with:
- GHC == 8.6.3
- GHC == 8.4.4
- ...
seems like an acceptable workaround (though a little less aesthetically pleasing).
Cabal >= 3.0 allows set notation in the
tested-with
field, such astested-with: GHC == { 8.6.3, 8.4.4, 8.2.2, 8.0.2, 7.10.3, 7.8.4, 7.6.3, 7.4.2 }
When we use set notation in the
tested-with
field in package.yaml, the field is copied to the .cabal file, but the cabal-version is not set to >= 3.0 as needed. This results in the following error when we try tocabal build
using the generated cabal file:The text was updated successfully, but these errors were encountered: