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

netcdf: prevent bogus runtime dependency on gcc #90116

Merged
merged 1 commit into from Aug 16, 2020

Conversation

purcell
Copy link
Member

@purcell purcell commented Jun 11, 2020

Motivation for this change

Installation includes the the captured compilation settings in the outputs, and the full gcc path then leads to a bogus runtime dependency. To defeat this, we remove any occurrences of the compiler's store dir path from this file after installation.

An alternative fix might be to simply remove the settings file (it does not appear to be required for anything other than as a reference for repeating the compilation). I chose this more conservative change.

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.

@purcell
Copy link
Member Author

purcell commented Jun 11, 2020

It's also possible I should be using ${targetPackages.stdenv.cc}/bin instead of ${stdenv.cc}/bin here too?

@doronbehar
Copy link
Contributor

I've had a successful PR similar to this and I did something a bit different: https://github.com/NixOS/nixpkgs/pull/89324/files

If you'll try to align with what reviewers said there if think you'll be good to go.

@purcell
Copy link
Member Author

purcell commented Jun 14, 2020

Thanks @doronbehar, that's a helpful pointer.

Installation includes the the captured compilation settings in the
outputs, and the full gcc path then leads to a bogus runtime
dependency. To defeat this, we remove any occurrences of the
compiler's store dir prefix from this file after installation.
@purcell
Copy link
Member Author

purcell commented Jun 14, 2020

That worked nicely, @doronbehar, thanks.

@purcell
Copy link
Member Author

purcell commented Jun 15, 2020

/cc recent committers @r-ryantm, @markuskowa

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/204

@purcell
Copy link
Member Author

purcell commented Aug 16, 2020

Bump. This should be safe to merge IMO.

@marsam marsam merged commit 49dc024 into NixOS:master Aug 16, 2020
@marsam
Copy link
Contributor

marsam commented Aug 16, 2020

LGTM, thanks. Please ping me if any PR gets stuck

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