Skip to content

stdenv: conservative undefined dynamic variables#131163

Closed
happysalada wants to merge 1 commit intoNixOS:stagingfrom
happysalada:stdenv_conservative_undefined_dynamic_variables
Closed

stdenv: conservative undefined dynamic variables#131163
happysalada wants to merge 1 commit intoNixOS:stagingfrom
happysalada:stdenv_conservative_undefined_dynamic_variables

Conversation

@happysalada
Copy link
Copy Markdown
Contributor

Motivation for this change

This is part of a series of PR to bring improvements to the stdenv shell scripts.

This separates assignement and export of a dynamic variable. This appends to a dynamic variable more conservatively in case the variable is undefined.

It is more verbose and much uglier. I'm pretty sure there is a way to improve this with a named reference. This is my first pass at it.

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/)
  • 21.11 Release Notes (or backporting 21.05 Relase notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@happysalada happysalada requested a review from Ericson2314 as a code owner July 23, 2021 03:06
@happysalada happysalada mentioned this pull request Jul 23, 2021
11 tasks
@ofborg ofborg bot added 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Jul 23, 2021
@happysalada
Copy link
Copy Markdown
Contributor Author

I don't really like the use of eval here, I'm going to close this for now.

@happysalada happysalada deleted the stdenv_conservative_undefined_dynamic_variables branch September 26, 2021 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant