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

Upload clash-lib, clash-ghc, clash-prelude-hedgehog to Stackage (both nightly and lts) #2697

Open
evan0greenup opened this issue Mar 14, 2024 · 8 comments

Comments

@evan0greenup
Copy link

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.

@DigitalBrains1
Copy link
Member

DigitalBrains1 commented Mar 14, 2024

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 #2665 (comment) .

@DigitalBrains1
Copy link
Member

(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.)

@christiaanb
Copy link
Member

christiaanb commented Mar 14, 2024

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.

@DigitalBrains1
Copy link
Member

DigitalBrains1 commented Mar 14, 2024

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.

@christiaanb
Copy link
Member

christiaanb commented Mar 14, 2024

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

@DigitalBrains1
Copy link
Member

DigitalBrains1 commented Mar 14, 2024

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]

@christiaanb
Copy link
Member

I am not aware of any processes to get a "new" package into a minor version bump of a stackage LTS.

@DigitalBrains1
Copy link
Member

commercialhaskell/stackage#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.

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

3 participants