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.

Changed files
+16 -78
pkgs
applications
editors
jetbrains
networking
instant-messengers
pidgin
pidgin-plugins
desktops
gnome
extensions
development
compilers
haskell-modules
interpreters
os-specific
bsd
freebsd
top-level
+1 -3
pkgs/applications/editors/jetbrains/default.nix
···
];
};
-
plugins = callPackage ./plugins { } // {
-
__attrsFailEvaluation = true;
-
};
+
plugins = callPackage ./plugins { };
}
+1 -6
pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix
···
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 { };
-2
pkgs/desktops/gnome/extensions/default.nix
···
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
···
# 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
+1 -6
pkgs/development/compilers/rust/default.nix
···
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 ({
+1 -5
pkgs/development/haskell-modules/default.nix
···
ghc
extensible-self
all-cabal-hashes
+
buildHaskellPackages
;
-
-
# Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here.
-
buildHaskellPackages = buildHaskellPackages // {
-
__attrsFailEvaluation = true;
-
};
};
platformConfigurations =
+1 -10
pkgs/development/interpreters/lua-5/default.nix
···
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 {
+1 -4
pkgs/development/interpreters/python/python-packages-base.nix
···
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;
}
+1 -3
pkgs/os-specific/bsd/freebsd/package-set.nix
···
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";
+5 -10
pkgs/top-level/all-packages.nix
···
system = stdenv.hostPlatform.system;
callTest = config: config.test.driver;
};
-
__attrsFailEvaluation = true;
};
### BUILD SUPPORT
···
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
-2
pkgs/top-level/beam-packages.nix
···
erlang_27 = self.packagesWith self.interpreters.erlang_27;
erlang_26 = self.packagesWith self.interpreters.erlang_26;
};
-
-
__attrsFailEvaluation = true;
}
-1
pkgs/top-level/coq-packages.nix
···
{
inherit coq lib;
coqPackages = self // {
-
__attrsFailEvaluation = true;
recurseForDerivations = false;
};
-1
pkgs/top-level/cuda-packages.nix
···
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.
+1 -5
pkgs/top-level/perl-packages.nix
···
{
inherit perl;
-
perlPackages = self // {
-
perlPackages = self.perlPackages // {
-
__attrsFailEvaluation = true;
-
};
-
};
+
perlPackages = self;
# Check whether a derivation provides a perl module.
hasPerlModule = drv: drv ? perlModule;
+3 -20
pkgs/top-level/release-attrpaths-superset.nix
···
}:
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.
···
[ ]
else if !(lib.isAttrs value) then
-
[ ]
-
else if (value.__attrsFailEvaluation or false) then
[ ]
else
lib.pipe value [