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:
NixOS:haskell-updates
← jesseDMoore1994:patat
opened 08:00PM - 05 Nov 22 UTC
###### Description of changes
I can build and execute `./result/bin/patat` wi… th a slide deck despite it being marked broken.
###### Things done
- Built on platform(s)
- [x] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [x] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [22.11 Release Notes (or backporting 22.05 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2211-release-notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] (Release notes changes) Ran `nixos/doc/manual/md-to-db.sh` to update generated release notes
- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
-->
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): https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+label%3A"6.topic%3A+haskell"+is%3Aclosed
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
NixOS:haskell-updates
← thomas-huegel:haskell-updates
opened 09:01AM - 21 Nov 22 UTC
###### Description of changes
<!--
For package updates please link to a chan… gelog or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
###### Things done
- Built on platform(s)
- [x] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [22.11 Release Notes (or backporting 22.05 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2211-release-notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] (Release notes changes) Ran `nixos/doc/manual/md-to-db.sh` to update generated release notes
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
-->
which was cherry-picked into
NixOS:master
← NixOS:haskell-updates
opened 08:34AM - 20 Nov 22 UTC
### This Merge
This PR is the regular merge of the `haskell-updates` branch i… nto `master`.
This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at [cdepillabout/nix-haskell-updates-status](https://github.com/cdepillabout/nix-haskell-updates-status).
We roughly aim to merge these `haskell-updates` PRs at least once every two weeks. See the @NixOS/haskell [team calendar](https://cloud.maralorn.de/apps/calendar/p/H6migHmKX7xHoTFa) for who is currently in charge of this branch.
### haskellPackages Workflow Summary
Our workflow is currently described in [`pkgs/development/haskell-modules/HACKING.md`](https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md).
The short version is this:
* We regularly update the Stackage and Hackage pins on `haskell-updates` (normally at the beginning of a merge window).
* The community fixes builds of Haskell packages on that branch.
* We aim at at least one merge of `haskell-updates` into `master` every two weeks.
* We only do the merge if the [`mergeable`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/mergeable) job is succeeding on hydra.
* If a [`maintained`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/maintained) package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)
---
This is the follow-up to #200740. Come to [#haskell:nixos.org](https://matrix.to/#/#haskell:nixos.org) if you have any questions.
Note that this iteration may take longer than usual since it'll entail a switch of stackage (LTS) resolver as well as a major GHC update.
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.