From 80472e375406bb8f130b7d1e360fe89d042f7661 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Wed, 22 Nov 2023 16:46:36 -0800 Subject: [PATCH] treewide: add __attrsFailEvaluation and __recurseIntoDerivationForReleaseJobs --- lib/types.nix | 1 + pkgs/applications/editors/eclipse/default.nix | 2 +- .../elisp-packages/elpa-devel-packages.nix | 2 +- .../emacs/elisp-packages/elpa-packages.nix | 2 +- .../emacs/elisp-packages/manual-packages.nix | 2 + .../emacs/elisp-packages/melpa-packages.nix | 3 +- .../emacs/elisp-packages/nongnu-packages.nix | 4 +- .../editors/jetbrains/default.nix | 2 +- pkgs/desktops/gnome/extensions/default.nix | 3 + .../compilers/chicken/4/default.nix | 2 +- pkgs/development/compilers/rust/default.nix | 2 +- pkgs/development/compilers/swift/default.nix | 3 +- pkgs/development/haskell-modules/default.nix | 3 +- .../haskell-modules/make-package-set.nix | 4 +- .../interpreters/lua-5/default.nix | 3 +- .../libraries/qt-5/5.15/default.nix | 2 +- pkgs/test/cuda/default.nix | 2 + pkgs/test/default.nix | 4 +- pkgs/top-level/all-packages.nix | 69 ++++++++++--------- pkgs/top-level/beam-packages.nix | 2 + pkgs/top-level/coq-packages.nix | 34 ++++----- pkgs/top-level/cuda-packages.nix | 3 +- pkgs/top-level/java-packages.nix | 1 + pkgs/top-level/linux-kernels.nix | 9 ++- pkgs/top-level/perl-packages.nix | 2 +- pkgs/top-level/pkg-config/tests.nix | 2 +- pkgs/top-level/qt5-packages.nix | 4 +- pkgs/top-level/release-python.nix | 2 +- 28 files changed, 103 insertions(+), 71 deletions(-) diff --git a/lib/types.nix b/lib/types.nix index 51e58eaa8ab5..4378568c141f 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -67,6 +67,7 @@ let ; outer_types = rec { + __attrsFailEvaluation = true; isType = type: x: (x._type or "") == type; setType = typeName: value: value // { diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 72ecd8e094f4..dd33558e06f6 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -226,6 +226,6 @@ in rec { ### Plugins - plugins = callPackage ./plugins.nix { }; + plugins = callPackage ./plugins.nix { } // { __attrsFailEvaluation = true; }; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix index 60c257e365ce..3d0073bf8143 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix @@ -89,4 +89,4 @@ self: let in elpaDevelPackages // { inherit elpaBuild; }); -in generateElpa { } +in (generateElpa { }) // { __attrsFailEvaluation = true; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix index 2a6cb016cdc8..112445453abb 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix @@ -181,4 +181,4 @@ self: let in elpaPackages // { inherit elpaBuild; }); -in generateElpa { } +in (generateElpa { }) // { __attrsFailEvaluation = true; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index d53ee7056a89..bd0f1114b1cd 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -113,4 +113,6 @@ in emacsSessionManagement = self.session-management-for-emacs; rectMark = self.rect-mark; sunriseCommander = self.sunrise-commander; + + __attrsFailEvaluation = true; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index aa1fb2f8050b..bb45c383487c 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -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; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix index cd32a8bd3975..beca93ea4c35 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix @@ -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; diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 7ce12807985b..e40fa4c68d72 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -249,6 +249,6 @@ rec { webstorm = mkJetBrainsProduct { pname = "webstorm"; extraBuildInputs = [ stdenv.cc.cc musl ]; }; - plugins = callPackage ./plugins { }; + plugins = callPackage ./plugins { } // { __attrsFailEvaluation = true; }; } diff --git a/pkgs/desktops/gnome/extensions/default.nix b/pkgs/desktops/gnome/extensions/default.nix index 686f8031ec86..bfb5f4ff33e6 100644 --- a/pkgs/desktops/gnome/extensions/default.nix +++ b/pkgs/desktops/gnome/extensions/default.nix @@ -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 ]; + } diff --git a/pkgs/development/compilers/chicken/4/default.nix b/pkgs/development/compilers/chicken/4/default.nix index de64d20d3e05..7502a7a9f1e7 100644 --- a/pkgs/development/compilers/chicken/4/default.nix +++ b/pkgs/development/compilers/chicken/4/default.nix @@ -3,7 +3,7 @@ let callPackage = newScope self; self = { - pkgs = self; + pkgs = self // { recurseForDerivations = false; }; fetchegg = callPackage ./fetchegg { }; diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index d56b6fb9e08e..c08ffa848ef5 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -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 ({ diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix index 0da2510f09a0..afb8ce39dcce 100644 --- a/pkgs/development/compilers/swift/default.nix +++ b/pkgs/development/compilers/swift/default.nix @@ -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; diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index 7bc1fa0f7e83..e766203bd1f0 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -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 [ diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index c39c934bed64..294ca295f22b 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -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 diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix index 2fda54bef530..ce91b024ce84 100644 --- a/pkgs/development/interpreters/lua-5/default.nix +++ b/pkgs/development/interpreters/lua-5/default.nix @@ -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; }; diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 68a3e3531e19..7a5ff60c9acb 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -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; diff --git a/pkgs/test/cuda/default.nix b/pkgs/test/cuda/default.nix index be88bd3820a9..8431e4b9207d 100644 --- a/pkgs/test/cuda/default.nix +++ b/pkgs/test/cuda/default.nix @@ -27,4 +27,6 @@ rec { cuda-library-samples_cudatoolkit_11_3 cuda-library-samples_cudatoolkit_11_4 ; + + __attrsFailEvaluation = true; } diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 29dc4b5192ec..cfae7a1edd8c 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -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 { }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0a22df22740..dc0ea107ac04 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index ff9d1f62ab1f..62ab2a63ae74 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -101,4 +101,6 @@ in erlang_25 = self.packagesWith self.interpreters.erlang_25; erlang_24 = self.packagesWith self.interpreters.erlang_24; } // packagesAliases; + + __attrsFailEvaluation = true; } diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index cf3817a3d7e4..64cbe925b518 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -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; } diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix index 19ff558afbc7..d474cf852e55 100644 --- a/pkgs/top-level/cuda-packages.nix +++ b/pkgs/top-level/cuda-packages.nix @@ -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; } diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 88c95457afee..f2c725bfb4c2 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -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 {}; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 27496b910444..64e0dee47514 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -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 {}; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 558eedeff407..2cb7718f892c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -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 ; diff --git a/pkgs/top-level/pkg-config/tests.nix b/pkgs/top-level/pkg-config/tests.nix index ec1d445c5903..786e2ecc534b 100644 --- a/pkgs/top-level/pkg-config/tests.nix +++ b/pkgs/top-level/pkg-config/tests.nix @@ -17,5 +17,5 @@ let }; in lib.recurseIntoAttrs { - defaultPkgConfigPackages = allPkgs.callPackage ./test-defaultPkgConfigPackages.nix { }; + defaultPkgConfigPackages = allPkgs.callPackage ./test-defaultPkgConfigPackages.nix { } // { __recurseIntoDerivationForReleaseJobs = true; }; } diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index 9acaacea24a4..f38a4c1c4907 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -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 // { diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix index ec5255362bcc..bc54860d45f6 100644 --- a/pkgs/top-level/release-python.nix +++ b/pkgs/top-level/release-python.nix @@ -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 []);