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

alsa-utils: fix wrapper shebang when cross-compiling #99532

merged 1 commit into from Oct 6, 2020


Copy link

@lopsided98 lopsided98 commented Oct 4, 2020

Motivation for this change

The wrapper had build bash as a shebang when cross-compiling. This can be fixed by making makeWrapper a buildInput.

Things done
  • 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 nixpkgs-review --run "nixpkgs-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

cc @Ericson2314 @AndersonTorres

Copy link

@AndersonTorres AndersonTorres commented Oct 5, 2020

I am curious. Why putting makeWrapper as a buildInput solves it? makeWrapper definitely is not to be a buildInput...

Copy link

@Ericson2314 Ericson2314 commented Oct 5, 2020


makeWrapper = makeSetupHook { deps = [ dieHook ]; substitutions = { shell = pkgs.runtimeShell; }; }

nativeBuildInputs should give you the true runtime shell, and depsBuildBuild should give you the build-time shell.

Copy link
Contributor Author

@lopsided98 lopsided98 commented Oct 5, 2020

No, runtimeShell runs on the host platform for a given package set. When makeWrapper is a nativeBuildInput, its host platform is bmon's build platform. You can verify this by evaluating pkgsCross.<platform>.buildPackages.runtimeShell.

The only way I can see to make it work as a nativeBuildInput is to use shell = pkgs.targetPackages.runtimeShell. On the other hand, that would break it if it was used as a buildInput.

This is not the first time this fix has been needed: #58305

@AndersonTorres AndersonTorres merged commit 17f578d into NixOS:master Oct 6, 2020
17 checks passed
Copy link

@Ericson2314 Ericson2314 commented Oct 6, 2020

Oh my bad, but it definitely should be shell = pkgs.targetPackages.runtimeShell.

@lopsided98 lopsided98 deleted the alsa-utils-cross branch Oct 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants