lol

top-level/release-attrpaths-superset: remove __attrsFailEvaluation

This doesn't seem to be necessary anymore. I confirmed by:
- Adding a lib.warn into the __attrsFailsEvaluation branch - never got
any.
- Removing it everywhere and running full Eval on it - no errors, no
rebuilds.

+16 -78
+1 -3
pkgs/applications/editors/jetbrains/default.nix
··· 431 ]; 432 }; 433 434 - plugins = callPackage ./plugins { } // { 435 - __attrsFailEvaluation = true; 436 - }; 437 438 }
··· 431 ]; 432 }; 433 434 + plugins = callPackage ./plugins { }; 435 436 }
+1 -6
pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix
··· 18 plugins = [ ]; 19 }; 20 21 - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here. 22 - pidginPackages = self // { 23 - pidginPackages = self.pidginPackages // { 24 - __attrsFailEvaluation = true; 25 - }; 26 - }; 27 28 pidgin-indicator = callPackage ./pidgin-indicator { }; 29
··· 18 plugins = [ ]; 19 }; 20 21 + pidginPackages = self; 22 23 pidgin-indicator = callPackage ./pidgin-indicator { }; 24
-2
pkgs/desktops/gnome/extensions/default.nix
··· 39 lib.trivial.pipe extensions [ 40 (map (extension: lib.nameValuePair extension.extensionUuid extension)) 41 builtins.listToAttrs 42 - (attrs: attrs // { __attrsFailEvaluation = true; }) 43 ]; 44 45 # Map the list of extensions to an attrset based on the pname as key, which is more human readable than the UUID ··· 80 81 # Keep the last three versions in here 82 gnomeExtensions = lib.trivial.pipe (gnome46Extensions // gnome47Extensions // gnome48Extensions) [ 83 - (v: builtins.removeAttrs v [ "__attrsFailEvaluation" ]) 84 # Apply some custom patches for automatically packaged extensions 85 (callPackage ./extensionOverrides.nix { }) 86 # Add all manually packaged extensions
··· 39 lib.trivial.pipe extensions [ 40 (map (extension: lib.nameValuePair extension.extensionUuid extension)) 41 builtins.listToAttrs 42 ]; 43 44 # Map the list of extensions to an attrset based on the pname as key, which is more human readable than the UUID ··· 79 80 # Keep the last three versions in here 81 gnomeExtensions = lib.trivial.pipe (gnome46Extensions // gnome47Extensions // gnome48Extensions) [ 82 # Apply some custom patches for automatically packaged extensions 83 (callPackage ./extensionOverrides.nix { }) 84 # Add all manually packaged extensions
+1 -6
pkgs/development/compilers/rust/default.nix
··· 89 in 90 { 91 # Packages suitable for build-time, e.g. `build.rs`-type stuff. 92 - buildRustPackages = (selectRustPackage pkgsBuildHost).packages.stable // { 93 - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing more than one level here. 94 - buildRustPackages = self.buildRustPackages // { 95 - __attrsFailEvaluation = true; 96 - }; 97 - }; 98 # Analogous to stdenv 99 rustPlatform = makeRustPlatform self.buildRustPackages; 100 rustc-unwrapped = self.callPackage ./rustc.nix ({
··· 89 in 90 { 91 # Packages suitable for build-time, e.g. `build.rs`-type stuff. 92 + buildRustPackages = (selectRustPackage pkgsBuildHost).packages.stable; 93 # Analogous to stdenv 94 rustPlatform = makeRustPlatform self.buildRustPackages; 95 rustc-unwrapped = self.callPackage ./rustc.nix ({
+1 -5
pkgs/development/haskell-modules/default.nix
··· 31 ghc 32 extensible-self 33 all-cabal-hashes 34 ; 35 - 36 - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here. 37 - buildHaskellPackages = buildHaskellPackages // { 38 - __attrsFailEvaluation = true; 39 - }; 40 }; 41 42 platformConfigurations =
··· 31 ghc 32 extensible-self 33 all-cabal-hashes 34 + buildHaskellPackages 35 ; 36 }; 37 38 platformConfigurations =
+1 -10
pkgs/development/interpreters/lua-5/default.nix
··· 90 inherit (luaPackages) requiredLuaModules; 91 }; 92 withPackages = import ./with-packages.nix { inherit buildEnv luaPackages; }; 93 - pkgs = 94 - let 95 - lp = luaPackages; 96 - in 97 - lp 98 - // { 99 - luaPackages = lp.luaPackages // { 100 - __attrsFailEvaluation = true; 101 - }; 102 - }; 103 interpreter = "${self}/bin/${executable}"; 104 inherit executable luaversion; 105 luaOnBuild = luaOnBuildForHost.override {
··· 90 inherit (luaPackages) requiredLuaModules; 91 }; 92 withPackages = import ./with-packages.nix { inherit buildEnv luaPackages; }; 93 + pkgs = luaPackages; 94 interpreter = "${self}/bin/${executable}"; 95 inherit executable luaversion; 96 luaOnBuild = luaOnBuildForHost.override {
+1 -4
pkgs/development/interpreters/python/python-packages-base.nix
··· 147 python = toPythonModule python; 148 149 # Don't take pythonPackages from "global" pkgs scope to avoid mixing python versions. 150 - # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing more than one level here. 151 - pythonPackages = self // { 152 - __attrsFailEvaluation = true; 153 - }; 154 }
··· 147 python = toPythonModule python; 148 149 # Don't take pythonPackages from "global" pkgs scope to avoid mixing python versions. 150 + pythonPackages = self; 151 }
+1 -3
pkgs/os-specific/bsd/freebsd/package-set.nix
··· 21 inherit sourceData patchesRoot versionData; 22 23 # Keep the crawled portion of Nixpkgs finite. 24 - buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd // { 25 - __attrsFailEvaluation = true; 26 - }; 27 28 ports = fetchgit { 29 url = "https://git.FreeBSD.org/ports.git";
··· 21 inherit sourceData patchesRoot versionData; 22 23 # Keep the crawled portion of Nixpkgs finite. 24 + buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd; 25 26 ports = fetchgit { 27 url = "https://git.FreeBSD.org/ports.git";
+5 -10
pkgs/top-level/all-packages.nix
··· 170 system = stdenv.hostPlatform.system; 171 callTest = config: config.test.driver; 172 }; 173 - __attrsFailEvaluation = true; 174 }; 175 176 ### BUILD SUPPORT ··· 10099 10100 rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; }; 10101 10102 - rPackages = 10103 - (dontRecurseIntoAttrs ( 10104 - callPackage ../development/r-modules { 10105 - overrides = (config.rPackageOverrides or (_: { })) pkgs; 10106 - } 10107 - )) 10108 - // { 10109 - __attrsFailEvaluation = true; 10110 - }; 10111 10112 ### SERVERS 10113
··· 170 system = stdenv.hostPlatform.system; 171 callTest = config: config.test.driver; 172 }; 173 }; 174 175 ### BUILD SUPPORT ··· 10098 10099 rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; }; 10100 10101 + rPackages = dontRecurseIntoAttrs ( 10102 + callPackage ../development/r-modules { 10103 + overrides = (config.rPackageOverrides or (_: { })) pkgs; 10104 + } 10105 + ); 10106 10107 ### SERVERS 10108
-2
pkgs/top-level/beam-packages.nix
··· 74 erlang_27 = self.packagesWith self.interpreters.erlang_27; 75 erlang_26 = self.packagesWith self.interpreters.erlang_26; 76 }; 77 - 78 - __attrsFailEvaluation = true; 79 }
··· 74 erlang_27 = self.packagesWith self.interpreters.erlang_27; 75 erlang_26 = self.packagesWith self.interpreters.erlang_26; 76 }; 77 }
-1
pkgs/top-level/coq-packages.nix
··· 29 { 30 inherit coq lib; 31 coqPackages = self // { 32 - __attrsFailEvaluation = true; 33 recurseForDerivations = false; 34 }; 35
··· 29 { 30 inherit coq lib; 31 coqPackages = self // { 32 recurseForDerivations = false; 33 }; 34
-1
pkgs/top-level/cuda-packages.nix
··· 70 else 71 pkgs.extend ( 72 final: _: { 73 - __attrsFailEvaluation = true; 74 recurseForDerivations = false; 75 # The CUDA package set will be available as cudaPackages_x_y, so we need only update the aliases for the 76 # minor-versioned and unversioned package sets.
··· 70 else 71 pkgs.extend ( 72 final: _: { 73 recurseForDerivations = false; 74 # The CUDA package set will be available as cudaPackages_x_y, so we need only update the aliases for the 75 # minor-versioned and unversioned package sets.
+1 -5
pkgs/top-level/perl-packages.nix
··· 36 { 37 38 inherit perl; 39 - perlPackages = self // { 40 - perlPackages = self.perlPackages // { 41 - __attrsFailEvaluation = true; 42 - }; 43 - }; 44 45 # Check whether a derivation provides a perl module. 46 hasPerlModule = drv: drv ? perlModule;
··· 36 { 37 38 inherit perl; 39 + perlPackages = self; 40 41 # Check whether a derivation provides a perl module. 42 hasPerlModule = drv: drv ? perlModule;
+3 -20
pkgs/top-level/release-attrpaths-superset.nix
··· 30 }: 31 let 32 33 - # __attrsFailEvaluation is a temporary workaround to get top-level 34 - # eval to succeed (under builtins.tryEval) for the entire 35 - # packageset, without deep invasve changes into individual 36 - # packages. 37 - # 38 - # Now that CI has been added, ensuring that top-level eval will 39 - # not be broken by any new commits, you should not add any new 40 - # occurrences of __attrsFailEvaluation, and should remove them 41 - # wherever you are able to (doing so will likely require deep 42 - # adjustments within packages). Once all of the uses of 43 - # __attrsFailEvaluation are removed, it will be deleted from the 44 - # routine below. In the meantime, 45 - # 46 # The intended semantics are that an attrpath rooted at pkgs is 47 - # part of the (unfiltered) release jobset iff all of the following 48 # are true: 49 # 50 # 1. The attrpath leads to a value for which lib.isDerivation is true 51 # 52 - # 2. No proper prefix of the attrpath has __attrsFailEvaluation=true 53 - # 54 - # 3. Any proper prefix of the attrpath at which lib.isDerivation 55 # is true also has __recurseIntoDerivationForReleaseJobs=true. 56 # 57 - # The last condition is unfortunately necessary because there are 58 # Hydra release jobnames which have proper prefixes which are 59 # attrnames of derivations (!). We should probably restructure 60 # the job tree so that this is not the case. ··· 80 [ ] 81 82 else if !(lib.isAttrs value) then 83 - [ ] 84 - else if (value.__attrsFailEvaluation or false) then 85 [ ] 86 else 87 lib.pipe value [
··· 30 }: 31 let 32 33 # The intended semantics are that an attrpath rooted at pkgs is 34 + # part of the (unfiltered) release jobset iff both of the following 35 # are true: 36 # 37 # 1. The attrpath leads to a value for which lib.isDerivation is true 38 # 39 + # 2. Any proper prefix of the attrpath at which lib.isDerivation 40 # is true also has __recurseIntoDerivationForReleaseJobs=true. 41 # 42 + # The second condition is unfortunately necessary because there are 43 # Hydra release jobnames which have proper prefixes which are 44 # attrnames of derivations (!). We should probably restructure 45 # the job tree so that this is not the case. ··· 65 [ ] 66 67 else if !(lib.isAttrs value) then 68 [ ] 69 else 70 lib.pipe value [