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

buildFHSEnv: allow specifying executableName explicitly #371770

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

MattSturgeon
Copy link
Contributor

@MattSturgeon MattSturgeon commented Jan 7, 2025

Motivated by https://github.com/NixOS/nixpkgs/pull/369259/files#r1902238426, allows packages to specify a different exe name & pname.

Also simplified some logic with the name fallback, making it clearer what function args are available.

Tested with:

nix-build -A tests.buildFHSEnv

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release 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.

Add a 👍 reaction to pull requests you find important.

@MattSturgeon

This comment has been minimized.

Copy link

@S-K-Tiger S-K-Tiger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still learning the language but wouldn't the changes cause a error when either pname or version is not provided rather than only when missing both as the error message seems to indicate is intended?

  pname ? throw "You must provide either `name` or `pname`",
  version ? throw "You must provide either `name` or `version`",

@MattSturgeon
Copy link
Contributor Author

MattSturgeon commented Jan 7, 2025

I'm still learning the language but wouldn't the changes cause a error when either pname or version is not provided rather than only when missing both as the error message seems to indicate is intended?

  pname ? throw "You must provide either `name` or `pname`",
  version ? throw "You must provide either `name` or `version`",

If they are accessed directly, yes. However they are only accessed via name's fallback value, so they only get evaluated if name's fallback value is evaluated. I.e. if name isn't specified.

I'll add a note to make this explicit.

@MattSturgeon
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 371770


x86_64-linux

✅ 1 package built:
  • nixpkgs-manual

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Jan 7, 2025
@wegank wegank removed the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Jan 8, 2025
Copy link
Member

@UlyssesZh UlyssesZh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also something I wanted to do. Thank you.

@MattSturgeon MattSturgeon added the 12.approvals: 2 This PR was reviewed and approved by two reputable people label Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 1-10 10.rebuild-linux: 1-10 12.approvals: 2 This PR was reviewed and approved by two reputable people
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants