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

haskellPackages.massiv: mark unbroken #68536

merged 2 commits into from Sep 15, 2019


Copy link

commented Sep 12, 2019

Motivation for this change

Haskell massiv packages were marked broken, this PR unmarks those.

I followed the instructions from the following video that was linked to from a nixos discourse discussion:

In particular, I ran on updated haskell-updates branch of nixpkgs:

nix-build '<nixpkgs>' -A haskellPackages.massiv --arg config '{ allowBroken = true; }'
nix-build '<nixpkgs>' -A haskellPackages.massiv-io --arg config '{ allowBroken = true; }'
nix-build '<nixpkgs>' -A haskellPackages.massiv-test --arg config '{ allowBroken = true; }'

All builds succeeded. So, if I understood the instructions correctly, they can be now marked as not broken. Not sure about the base branch, but I thought this should be merged to haskell-updates branch.

By the way, should those instructions on the video be added to the manual somewhere? If this is something that happens regularly when doing major updates, it might be worth to have proper written instructions how people can help fix the issues.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits
Notify maintainers

I don't know who they are.

@jluttine jluttine requested a review from basvandijk as a code owner Sep 12, 2019

@ofborg ofborg bot added the 6.topic: haskell label Sep 12, 2019


This comment has been minimized.

Copy link
Member Author

commented Sep 12, 2019

Just for reference, the successful build output paths are:

Copy link

left a comment

@jluttine Thanks for putting this PR together.

However, it looks like massiv depends on a package called scheduler, which also is currently marked broken. Could you remove scheduler from the list of broken packages, the same way you did with massiv?

In case you're wondering, I was able to figure this out when I did nix-build:

$ nix-build ./. -A haskellPackages.massiv --arg config '{ allowBroken = true; }'
these derivations will be built:
building '/nix/store/b4hmydlnq3i1x0i4vw2h7qcrmnpkvdcq-scheduler-1.4.2.drv'...

You can see that it is trying to build scheduler as well as massiv. This is a hint that scheduler is not in the nix binary caches. My guess is because it was marked broken as well. I was able to confirm this suspicion with the following command:

$ $ nix-build ./. -A haskellPackages.scheduler
error: Package ‘scheduler-1.4.2’ in ./nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix:204100 is marked as broken, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

(use '--show-trace' to show detailed location information)

This comment has been minimized.

Copy link

commented Sep 14, 2019

I've confirmed that the massiv packages marked unbroken in this PR actually do compile correctly, so after scheduler is marked unbroken as well, this PR can be merged in.

jluttine added 2 commits Sep 12, 2019

@jluttine jluttine force-pushed the jluttine:fix-haskell-massiv branch from 50701fb to 22e6c34 Sep 15, 2019


This comment has been minimized.

Copy link
Member Author

commented Sep 15, 2019

@cdepillabout Thanks for checking. Indeed, scheduler needs to be marked unbroken too. I checked this now by removing broken=true from these massiv* packages from hackage-packages.nix manually and then trying to build them without allowing building of broken packages. It complained about scheduler and after removing broken mark from that package, all these three packages started to build. Perhaps the video instructions were missing this (or I missed this step), but obviously it's important to check that none of the dependencies are broken either. Written instructions in the documentation might be a good idea.

I now unmarked scheduler being broken.

Copy link

left a comment

@jluttine Thanks for resolving this!

This looks good to merge in.

cc @peti @Infinisil

@peti peti merged commit d450fdb into NixOS:haskell-updates Sep 15, 2019

1 check failed

grahamcofborg-eval The branch this PR will merge in to does not cleanly evaluate, and so this PR cannot be checked.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
4 participants
You can’t perform that action at this time.