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
merged 1 commit into from Oct 6, 2020

Conversation

@lopsided98
Copy link
Contributor

@lopsided98 lopsided98 commented Oct 4, 2020

Motivation for this change

The alsa-info.sh 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 CONTRIBUTING.md.

cc @Ericson2314 @AndersonTorres

@AndersonTorres
Copy link
Member

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

@Ericson2314
Copy link
Member

@Ericson2314 Ericson2314 commented Oct 5, 2020

Per

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.

@lopsided98
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
17 checks passed
tests tests
Details
action
Details
Evaluation Performance Report Evaluator Performance Report
Details
Wait for ofborg
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="fa6cdb6"; rev="fa6cdb63ab06a47c793510748470309b87ad2010"; } ./pkgs/t
Details
grahamcofborg-eval-lib-tests nix-build --arg pkgs import ./. {} ./lib/tests/release.nix
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="fa6cdb6"; rev="fa6cdb63ab06a47c793510748470309b87ad2010"; } ./nixos/
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="fa6cdb6"; rev="fa6cdb63ab06a47c793510748470309b87ad2010"; } ./nixos/
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="fa6cdb6"; rev="fa6cdb63ab06a47c793510748470309b87ad2010"; } ./nixos/
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="fa6cdb6"; rev="fa6cdb63ab06a47c793510748470309b87ad2010"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="fa6cdb6"; rev="fa6cdb63ab06a47c793510748470309b87ad2010"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="fa6cdb6"; rev="fa6cdb63ab06a47c793510748470309b87ad2010"; } ./pkgs/t
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
@Ericson2314
Copy link
Member

@Ericson2314 Ericson2314 commented Oct 6, 2020

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

@lopsided98 lopsided98 deleted the lopsided98: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
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.