clash-compiler
clash-compiler copied to clipboard
Upload `clash-lib`, `clash-ghc`, `clash-prelude-hedgehog` to Stackage (both nightly and lts)
clash-prelude
is currently included in Stackage.
It would be nice to add those packages above into Stackage as well to make stack.yml
without any extra-deps
fields.
Thanks for taking the time to file an issue!
We are painfully aware of this issue. Unfortunately, fixing it is impossible: a bug in Cabal prevents building Clash in Stack for GHC's 9.6 and newer. The bug has been fixed, but the fix has not made GHC 9.8.2 in time, so we're hoping it will be included in GHC 9.8.3 in the future so we can re-enter Stackage nightly.
For more information, see for instance https://github.com/clash-lang/clash-compiler/pull/2665#issuecomment-1939044550 .
(Of course the issue is still valid and should remain open even though we can do nothing more towards the resolution. I made an error in judgement when I closed this. Time to grab another coffee.)
That's not the reason we're not included in stackage-nightly, it's because clash-lib
has a dependency on the officially unmaintained docopts-hs
. clash-lib
could be included again once we take over maintership of docopts-hs
or drop it as a dependency.
docopt
has been in Stackage since nightly-2024-03-08
, as Martijn and I are now the maintainers. But we thought we could not upload Clash because of the Cabal bug. Now when I'm looking at it again, that workaround is only needed for clash-cores
and clash-cosim
? So we can just go on Stackage nightly?
I don't know what the process is for getting back into an LTS.
~~You make a PR that uncomments these lines: https://github.com/commercialhaskell/stackage/blob/8224a55ad30685f47ec8c7fd5b9e5745b83110b5/build-constraints.yaml#L2517-L2518~~
After it's been added to nightly, you wait until the next major version bump of the LTS
I know the process for getting on Stackage: you make a PR on master
adding/uncommenting the packages. Sure. That's not the problem. I said for getting back into an LTS. My guess is going to be that is not by doing a PR on master
.
[edit] That still doesn't answer the question. @evan0greenup explicitly said both nightly and lts. And I know that it is indeed possible in principle to get into an already released LTS as I think they are deliberately asking for. I just don't know the process and whether we would even qualify. [/edit]
I am not aware of any processes to get a "new" package into a minor version bump of a stackage LTS.
https://github.com/commercialhaskell/stackage/pull/7346 \o/
Woohoo! 🚀
The usual flow for Stackage is that you add/re-add your package to the nightly
, and when a new LTS is released, that is where your package will be available (again). I do believe I've heard about an alternative flow where you get into the current LTS, but I couldn't find instructions and I don't know what requirements there are for that flow. @evan0greenup, if you do know and also think Clash would qualify, by all means please elucidate me :-D. It would be nice to be in LTS 22.