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

hapistrano: fix broken package #72988

Merged
merged 3 commits into from Nov 7, 2019
Merged

Conversation

@cptrodolfox
Copy link
Contributor

cptrodolfox commented Nov 7, 2019

Motivation for this change

Fix haspitrano broken package, the package was failing when building in the test phase.

Things done

Added build packages git and zsh, to the configuration-nix.nix

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • 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

cc @

William R. Arellano
@cptrodolfox

This comment has been minimized.

Copy link
Contributor Author

cptrodolfox commented Nov 7, 2019

Sorry, created new PR because previous had many commits.

Copy link
Member

cdepillabout left a comment

@cptrodolfox Thanks for sending this fix.

Aside from the one comment below, you'll also have to modify the pkgs/development/haskell-modules/configuration-hackage2nix.yaml file to mark hapistrano as non-broken.

Here's a video explaining how to do that:

https://discourse.nixos.org/t/video-tutorial-how-to-fix-broken-haskell-packages-in-nix/3968

# tests require git
hapistrano = addBuildTool super.hapistrano pkgs.buildPackages.git;
# tests require git and zsh
hapistrano = addBuildTool super.hapistrano [ pkgs.buildPackages.git pkgs.buildPackages.zsh ];

This comment has been minimized.

Copy link
@cdepillabout

cdepillabout Nov 7, 2019

Member
Suggested change
hapistrano = addBuildTool super.hapistrano [ pkgs.buildPackages.git pkgs.buildPackages.zsh ];
hapistrano = addBuildTools super.hapistrano [ pkgs.buildPackages.git pkgs.buildPackages.zsh ];

This should be addBuildTools instead of addBuildTool.

This comment has been minimized.

Copy link
@cptrodolfox

cptrodolfox Nov 7, 2019

Author Contributor

Hi @cdepillabout, thank you for the review. I have committed the requested changes. Only one question what is the functional difference between addBuildTool and addBuildTools?

This comment has been minimized.

Copy link
@cdepillabout

cdepillabout Nov 7, 2019

Member

what is the functional difference between addBuildTool and addBuildTools

addBuildTool is for adding a single build tool, while addBuildTools is for adding a list of multiple build tools.

You may have noticed that they both seem to work in this case, but that is only because stdenv.mkDerivation intelligently handles lists when put into buildTools. (If you read through the code, you should be able to see how using addBuildTools and addBuildTool eventually adds the derivations you've specified to buildTools in pkgs/development/haskell-modules/generic-builder.nix, which is using stdenv.mkDerivation under the hood).

However, we don't want to rely on this functionality. It is possible that in a refactor of pkgs/development/haskell-modules/generic-builder.nix, this stops working.

This comment has been minimized.

Copy link
@cptrodolfox

cptrodolfox Nov 7, 2019

Author Contributor

Thanks, I will keep it in mind for the future.

William R. Arellano added 2 commits Nov 7, 2019
@cdepillabout

This comment has been minimized.

Copy link
Member

cdepillabout commented Nov 7, 2019

I've confirmed that this builds, so I'll merge in when CI finishes.

@cptrodolfox Thanks! This should be available in master in a week or so when the Haskell package set is regenerated.

@cdepillabout cdepillabout merged commit 558919a into NixOS:haskell-updates Nov 7, 2019
12 checks passed
12 checks passed
Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.