diff --git a/ci/eval/default.nix b/ci/eval/default.nix index 31bc6b01c327..56e07f8da670 100644 --- a/ci/eval/default.nix +++ b/ci/eval/default.nix @@ -98,7 +98,7 @@ let set +e command time -o "$outputDir/timestats/$myChunk" \ -f "Chunk $myChunk on $system done [%MKB max resident, %Es elapsed] %C" \ - nix-env -f "${nixpkgs}/pkgs/top-level/release-attrpaths-parallel.nix" \ + nix-env -f "${nixpkgs}/pkgs/top-level/release-outpaths-parallel.nix" \ --eval-system "$system" \ --option restrict-eval true \ --option allow-import-from-derivation false \ diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 2b9eb1d6fb99..d6e149521159 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -430,8 +430,6 @@ rec { ]; }; - plugins = callPackage ./plugins { } // { - __attrsFailEvaluation = true; - }; + plugins = callPackage ./plugins { }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix index 05a4272a053f..a2104beae1e3 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix @@ -18,12 +18,7 @@ lib.makeScope newScope ( plugins = [ ]; }; - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here. - pidginPackages = self // { - pidginPackages = self.pidginPackages // { - __attrsFailEvaluation = true; - }; - }; + pidginPackages = self; pidgin-indicator = callPackage ./pidgin-indicator { }; diff --git a/pkgs/desktops/gnome/extensions/default.nix b/pkgs/desktops/gnome/extensions/default.nix index db47ad5da68a..da2a8b5d4c95 100644 --- a/pkgs/desktops/gnome/extensions/default.nix +++ b/pkgs/desktops/gnome/extensions/default.nix @@ -39,7 +39,6 @@ let lib.trivial.pipe extensions [ (map (extension: lib.nameValuePair extension.extensionUuid extension)) builtins.listToAttrs - (attrs: attrs // { __attrsFailEvaluation = true; }) ]; # Map the list of extensions to an attrset based on the pname as key, which is more human readable than the UUID @@ -80,7 +79,6 @@ rec { # Keep the last three versions in here gnomeExtensions = lib.trivial.pipe (gnome46Extensions // gnome47Extensions // gnome48Extensions) [ - (v: builtins.removeAttrs v [ "__attrsFailEvaluation" ]) # Apply some custom patches for automatically packaged extensions (callPackage ./extensionOverrides.nix { }) # Add all manually packaged extensions diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index a0f195dece63..d933d3dedc18 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -89,12 +89,7 @@ in in { # Packages suitable for build-time, e.g. `build.rs`-type stuff. - buildRustPackages = (selectRustPackage pkgsBuildHost).packages.stable // { - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing more than one level here. - buildRustPackages = self.buildRustPackages // { - __attrsFailEvaluation = true; - }; - }; + buildRustPackages = (selectRustPackage pkgsBuildHost).packages.stable; # Analogous to stdenv rustPlatform = makeRustPlatform self.buildRustPackages; rustc-unwrapped = self.callPackage ./rustc.nix ({ diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index 8d34d6f4b2a8..b6936742d710 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -31,12 +31,8 @@ let ghc extensible-self all-cabal-hashes + buildHaskellPackages ; - - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here. - buildHaskellPackages = buildHaskellPackages // { - __attrsFailEvaluation = true; - }; }; platformConfigurations = diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix index b6562f4137b2..3e2a55d76c15 100644 --- a/pkgs/development/interpreters/lua-5/default.nix +++ b/pkgs/development/interpreters/lua-5/default.nix @@ -90,16 +90,7 @@ let inherit (luaPackages) requiredLuaModules; }; withPackages = import ./with-packages.nix { inherit buildEnv luaPackages; }; - pkgs = - let - lp = luaPackages; - in - lp - // { - luaPackages = lp.luaPackages // { - __attrsFailEvaluation = true; - }; - }; + pkgs = luaPackages; interpreter = "${self}/bin/${executable}"; inherit executable luaversion; luaOnBuild = luaOnBuildForHost.override { diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index 66a7c823fecc..67600fe972f5 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -147,8 +147,5 @@ in python = toPythonModule python; # Don't take pythonPackages from "global" pkgs scope to avoid mixing python versions. - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing more than one level here. - pythonPackages = self // { - __attrsFailEvaluation = true; - }; + pythonPackages = self; } diff --git a/pkgs/os-specific/bsd/freebsd/package-set.nix b/pkgs/os-specific/bsd/freebsd/package-set.nix index 7b861be6bd62..2e551c827f8a 100644 --- a/pkgs/os-specific/bsd/freebsd/package-set.nix +++ b/pkgs/os-specific/bsd/freebsd/package-set.nix @@ -21,9 +21,7 @@ lib.packagesFromDirectoryRecursive { inherit sourceData patchesRoot versionData; # Keep the crawled portion of Nixpkgs finite. - buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd // { - __attrsFailEvaluation = true; - }; + buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd; ports = fetchgit { url = "https://git.FreeBSD.org/ports.git"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b26bbf44f27b..163d71c62694 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -168,7 +168,6 @@ with pkgs; system = stdenv.hostPlatform.system; callTest = config: config.test.driver; }; - __attrsFailEvaluation = true; }; ### BUILD SUPPORT @@ -10076,15 +10075,11 @@ with pkgs; rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; }; - rPackages = - (dontRecurseIntoAttrs ( - callPackage ../development/r-modules { - overrides = (config.rPackageOverrides or (_: { })) pkgs; - } - )) - // { - __attrsFailEvaluation = true; - }; + rPackages = dontRecurseIntoAttrs ( + callPackage ../development/r-modules { + overrides = (config.rPackageOverrides or (_: { })) pkgs; + } + ); ### SERVERS diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 9851d9ae487f..79dc9d8077cb 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -74,6 +74,4 @@ in erlang_27 = self.packagesWith self.interpreters.erlang_27; erlang_26 = self.packagesWith self.interpreters.erlang_26; }; - - __attrsFailEvaluation = true; } diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index d8626077751d..5b14584990a0 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -29,7 +29,6 @@ let { inherit coq lib; coqPackages = self // { - __attrsFailEvaluation = true; recurseForDerivations = false; }; diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix index c93e02e98ce9..464912d7092a 100644 --- a/pkgs/top-level/cuda-packages.nix +++ b/pkgs/top-level/cuda-packages.nix @@ -70,7 +70,6 @@ let else pkgs.extend ( final: _: { - __attrsFailEvaluation = true; recurseForDerivations = false; # The CUDA package set will be available as cudaPackages_x_y, so we need only update the aliases for the # minor-versioned and unversioned package sets. diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2223827f13db..56c094a1e95e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -36,11 +36,7 @@ with self; { inherit perl; - perlPackages = self // { - perlPackages = self.perlPackages // { - __attrsFailEvaluation = true; - }; - }; + perlPackages = self; # Check whether a derivation provides a perl module. hasPerlModule = drv: drv ? perlModule; diff --git a/pkgs/top-level/release-attrpaths-superset.nix b/pkgs/top-level/release-attrpaths-superset.nix index 894c795ff587..80544ced5165 100644 --- a/pkgs/top-level/release-attrpaths-superset.nix +++ b/pkgs/top-level/release-attrpaths-superset.nix @@ -29,31 +29,16 @@ }: let - # __attrsFailEvaluation is a temporary workaround to get top-level - # eval to succeed (under builtins.tryEval) for the entire - # packageset, without deep invasve changes into individual - # packages. - # - # Now that CI has been added, ensuring that top-level eval will - # not be broken by any new commits, you should not add any new - # occurrences of __attrsFailEvaluation, and should remove them - # wherever you are able to (doing so will likely require deep - # adjustments within packages). Once all of the uses of - # __attrsFailEvaluation are removed, it will be deleted from the - # routine below. In the meantime, - # # The intended semantics are that an attrpath rooted at pkgs is - # part of the (unfiltered) release jobset iff all of the following + # part of the (unfiltered) release jobset iff both of the following # are true: # # 1. The attrpath leads to a value for which lib.isDerivation is true # - # 2. No proper prefix of the attrpath has __attrsFailEvaluation=true - # - # 3. Any proper prefix of the attrpath at which lib.isDerivation + # 2. Any proper prefix of the attrpath at which lib.isDerivation # is true also has __recurseIntoDerivationForReleaseJobs=true. # - # The last condition is unfortunately necessary because there are + # The second condition is unfortunately necessary because there are # Hydra release jobnames which have proper prefixes which are # attrnames of derivations (!). We should probably restructure # the job tree so that this is not the case. @@ -82,8 +67,6 @@ let else if !(lib.isAttrs value) then [ ] - else if (value.__attrsFailEvaluation or false) then - [ ] else lib.pipe value [ (builtins.mapAttrs ( diff --git a/pkgs/top-level/release-attrpaths-parallel.nix b/pkgs/top-level/release-outpaths-parallel.nix similarity index 100% rename from pkgs/top-level/release-attrpaths-parallel.nix rename to pkgs/top-level/release-outpaths-parallel.nix