
Hi Ben, On Mon, Apr 27, 2020 at 11:48:29AM +0200, Ben Franksen wrote:
[..] I found that 1.24 is be the only one that allows clean (warning-free) builds for all supported ghc versions. [...] there is some magic going on that switches the cabal file parser back to 1.24 for ghc-8.0, no matter whether cabal-version specifies newer.
Are we talking about GHC or Cabal warnings? If Cabal that sounds really weird. Technically speaking it isn't possible for Cabal to switch to a different parser based on the ghc version as the cabal-version specifies the grammer of the cabal file and GHC version detection happens after the cabal file has long been parsed. Can you elaborate on the type of warnings you're getting?
This is despite the fact that I am using cabal-install-3.2;
Personally I find 2.4 much more stable than 3.2, maybe this is just a cabal-install bug or something. I just checked and SPDX was introduced in [cabal-version: 2.2] so maybe you can try with that and see if you get the weird behaviour on ghc-8.0? I'd really like to get to the root of the problem here because the way Cabal format evolution works we really want people being able to use newer versions with older GHCs. [cabal-version: 2.2]: https://www.haskell.org/cabal/users-guide/file-format-changelog.html#cabal-v...
The following approach might work:
It seems hackage allows me to change the package description in a revision. So I could make a revision that adds a line or two to the package description to point out the difference between the license displayed by hackage and the one intended.
Honestly if you have appropriate GPL headers in your source files anyone who cares about the distinction between v2-only and v2-or-later will be able to tell what's going on. A comment sure couldn't hurt though. --Daniel