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.
This commit is contained in:
parent
4ad7d21c88
commit
59233ecd0d
@ -431,8 +431,6 @@ rec {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
plugins = callPackage ./plugins { } // {
|
plugins = callPackage ./plugins { };
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,12 +18,7 @@ lib.makeScope newScope (
|
|||||||
plugins = [ ];
|
plugins = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here.
|
pidginPackages = self;
|
||||||
pidginPackages = self // {
|
|
||||||
pidginPackages = self.pidginPackages // {
|
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pidgin-indicator = callPackage ./pidgin-indicator { };
|
pidgin-indicator = callPackage ./pidgin-indicator { };
|
||||||
|
|
||||||
|
@ -39,7 +39,6 @@ let
|
|||||||
lib.trivial.pipe extensions [
|
lib.trivial.pipe extensions [
|
||||||
(map (extension: lib.nameValuePair extension.extensionUuid extension))
|
(map (extension: lib.nameValuePair extension.extensionUuid extension))
|
||||||
builtins.listToAttrs
|
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
|
# 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
|
# Keep the last three versions in here
|
||||||
gnomeExtensions = lib.trivial.pipe (gnome46Extensions // gnome47Extensions // gnome48Extensions) [
|
gnomeExtensions = lib.trivial.pipe (gnome46Extensions // gnome47Extensions // gnome48Extensions) [
|
||||||
(v: builtins.removeAttrs v [ "__attrsFailEvaluation" ])
|
|
||||||
# Apply some custom patches for automatically packaged extensions
|
# Apply some custom patches for automatically packaged extensions
|
||||||
(callPackage ./extensionOverrides.nix { })
|
(callPackage ./extensionOverrides.nix { })
|
||||||
# Add all manually packaged extensions
|
# Add all manually packaged extensions
|
||||||
|
@ -89,12 +89,7 @@ in
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Packages suitable for build-time, e.g. `build.rs`-type stuff.
|
# Packages suitable for build-time, e.g. `build.rs`-type stuff.
|
||||||
buildRustPackages = (selectRustPackage pkgsBuildHost).packages.stable // {
|
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# Analogous to stdenv
|
# Analogous to stdenv
|
||||||
rustPlatform = makeRustPlatform self.buildRustPackages;
|
rustPlatform = makeRustPlatform self.buildRustPackages;
|
||||||
rustc-unwrapped = self.callPackage ./rustc.nix ({
|
rustc-unwrapped = self.callPackage ./rustc.nix ({
|
||||||
|
@ -31,12 +31,8 @@ let
|
|||||||
ghc
|
ghc
|
||||||
extensible-self
|
extensible-self
|
||||||
all-cabal-hashes
|
all-cabal-hashes
|
||||||
|
buildHaskellPackages
|
||||||
;
|
;
|
||||||
|
|
||||||
# Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here.
|
|
||||||
buildHaskellPackages = buildHaskellPackages // {
|
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
platformConfigurations =
|
platformConfigurations =
|
||||||
|
@ -90,16 +90,7 @@ let
|
|||||||
inherit (luaPackages) requiredLuaModules;
|
inherit (luaPackages) requiredLuaModules;
|
||||||
};
|
};
|
||||||
withPackages = import ./with-packages.nix { inherit buildEnv luaPackages; };
|
withPackages = import ./with-packages.nix { inherit buildEnv luaPackages; };
|
||||||
pkgs =
|
pkgs = luaPackages;
|
||||||
let
|
|
||||||
lp = luaPackages;
|
|
||||||
in
|
|
||||||
lp
|
|
||||||
// {
|
|
||||||
luaPackages = lp.luaPackages // {
|
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
interpreter = "${self}/bin/${executable}";
|
interpreter = "${self}/bin/${executable}";
|
||||||
inherit executable luaversion;
|
inherit executable luaversion;
|
||||||
luaOnBuild = luaOnBuildForHost.override {
|
luaOnBuild = luaOnBuildForHost.override {
|
||||||
|
@ -147,8 +147,5 @@ in
|
|||||||
python = toPythonModule python;
|
python = toPythonModule python;
|
||||||
|
|
||||||
# Don't take pythonPackages from "global" pkgs scope to avoid mixing python versions.
|
# 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;
|
||||||
pythonPackages = self // {
|
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -21,9 +21,7 @@ lib.packagesFromDirectoryRecursive {
|
|||||||
inherit sourceData patchesRoot versionData;
|
inherit sourceData patchesRoot versionData;
|
||||||
|
|
||||||
# Keep the crawled portion of Nixpkgs finite.
|
# Keep the crawled portion of Nixpkgs finite.
|
||||||
buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd // {
|
buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd;
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
ports = fetchgit {
|
ports = fetchgit {
|
||||||
url = "https://git.FreeBSD.org/ports.git";
|
url = "https://git.FreeBSD.org/ports.git";
|
||||||
|
@ -170,7 +170,6 @@ with pkgs;
|
|||||||
system = stdenv.hostPlatform.system;
|
system = stdenv.hostPlatform.system;
|
||||||
callTest = config: config.test.driver;
|
callTest = config: config.test.driver;
|
||||||
};
|
};
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
### BUILD SUPPORT
|
### BUILD SUPPORT
|
||||||
@ -10099,15 +10098,11 @@ with pkgs;
|
|||||||
|
|
||||||
rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; };
|
rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; };
|
||||||
|
|
||||||
rPackages =
|
rPackages = dontRecurseIntoAttrs (
|
||||||
(dontRecurseIntoAttrs (
|
callPackage ../development/r-modules {
|
||||||
callPackage ../development/r-modules {
|
overrides = (config.rPackageOverrides or (_: { })) pkgs;
|
||||||
overrides = (config.rPackageOverrides or (_: { })) pkgs;
|
}
|
||||||
}
|
);
|
||||||
))
|
|
||||||
// {
|
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
### SERVERS
|
### SERVERS
|
||||||
|
|
||||||
|
@ -74,6 +74,4 @@ in
|
|||||||
erlang_27 = self.packagesWith self.interpreters.erlang_27;
|
erlang_27 = self.packagesWith self.interpreters.erlang_27;
|
||||||
erlang_26 = self.packagesWith self.interpreters.erlang_26;
|
erlang_26 = self.packagesWith self.interpreters.erlang_26;
|
||||||
};
|
};
|
||||||
|
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ let
|
|||||||
{
|
{
|
||||||
inherit coq lib;
|
inherit coq lib;
|
||||||
coqPackages = self // {
|
coqPackages = self // {
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
recurseForDerivations = false;
|
recurseForDerivations = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -70,7 +70,6 @@ let
|
|||||||
else
|
else
|
||||||
pkgs.extend (
|
pkgs.extend (
|
||||||
final: _: {
|
final: _: {
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
recurseForDerivations = false;
|
recurseForDerivations = false;
|
||||||
# The CUDA package set will be available as cudaPackages_x_y, so we need only update the aliases for the
|
# 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.
|
# minor-versioned and unversioned package sets.
|
||||||
|
@ -36,11 +36,7 @@ with self;
|
|||||||
{
|
{
|
||||||
|
|
||||||
inherit perl;
|
inherit perl;
|
||||||
perlPackages = self // {
|
perlPackages = self;
|
||||||
perlPackages = self.perlPackages // {
|
|
||||||
__attrsFailEvaluation = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Check whether a derivation provides a perl module.
|
# Check whether a derivation provides a perl module.
|
||||||
hasPerlModule = drv: drv ? perlModule;
|
hasPerlModule = drv: drv ? perlModule;
|
||||||
|
@ -30,31 +30,16 @@
|
|||||||
}:
|
}:
|
||||||
let
|
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
|
# 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:
|
# are true:
|
||||||
#
|
#
|
||||||
# 1. The attrpath leads to a value for which lib.isDerivation is true
|
# 1. The attrpath leads to a value for which lib.isDerivation is true
|
||||||
#
|
#
|
||||||
# 2. No proper prefix of the attrpath has __attrsFailEvaluation=true
|
# 2. Any proper prefix of the attrpath at which lib.isDerivation
|
||||||
#
|
|
||||||
# 3. Any proper prefix of the attrpath at which lib.isDerivation
|
|
||||||
# is true also has __recurseIntoDerivationForReleaseJobs=true.
|
# 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
|
# Hydra release jobnames which have proper prefixes which are
|
||||||
# attrnames of derivations (!). We should probably restructure
|
# attrnames of derivations (!). We should probably restructure
|
||||||
# the job tree so that this is not the case.
|
# the job tree so that this is not the case.
|
||||||
@ -81,8 +66,6 @@ let
|
|||||||
|
|
||||||
else if !(lib.isAttrs value) then
|
else if !(lib.isAttrs value) then
|
||||||
[ ]
|
[ ]
|
||||||
else if (value.__attrsFailEvaluation or false) then
|
|
||||||
[ ]
|
|
||||||
else
|
else
|
||||||
lib.pipe value [
|
lib.pipe value [
|
||||||
(builtins.mapAttrs (
|
(builtins.mapAttrs (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user