-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
Conversation
Sorry, created new PR because previous had many commits. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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 ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I will keep it in mind for the future.
I've confirmed that this builds, so I'll merge in when CI finishes. @cptrodolfox Thanks! This should be available in |
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
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @