Skip to content

buildRustPackage: Provide overrideAttrs#119332

Closed
talyz wants to merge 1 commit into
NixOS:masterfrom
talyz:rust-overrideattrs
Closed

buildRustPackage: Provide overrideAttrs#119332
talyz wants to merge 1 commit into
NixOS:masterfrom
talyz:rust-overrideattrs

Conversation

@talyz

@talyz talyz commented Apr 13, 2021

Copy link
Copy Markdown
Contributor
Motivation for this change

Previously, calls to overrideAttrs applied to the wrapped mkDerivation call, and overriding calls to buildRustPackage thus wasn't possible.

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.

Previously, calls to `overrideAttrs` applied to the wrapped
`mkDerivation` call, and overriding calls to `buildRustPackage` thus
wasn't possible.
@talyz talyz requested review from andir, danieldk and zowoq as code owners April 13, 2021 13:07
@github-actions github-actions Bot added the 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. label Apr 13, 2021
@talyz talyz mentioned this pull request Apr 13, 2021
10 tasks
@ofborg ofborg Bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Apr 13, 2021
platforms = rustc.meta.platforms;
} // meta;
})
self =

@danieldk danieldk Apr 13, 2021

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This change would definitely make overrideAttrs more intuitive.

I wonder if it wouldn't be nicer to do this in make-rust-platform.nix. Doesn't destroy git blame and avoids having weird non-canonical formatting for Nix implementation details here.

Also, this would be an API change, since someone may rely on the existing behavior, so this change should be documented in the release notes.

@alyssais

Copy link
Copy Markdown
Member

This has been discussed a few times: #46842, NixOS/rfcs#67

AIUI this is currently stuck in RFC.

@talyz

talyz commented Apr 13, 2021

Copy link
Copy Markdown
Contributor Author

@alyssais I see. Thanks for the info!

@talyz talyz closed this Apr 13, 2021
@talyz talyz deleted the rust-overrideattrs branch April 13, 2021 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants