-
-
Notifications
You must be signed in to change notification settings - Fork 389
nix: no more yolo on ghc 9.4; test suites generally work! #3373
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
Conversation
how does that even happen?! There are no mentions of |
Ohhhh. Gross. It's nixpkgs.
|
Yeah the build was jacked before I touched it, that explains a lot 😇 Explanation of the eldritch nix horrors that have been invoked here: what happens when you override boot packages is "you can't". So you can't override cabal to be newer without forcing the package set to be inconsistent and have multiple versions of the same package wind up in a package database and cause build failures. That is just what happens if you override a boot package. Nix/cabal goes all zalgo-text on you :( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes to the cabal plugin look good to me!
Hmm, the Nix CI jobs are still failing, would you expect them to succeed? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great.
Note for the future: it is possible to change the YOLO thing so the jailbreak
and doCheck
are only added if the package is broken
. This improves a lot the caching.
nope, they were broken before i changed anything |
this is actually done already in flake.nix :) so the yolo is unnecessary |
I believe that this doesn't make the CI state any worse, as far as I can tell. So it should be mergeable, with further CI fixes as future work. |
Aah, no, the benchmark build gets silly bounds problems since cabal-syntax and cabal have to be the same version, and cabal syntax 3.8 allows building on old ghc even though this causes this problem. |
I am not sure how to inject an extra constraint into the Cabal 3.6 cabal file. So I'm not sure how to fix this benchmark. Does anyone have any ideas? |
@lf- Try removing Cabal from build-depends. |
yep you're right @cydparser. Going to see if this fixes the older CI as well. |
Let's see if we can get #3383 in, then? |
Is this still valuable to have? |
I think yes because it would utilize nixpkgs binary caches better to not disable all test suites. I'm not sure if I'll get around to rebase super soon. |
@fendor, these changes should already be in master: https://github.com/haskell/haskell-language-server/pull/3503/commits |
I'm assuming this is stale, please reopen if not. |
I tried using HLS again in one of my projects and found that the nix packaging
isn't possible to use with other projects due to overriding mkDerivation
and causing world-rebuilds. (work vendored most of the HLS flake
because of this but I want to actually fix it upstream)
It turns out that the GHC 9.4 set is stable enough to remove the yolo anyway.
I've also added an overlay attribute that uses the nixpkgs set without
the other overrides to mkDerivation, for use as an overlay in other flakes.