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
merged 2 commits into from Sep 15, 2019

Conversation

jluttine
Copy link
Member

@jluttine jluttine 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: https://www.youtube.com/watch?v=KLhkAEk8I20

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 CONTRIBUTING.md.
Notify maintainers

I don't know who they are.

@jluttine
Copy link
Member Author

Just for reference, the successful build output paths are:

/nix/store/xd2rwzva4f4sx3d33c7hyln808vx6q5h-massiv-0.4.1.0
/nix/store/vzlx5cd1q2r9lvizd0wm4xbyml4mnldd-massiv-io-0.1.6.0
/nix/store/pb14bxx0xsi0am3p8ib7w55il44i5m82-massiv-test-0.1.0

Copy link
Member

@cdepillabout cdepillabout left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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:
  /nix/store/b4hmydlnq3i1x0i4vw2h7qcrmnpkvdcq-scheduler-1.4.2.drv
  /nix/store/f4y46i2jma944mq82nym1w4wzqwr51fr-massiv-0.4.1.0.drv
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)

@cdepillabout
Copy link
Member

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
Copy link
Member Author

@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
Member

@cdepillabout cdepillabout left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants