Skip to content

pkgs/stdenv/adapters.nix: Do not evaluate unoverridden derivation#297716

Draft
roberth wants to merge 1 commit intoNixOS:masterfrom
hercules-ci:extendMkDerivationArgs-no-overrideAttrs
Draft

pkgs/stdenv/adapters.nix: Do not evaluate unoverridden derivation#297716
roberth wants to merge 1 commit intoNixOS:masterfrom
hercules-ci:extendMkDerivationArgs-no-overrideAttrs

Conversation

@roberth
Copy link
Copy Markdown
Member

@roberth roberth commented Mar 21, 2024

Description of changes

This should be a little bit quicker, and by avoiding the intermediate package evaluation, it might also be more robust (but perhaps not robust against changes to overrideAttrs in make-derivation.nix, which probably should not be changed at all, considering its existing baggage).

Stats:

  • -0.2% in heap size

On second thought, I'm not convinced by the robustness argument. Why would the derivation fail to evaluate before the adapter is applied?

-0.2% is disappointing, but the number may be much more significant if the adapters are applied more broadly. Do we have a use case for applying them everywhere?

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/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 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.

This should be a little bit quicker, and by avoiding the intermediate
package evaluation, it might also be more robust (but perhaps not
robust against changes to overrideAttrs in make-derivation.nix, which
probably should not be changed at all, considering its existing
baggage).
@github-actions github-actions bot added the 6.topic: stdenv Standard environment label Mar 21, 2024
@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 Mar 21, 2024
@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 2, 2025
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Apr 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: stdenv Standard environment 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

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants