treewide: add __attrsFailEvaluation and __recurseIntoDerivationForReleaseJobs

This commit is contained in:
Adam Joseph 2023-11-22 16:46:36 -08:00
parent cd99109202
commit 80472e3754
28 changed files with 103 additions and 71 deletions

View File

@ -67,6 +67,7 @@ let
;
outer_types =
rec {
__attrsFailEvaluation = true;
isType = type: x: (x._type or "") == type;
setType = typeName: value: value // {

View File

@ -226,6 +226,6 @@ in rec {
### Plugins
plugins = callPackage ./plugins.nix { };
plugins = callPackage ./plugins.nix { } // { __attrsFailEvaluation = true; };
}

View File

@ -89,4 +89,4 @@ self: let
in elpaDevelPackages // { inherit elpaBuild; });
in generateElpa { }
in (generateElpa { }) // { __attrsFailEvaluation = true; }

View File

@ -181,4 +181,4 @@ self: let
in elpaPackages // { inherit elpaBuild; });
in generateElpa { }
in (generateElpa { }) // { __attrsFailEvaluation = true; }

View File

@ -113,4 +113,6 @@ in
emacsSessionManagement = self.session-management-for-emacs;
rectMark = self.rect-mark;
sunriseCommander = self.sunrise-commander;
__attrsFailEvaluation = true;
}

View File

@ -735,4 +735,5 @@ let
in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super);
in
generateMelpa { }
(generateMelpa { })
// { __attrsFailEvaluation = true; }

View File

@ -20,12 +20,12 @@ self: let
generated ? ./nongnu-generated.nix
}: let
imported = import generated {
imported = (import generated {
callPackage = pkgs: args: self.callPackage pkgs (args // {
# Use custom elpa url fetcher with fallback/uncompress
fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
});
};
}) // { __attrsFailEvaluation = true; };
super = imported;

View File

@ -249,6 +249,6 @@ rec {
webstorm = mkJetBrainsProduct { pname = "webstorm"; extraBuildInputs = [ stdenv.cc.cc musl ]; };
plugins = callPackage ./plugins { };
plugins = callPackage ./plugins { } // { __attrsFailEvaluation = true; };
}

View File

@ -35,6 +35,7 @@ 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
@ -66,6 +67,7 @@ in rec {
# Keep the last three versions in here
gnomeExtensions = lib.trivial.pipe (gnome43Extensions // gnome44Extensions // gnome45Extensions) [
(v: builtins.removeAttrs v [ "__attrsFailEvaluation" ])
# Apply some custom patches for automatically packaged extensions
(callPackage ./extensionOverrides.nix {})
# Add all manually packaged extensions
@ -88,4 +90,5 @@ in rec {
# Make the set "public"
lib.recurseIntoAttrs
];
}

View File

@ -3,7 +3,7 @@ let
callPackage = newScope self;
self = {
pkgs = self;
pkgs = self // { recurseForDerivations = false; };
fetchegg = callPackage ./fetchegg { };

View File

@ -62,7 +62,7 @@ in
bootRustPlatform = makeRustPlatform bootstrapRustPackages;
in {
# Packages suitable for build-time, e.g. `build.rs`-type stuff.
buildRustPackages = (selectRustPackage buildPackages).packages.stable;
buildRustPackages = (selectRustPackage buildPackages).packages.stable // { __attrsFailEvaluation = true; };
# Analogous to stdenv
rustPlatform = makeRustPlatform self.buildRustPackages;
rustc-unwrapped = self.callPackage ./rustc.nix ({

View File

@ -55,7 +55,8 @@ let
darwin = pkgs.darwin.overrideScope (_: prev: {
inherit apple_sdk;
inherit (apple_sdk) Libsystem LibsystemCross libcharset libunwind objc4 configd IOKit Security;
CF = apple_sdk.CoreFoundation;
CF = apple_sdk.CoreFoundation // { __attrsFailEvaluation = true; };
__attrsFailEvaluation = true;
});
xcodebuild = pkgs.xcbuild.override {
inherit (apple_sdk.frameworks) CoreServices CoreGraphics ImageIO;

View File

@ -18,7 +18,8 @@ let
haskellPackages = pkgs.callPackage makePackageSet {
package-set = initialPackages;
inherit stdenv haskellLib ghc buildHaskellPackages extensible-self all-cabal-hashes;
inherit stdenv haskellLib ghc extensible-self all-cabal-hashes;
buildHaskellPackages = buildHaskellPackages // { __attrsFailEvaluation = true; };
};
platformConfigurations = lib.optionals stdenv.hostPlatform.isAarch [

View File

@ -614,7 +614,7 @@ in package-set { inherit pkgs lib callPackage; } self // {
Type: [str] -> drv -> drv
*/
generateOptparseApplicativeCompletions =
self.callPackage (
(self.callPackage (
{ stdenv }:
commands:
@ -623,7 +623,7 @@ in package-set { inherit pkgs lib callPackage; } self // {
if stdenv.buildPlatform.canExecute stdenv.hostPlatform
then lib.foldr haskellLib.__generateOptparseApplicativeCompletion pkg commands
else pkg
) { };
) { }) // { __attrsFailEvaluation = true; };
/*
Modify given Haskell package to force GHC to employ the LLVM

View File

@ -65,7 +65,8 @@ let
inherit (luaPackages) requiredLuaModules;
};
withPackages = import ./with-packages.nix { inherit buildEnv luaPackages;};
pkgs = luaPackages;
pkgs = let lp = luaPackages;
in lp // { luaPackages = lp.luaPackages // { __attrsFailEvaluation = true; }; };
interpreter = "${self}/bin/${executable}";
inherit executable luaversion;
luaOnBuild = luaOnBuildForHost.override { inherit packageOverrides; self = luaOnBuild; };

View File

@ -23,7 +23,7 @@ Check for any minor version changes.
let
srcs = import ./srcs.nix { inherit lib fetchgit fetchFromGitHub; };
srcs = import ./srcs.nix { inherit lib fetchgit fetchFromGitHub; } // { __attrsFailEvaluation = true; };
qtCompatVersion = srcs.qtbase.version;

View File

@ -27,4 +27,6 @@ rec {
cuda-library-samples_cudatoolkit_11_3
cuda-library-samples_cudatoolkit_11_4
;
__attrsFailEvaluation = true;
}

View File

@ -119,11 +119,11 @@ with pkgs;
macOSSierraShared = callPackage ./macos-sierra-shared {};
cross = callPackage ./cross {};
cross = callPackage ./cross {} // { __attrsFailEvaluation = true; };
php = recurseIntoAttrs (callPackages ./php {});
pkg-config = recurseIntoAttrs (callPackage ../top-level/pkg-config/tests.nix { });
pkg-config = recurseIntoAttrs (callPackage ../top-level/pkg-config/tests.nix { }) // { __recurseIntoDerivationForReleaseJobs = true; };
buildRustCrate = callPackage ../build-support/rust/build-rust-crate/test { };
importCargoLock = callPackage ../build-support/rust/test/import-cargo-lock { };

View File

@ -116,7 +116,7 @@ with pkgs;
# We don't want nix-env -q to enter this, because all of these are aliases.
dontRecurseIntoAttrs (
import ./pkg-config/defaultPkgConfigPackages.nix pkgs
);
) // { __attrsFailEvaluation = true; };
### Nixpkgs maintainer tools
@ -159,6 +159,7 @@ with pkgs;
system = stdenv.hostPlatform.system;
callTest = config: config.test.driver;
};
__attrsFailEvaluation = true;
};
### BUILD SUPPORT
@ -902,7 +903,7 @@ with pkgs;
dockerTools = callPackage ../build-support/docker {
writePython3 = buildPackages.writers.writePython3;
};
} // { __attrsFailEvaluation = true; };
fakeNss = callPackage ../build-support/fake-nss { };
@ -10346,9 +10347,9 @@ with pkgs;
inherit (callPackages ../build-support/node/fetch-npm-deps { })
fetchNpmDeps prefetch-npm-deps;
nodePackages_latest = dontRecurseIntoAttrs nodejs_latest.pkgs;
nodePackages_latest = dontRecurseIntoAttrs nodejs_latest.pkgs // { __attrsFailEvaluation = true; };
nodePackages = dontRecurseIntoAttrs nodejs.pkgs;
nodePackages = dontRecurseIntoAttrs nodejs.pkgs // { __attrsFailEvaluation = true; };
node2nix = nodePackages.node2nix;
@ -16251,7 +16252,8 @@ with pkgs;
# Prefer native-bignum to avoid linking issues with gmp
else if stdenv.hostPlatform.isStatic
then haskell.packages.native-bignum.ghc94
else haskell.packages.ghc94);
else haskell.packages.ghc94)
// { __recurseIntoDerivationForReleaseJobs = true; };
# haskellPackages.ghc is build->host (it exposes the compiler used to build the
# set, similarly to stdenv.cc), but pkgs.ghc should be host->target to be more
@ -16832,7 +16834,7 @@ with pkgs;
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
ocaml-ng = callPackage ./ocaml-packages.nix { };
ocaml-ng = callPackage ./ocaml-packages.nix { } // { __attrsFailEvaluation = true; };
ocaml = ocamlPackages.ocaml;
ocamlPackages = recurseIntoAttrs ocaml-ng.ocamlPackages;
@ -17616,8 +17618,9 @@ with pkgs;
inherit (beam.packages.erlang)
erlang-ls erlfmt elvis-erlang
rebar rebar3 rebar3WithPlugins
fetchHex beamPackages
fetchHex
lfe lfe_2_1;
beamPackages = beam.packages.erlang // { __attrsFailEvaluation = true; };
expr = callPackage ../development/interpreters/expr { };
@ -17899,19 +17902,19 @@ with pkgs;
# List of extensions with overrides to apply to all Python package sets.
pythonPackagesExtensions = [ ];
# Python package sets.
python27Packages = python27.pkgs;
python38Packages = python38.pkgs;
python39Packages = python39.pkgs;
python310Packages = recurseIntoAttrs python310.pkgs;
python311Packages = recurseIntoAttrs python311.pkgs;
python312Packages = python312.pkgs;
python313Packages = python313.pkgs;
pypyPackages = pypy.pkgs;
pypy2Packages = pypy2.pkgs;
pypy27Packages = pypy27.pkgs;
pypy3Packages = pypy3.pkgs;
pypy39Packages = pypy39.pkgs;
pypy310Packages = pypy310.pkgs;
python27Packages = python27.pkgs // { __attrsFailEvaluation = true; };
python38Packages = python38.pkgs // { __attrsFailEvaluation = true; };
python39Packages = python39.pkgs // { __attrsFailEvaluation = true; };
python310Packages = recurseIntoAttrs python310.pkgs // { pythonPackages = python310.pkgs // { __attrsFailEvaluation = true; }; };
python311Packages = recurseIntoAttrs python311.pkgs // { pythonPackages = python311.pkgs // { __attrsFailEvaluation = true; }; };
python312Packages = python312.pkgs // { __attrsFailEvaluation = true; };
python313Packages = python313.pkgs // { __attrsFailEvaluation = true; };
pypyPackages = pypy.pkgs // { __attrsFailEvaluation = true; };
pypy2Packages = pypy2.pkgs // { __attrsFailEvaluation = true; };
pypy27Packages = pypy27.pkgs // { __attrsFailEvaluation = true; };
pypy3Packages = pypy3.pkgs // { __attrsFailEvaluation = true; };
pypy39Packages = pypy39.pkgs // { __attrsFailEvaluation = true; };
pypy310Packages = pypy310.pkgs // { __attrsFailEvaluation = true; };
py3c = callPackage ../development/libraries/py3c { };
@ -24663,9 +24666,9 @@ with pkgs;
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
});
libsForQt5 = recurseIntoAttrs (import ./qt5-packages.nix {
libsForQt5 = (recurseIntoAttrs (import ./qt5-packages.nix {
inherit lib __splicedPackages makeScopeWithSplicing' generateSplicesForMkScope pkgsHostTarget;
});
})) // { __recurseIntoDerivationForReleaseJobs = true; };
# plasma5Packages maps to the Qt5 packages set that is used to build the plasma5 desktop
plasma5Packages = libsForQt5;
@ -25980,11 +25983,11 @@ with pkgs;
};
lispPackages = quicklispPackages //
(lispPackagesFor (wrapLisp_old sbcl));
(lispPackagesFor (wrapLisp_old sbcl)) // { __attrsFailEvaluation = true; };
quicklispPackagesFor = clwrapper: callPackage ../development/lisp-modules-obsolete/quicklisp-to-nix.nix {
inherit clwrapper;
};
} // { __attrsFailEvaluation = true; };
quicklispPackagesClisp = dontRecurseIntoAttrs (quicklispPackagesFor (wrapLisp_old clisp));
quicklispPackagesSBCL = dontRecurseIntoAttrs (quicklispPackagesFor (wrapLisp_old sbcl));
quicklispPackagesECL = dontRecurseIntoAttrs (quicklispPackagesFor (wrapLisp_old ecl));
@ -25994,7 +25997,8 @@ with pkgs;
quicklispPackages = quicklispPackagesSBCL;
# Alternative lisp-modules implementation
lispPackages_new = callPackage ../development/lisp-modules-new-obsolete/lisp-packages.nix {};
lispPackages_new = callPackage ../development/lisp-modules-new-obsolete/lisp-packages.nix {}
// { __attrsFailEvaluation = true; };
## End of DEPRECATED
@ -26140,9 +26144,9 @@ with pkgs;
rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; };
rPackages = dontRecurseIntoAttrs (callPackage ../development/r-modules {
rPackages = (dontRecurseIntoAttrs (callPackage ../development/r-modules {
overrides = (config.rPackageOverrides or (_: {})) pkgs;
});
})) // { __attrsFailEvaluation = true; };
### SERVERS
@ -31383,7 +31387,7 @@ with pkgs;
# This alias should live in aliases.nix but that would cause Hydra not to evaluate/build the packages.
# If you turn this into "real" alias again, please add it to pkgs/top-level/packages-config.nix again too
emacsPackages = emacs.pkgs;
emacsPackages = emacs.pkgs // { __recurseIntoDerivationForReleaseJobs = true; };
emptty = callPackage ../applications/display-managers/emptty { };
@ -33816,9 +33820,9 @@ with pkgs;
mop = callPackage ../applications/misc/mop { };
mopidyPackages = callPackages ../applications/audio/mopidy {
mopidyPackages = (callPackages ../applications/audio/mopidy {
python = python3;
};
}) // { __attrsFailEvaluation = true; };
inherit (mopidyPackages)
mopidy
@ -34725,7 +34729,10 @@ with pkgs;
picosnitch = callPackage ../tools/networking/picosnitch { };
pidginPackages = recurseIntoAttrs (callPackage ../applications/networking/instant-messengers/pidgin/pidgin-plugins { });
pidginPackages =
let pidgin-plugins =
recurseIntoAttrs (callPackage ../applications/networking/instant-messengers/pidgin/pidgin-plugins { });
in pidgin-plugins // { pidginPackages = pidgin-plugins.pidginPackages // { __attrsFailEvaluation = true; }; };
inherit (pidginPackages) pidgin;

View File

@ -101,4 +101,6 @@ in
erlang_25 = self.packagesWith self.interpreters.erlang_25;
erlang_24 = self.packagesWith self.interpreters.erlang_24;
} // packagesAliases;
__attrsFailEvaluation = true;
}

View File

@ -8,7 +8,7 @@ let
mkCoqPackages' = self: coq:
let callPackage = self.callPackage; in {
inherit coq lib;
coqPackages = self;
coqPackages = self // { coqPackages = self.coqPackages // { recurseForDerivations = false; }; };
metaFetch = import ../build-support/coq/meta-fetch/default.nix
{inherit lib stdenv fetchzip; };
@ -190,21 +190,23 @@ in rec {
coq_8_17 = mkCoq "8.17";
coq_8_18 = mkCoq "8.18";
coqPackages_8_5 = mkCoqPackages coq_8_5;
coqPackages_8_6 = mkCoqPackages coq_8_6;
coqPackages_8_7 = mkCoqPackages coq_8_7;
coqPackages_8_8 = mkCoqPackages coq_8_8;
coqPackages_8_9 = mkCoqPackages coq_8_9;
coqPackages_8_10 = mkCoqPackages coq_8_10;
coqPackages_8_11 = mkCoqPackages coq_8_11;
coqPackages_8_12 = mkCoqPackages coq_8_12;
coqPackages_8_13 = mkCoqPackages coq_8_13;
coqPackages_8_14 = mkCoqPackages coq_8_14;
coqPackages_8_15 = mkCoqPackages coq_8_15;
coqPackages_8_16 = mkCoqPackages coq_8_16;
coqPackages_8_17 = mkCoqPackages coq_8_17;
coqPackages_8_18 = mkCoqPackages coq_8_18;
coqPackages = recurseIntoAttrs coqPackages_8_18;
coqPackages_8_5 = mkCoqPackages coq_8_5 // { __attrsFailEvaluation = true; };
coqPackages_8_6 = mkCoqPackages coq_8_6 // { __attrsFailEvaluation = true; };
coqPackages_8_7 = mkCoqPackages coq_8_7 // { __attrsFailEvaluation = true; };
coqPackages_8_8 = mkCoqPackages coq_8_8 // { __attrsFailEvaluation = true; };
coqPackages_8_9 = mkCoqPackages coq_8_9 // { __attrsFailEvaluation = true; };
coqPackages_8_10 = mkCoqPackages coq_8_10 // { __attrsFailEvaluation = true; };
coqPackages_8_11 = mkCoqPackages coq_8_11 // { __attrsFailEvaluation = true; };
coqPackages_8_12 = mkCoqPackages coq_8_12 // { __attrsFailEvaluation = true; };
coqPackages_8_13 = mkCoqPackages coq_8_13 // { __attrsFailEvaluation = true; };
coqPackages_8_14 = mkCoqPackages coq_8_14 // { __attrsFailEvaluation = true; };
coqPackages_8_15 = mkCoqPackages coq_8_15 // { __attrsFailEvaluation = true; };
coqPackages_8_16 = mkCoqPackages coq_8_16 // { __attrsFailEvaluation = true; };
coqPackages_8_17 = mkCoqPackages coq_8_17 // { __attrsFailEvaluation = true; };
coqPackages_8_18 = mkCoqPackages coq_8_18 // { __attrsFailEvaluation = true; };
coqPackages =
let cp = recurseIntoAttrs coqPackages_8_18;
in cp // { coqPackages = cp.coqPackages // { __attrsFailEvaluation = true; }; } // { __recurseIntoDerivationForReleaseJobs = true; };
coq = coqPackages.coq;
}

View File

@ -26,6 +26,7 @@
lib,
newScope,
pkgs,
__attrsFailEvaluation ? true,
}:
let
inherit (lib)
@ -118,4 +119,4 @@ let
fixedPoints.extends composedExtension passthruFunction
);
in
cudaPackages
cudaPackages // { inherit __attrsFailEvaluation; }

View File

@ -35,6 +35,7 @@ in {
else package-darwin;
in {
inherit package-linux package-darwin;
__attrsFailEvaluation = true;
jdk-hotspot = callPackage package.jdk-hotspot {};
jre-hotspot = callPackage package.jre-hotspot {};

View File

@ -398,7 +398,8 @@ in {
nvidiabl = callPackage ../os-specific/linux/nvidiabl { };
nvidiaPackages = dontRecurseIntoAttrs (lib.makeExtensible (_: callPackage ../os-specific/linux/nvidia-x11 { }));
nvidiaPackages = dontRecurseIntoAttrs (lib.makeExtensible (_: callPackage ../os-specific/linux/nvidia-x11 { }))
// { __attrsFailEvaluation = true; };
nvidia_x11 = nvidiaPackages.stable;
nvidia_x11_beta = nvidiaPackages.beta;
@ -589,6 +590,7 @@ in {
linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
linux_6_5 = recurseIntoAttrs (packagesFor kernels.linux_6_5);
linux_6_6 = recurseIntoAttrs (packagesFor kernels.linux_6_6);
__attrsFailEvaluation = true;
} // lib.optionalAttrs config.allowAliases {
linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08
linux_4_14 = throw "linux 4.14 was removed because it will reach its end of life within 23.11"; # Added 2023-10-11
@ -606,6 +608,7 @@ in {
linux_rt_5_10 = packagesFor kernels.linux_rt_5_10;
linux_rt_5_15 = packagesFor kernels.linux_rt_5_15;
linux_rt_6_1 = packagesFor kernels.linux_rt_6_1;
__attrsFailEvaluation = true;
};
rpiPackages = {
@ -613,6 +616,7 @@ in {
linux_rpi2 = packagesFor kernels.linux_rpi2;
linux_rpi3 = packagesFor kernels.linux_rpi3;
linux_rpi4 = packagesFor kernels.linux_rpi4;
__attrsFailEvaluation = true;
};
packages = recurseIntoAttrs (vanillaPackages // rtPackages // rpiPackages // {
@ -641,6 +645,7 @@ in {
linux_libre = recurseIntoAttrs (packagesFor kernels.linux_libre);
linux_latest_libre = recurseIntoAttrs (packagesFor kernels.linux_latest_libre);
__recurseIntoDerivationForReleaseJobs = true;
} // lib.optionalAttrs config.allowAliases {
linux_5_18_hardened = throw "linux 5.18 was removed because it has reached its end of life upstream";
linux_5_19_hardened = throw "linux 5.19 was removed because it has reached its end of life upstream";
@ -655,7 +660,7 @@ in {
linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";
linux_rt_default = packages.linux_rt_5_4;
linux_rt_latest = packages.linux_rt_6_1;
};
} // { __attrsFailEvaluation = true; };
manualConfig = callPackage ../os-specific/linux/kernel/manual-config.nix {};

View File

@ -23,7 +23,7 @@ in
with self; {
inherit perl;
perlPackages = self;
perlPackages = self // { perlPackages = self.perlPackages // { __attrsFailEvaluation = true; }; };
# Check whether a derivation provides a perl module.
hasPerlModule = drv: drv ? perlModule ;

View File

@ -17,5 +17,5 @@ let
};
in
lib.recurseIntoAttrs {
defaultPkgConfigPackages = allPkgs.callPackage ./test-defaultPkgConfigPackages.nix { };
defaultPkgConfigPackages = allPkgs.callPackage ./test-defaultPkgConfigPackages.nix { } // { __recurseIntoDerivationForReleaseJobs = true; };
}

View File

@ -69,7 +69,9 @@ makeScopeWithSplicing' {
};
in (lib.makeOverridable mkMaui attrs);
noExtraAttrs = set: lib.attrsets.removeAttrs set [ "extend" "override" "overrideScope" "overrideScope'" "overrideDerivation" ];
noExtraAttrs = set:
lib.attrsets.removeAttrs set [ "extend" "override" "overrideScope" "overrideScope'" "overrideDerivation" ]
// { __attrsFailEvaluation = true; };
in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGear // mauiPackages // qt5 // {

View File

@ -29,7 +29,7 @@ let
let res = builtins.tryEval (
if isDerivation value then
value.meta.isBuildPythonPackage or []
else if value.recurseForDerivations or false || value.recurseForRelease or false then
else if value.recurseForDerivations or false || value.recurseForRelease or false || value.__recurseIntoDerivationForReleaseJobs or false then
packagePython value
else
[]);