Hi,
I would like to get the Haskell package morpheus-graphql
as a Nix package.
But it has long been marked as broken.
However on my laptop (NixOS) it does compile with cabal
.
It may have been marked as broken due to too strict dependencies versions.
Or was it once broken, then black-listed, and never reintegrated?
error: Package ‘morpheus-graphql-core-0.20.0’ in /nix/store/m4r7hzyl4ibwbhkc8v2pkhfxq54122aq-nixos-22.05/nixos/pkgs/development/haskell-modules/hackage-packages.nix:188546 is marked as broken, refusing to evaluate.
The current version on Hackage is 0.27.0.
How could I check this, and how can I help to bring it back to a working Nix package?
Thanks!
Here’s an example of a PR marking a Haskell package unbroken:
https://github.com/NixOS/nixpkgs/pull/199758
One thing to note is that you should send the PR against the haskell-updates
branch.
You may want to look at other Haskell-related PRs to get an idea of other things you need to do to get something compiling (like jailbreaking dependencies or overriding dependency versions): Pull requests · NixOS/nixpkgs · GitHub
Feel free to post here (or on the PR you open) if you have any other questions.
We generally don’t have any automation around marking packages unbroken once they get set as broken, so we rely on people sending PRs when there is a package/library they want to use.
Thank you for your answer.
I tried a PR but the outcome is the following:
nix-env failed:
error: attribute 'hashable_1_4_1_0' missing
at /var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/mr-est/ofborg-evaluator-6/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix:112:14:
111| hackage-security = doJailbreak super.hackage-security;
112| hashable = super.hashable_1_4_1_0;
The problem appears to be that hashable
is only at 1.3.5.0 on Hydra, but here a newer version is required. However, it is not broken, not even transitively.
So,what can I do to tackle it? Downgrade the dependency in configuration-ghc-9.2.x.nix
? Otherwise, how to upgrade it in nixpkgs
?
Thanks for your help!
You ended up figuring this out in
https://github.com/NixOS/nixpkgs/pull/202163
which was cherry-picked into
https://github.com/NixOS/nixpkgs/pull/202022
right? Did you still need help with this? Or is there some question you still have?
The eval errors are an unrelated issue already present on the haskell-updates
branch you don’t need to worry about necessarily (unless you’d happen to depend on hashable ofc).
All right, my question addressed the issue with hashable
mentioned by @sternenseemann.
1 Like
Yeah, that just happened because we did a mass update recently that invalidated a bunch of manual version picks we had before, so you kind of happened to contribute at an unfortunate point in time.
Hi there,
Things go better, now a newer version appears:
error: Package ‘morpheus-graphql-core-0.26.0’ in /nix/store/m7mq10gf91rnhxq8m72f1qayriydwmfa-nixos-22.11/nixos/pkgs/development/haskell-modules/hackage-packages.nix:195790 is marked as broken, refusing to evaluate.
But it is still marked as broken.
What is the matter?
Does anything else need to be done? How could I help?
Thanks!
You yourself made the necessary contribution. It is currently part of a Haskell-related staging branch (haskell-updates
) where we are assembling haskell package and compiler updates and check for regressions. You can track the progress of the current specific iteration into NixOS channels here. Note that it may take longer than usual in this case, as a major compiler update is quite disruptive and requires a ton of work to get a handle on all regressions.