Skip to content

rustPackages.buildRustPackages: allow one level of introspection before applying __attrsFailEvaluation#324633

Merged
infinisil merged 1 commit intoNixOS:masterfrom
philiptaron:__attrsFailEvaluation/rust
Jul 25, 2024
Merged

rustPackages.buildRustPackages: allow one level of introspection before applying __attrsFailEvaluation#324633
infinisil merged 1 commit intoNixOS:masterfrom
philiptaron:__attrsFailEvaluation/rust

Conversation

@philiptaron
Copy link
Contributor

Description of changes

The test (nix-build pkgs/test/release/default.nix) continues to pass.

These lines were added in #269356.

I learned this trick from this file, where it's used to allow one level of inspection.

perlPackages = self // { perlPackages = self.perlPackages // { __attrsFailEvaluation = true; }; };

New derivations reported:

--- /dev/fd/63	2024-07-04 11:37:43.896690011 -0700
+++ /dev/fd/62	2024-07-04 11:37:43.896690011 -0700
@@ -82087,8 +82087,26 @@
   "russ",
   "rust.packages.prebuilt.cargo",
   "rust.packages.prebuilt.rustc",
   "rust.packages.prebuilt.rustc-unwrapped",
+  "rust.packages.stable.buildRustPackages.cargo",
+  "rust.packages.stable.buildRustPackages.cargo-auditable",
+  "rust.packages.stable.buildRustPackages.cargo-auditable-cargo-wrapper",
+  "rust.packages.stable.buildRustPackages.clippy",
+  "rust.packages.stable.buildRustPackages.rustPlatform.bindgenHook",
+  "rust.packages.stable.buildRustPackages.rustPlatform.cargoBuildHook",
+  "rust.packages.stable.buildRustPackages.rustPlatform.cargoCheckHook",
+  "rust.packages.stable.buildRustPackages.rustPlatform.cargoInstallHook",
+  "rust.packages.stable.buildRustPackages.rustPlatform.cargoNextestHook",
+  "rust.packages.stable.buildRustPackages.rustPlatform.cargoSetupHook",
+  "rust.packages.stable.buildRustPackages.rustPlatform.maturinBuildHook",
+  "rust.packages.stable.buildRustPackages.rustPlatform.rust.cargo",
+  "rust.packages.stable.buildRustPackages.rustPlatform.rust.rustc",
+  "rust.packages.stable.buildRustPackages.rustPlatform.rustLibSrc",
+  "rust.packages.stable.buildRustPackages.rustPlatform.rustcSrc",
+  "rust.packages.stable.buildRustPackages.rustc",
+  "rust.packages.stable.buildRustPackages.rustc-unwrapped",
+  "rust.packages.stable.buildRustPackages.rustfmt",
   "rust.packages.stable.cargo",
   "rust.packages.stable.cargo-auditable",
   "rust.packages.stable.cargo-auditable-cargo-wrapper",
   "rust.packages.stable.clippy",
@@ -82119,8 +82137,26 @@
   "rust-motd",
   "rust-petname",
   "rust-script",
   "rust-traverse",
+  "rustPackages.buildRustPackages.cargo",
+  "rustPackages.buildRustPackages.cargo-auditable",
+  "rustPackages.buildRustPackages.cargo-auditable-cargo-wrapper",
+  "rustPackages.buildRustPackages.clippy",
+  "rustPackages.buildRustPackages.rustPlatform.bindgenHook",
+  "rustPackages.buildRustPackages.rustPlatform.cargoBuildHook",
+  "rustPackages.buildRustPackages.rustPlatform.cargoCheckHook",
+  "rustPackages.buildRustPackages.rustPlatform.cargoInstallHook",
+  "rustPackages.buildRustPackages.rustPlatform.cargoNextestHook",
+  "rustPackages.buildRustPackages.rustPlatform.cargoSetupHook",
+  "rustPackages.buildRustPackages.rustPlatform.maturinBuildHook",
+  "rustPackages.buildRustPackages.rustPlatform.rust.cargo",
+  "rustPackages.buildRustPackages.rustPlatform.rust.rustc",
+  "rustPackages.buildRustPackages.rustPlatform.rustLibSrc",
+  "rustPackages.buildRustPackages.rustPlatform.rustcSrc",
+  "rustPackages.buildRustPackages.rustc",
+  "rustPackages.buildRustPackages.rustc-unwrapped",
+  "rustPackages.buildRustPackages.rustfmt",
   "rustPackages.cargo",
   "rustPackages.cargo-auditable",
   "rustPackages.cargo-auditable-cargo-wrapper",
   "rustPackages.clippy",
@@ -82137,8 +82173,26 @@
   "rustPackages.rustPlatform.rustcSrc",
   "rustPackages.rustc",
   "rustPackages.rustc-unwrapped",
   "rustPackages.rustfmt",
+  "rustPackages_1_78.buildRustPackages.cargo",
+  "rustPackages_1_78.buildRustPackages.cargo-auditable",
+  "rustPackages_1_78.buildRustPackages.cargo-auditable-cargo-wrapper",
+  "rustPackages_1_78.buildRustPackages.clippy",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.bindgenHook",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.cargoBuildHook",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.cargoCheckHook",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.cargoInstallHook",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.cargoNextestHook",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.cargoSetupHook",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.maturinBuildHook",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.rust.cargo",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.rust.rustc",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.rustLibSrc",
+  "rustPackages_1_78.buildRustPackages.rustPlatform.rustcSrc",
+  "rustPackages_1_78.buildRustPackages.rustc",
+  "rustPackages_1_78.buildRustPackages.rustc-unwrapped",
+  "rustPackages_1_78.buildRustPackages.rustfmt",
   "rustPackages_1_78.cargo",
   "rustPackages_1_78.cargo-auditable",
   "rustPackages_1_78.cargo-auditable-cargo-wrapper",
   "rustPackages_1_78.clippy",
@@ -82169,8 +82223,26 @@
   "rustPlatform.rustcSrc",
   "rust_1_78.packages.prebuilt.cargo",
   "rust_1_78.packages.prebuilt.rustc",
   "rust_1_78.packages.prebuilt.rustc-unwrapped",
+  "rust_1_78.packages.stable.buildRustPackages.cargo",
+  "rust_1_78.packages.stable.buildRustPackages.cargo-auditable",
+  "rust_1_78.packages.stable.buildRustPackages.cargo-auditable-cargo-wrapper",
+  "rust_1_78.packages.stable.buildRustPackages.clippy",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.bindgenHook",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.cargoBuildHook",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.cargoCheckHook",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.cargoInstallHook",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.cargoNextestHook",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.cargoSetupHook",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.maturinBuildHook",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.rust.cargo",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.rust.rustc",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.rustLibSrc",
+  "rust_1_78.packages.stable.buildRustPackages.rustPlatform.rustcSrc",
+  "rust_1_78.packages.stable.buildRustPackages.rustc",
+  "rust_1_78.packages.stable.buildRustPackages.rustc-unwrapped",
+  "rust_1_78.packages.stable.buildRustPackages.rustfmt",
   "rust_1_78.packages.stable.cargo",
   "rust_1_78.packages.stable.cargo-auditable",
   "rust_1_78.packages.stable.cargo-auditable-cargo-wrapper",
   "rust_1_78.packages.stable.clippy",

Things done

  • Tested, as applicable:
    • nix-build pkgs/test/release/default.nix
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. label Jul 4, 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 Jul 4, 2024
Copy link
Member

@infinisil infinisil left a comment

Choose a reason for hiding this comment

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

Tested nix-build pkgs/test/release when merging this into current master, still works, so this LGTM!

@infinisil infinisil merged commit 062ccd7 into NixOS:master Jul 25, 2024
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.

2 participants