diff --git a/ci/eval/default.nix b/ci/eval/default.nix index efe216c98f5c6..31bc6b01c3279 100644 --- a/ci/eval/default.nix +++ b/ci/eval/default.nix @@ -64,8 +64,7 @@ let -I "$src" \ --option restrict-eval true \ --option allow-import-from-derivation false \ - --option eval-system "${evalSystem}" \ - --arg enableWarnings false > $out/paths.json + --option eval-system "${evalSystem}" > $out/paths.json ''; singleSystem = diff --git a/pkgs/by-name/bm/bmake/package.nix b/pkgs/by-name/bm/bmake/package.nix index c97b416ff037f..4e68c32368e20 100644 --- a/pkgs/by-name/bm/bmake/package.nix +++ b/pkgs/by-name/bm/bmake/package.nix @@ -4,7 +4,7 @@ fetchurl, getopt, ksh, - pkgsMusl, + pkgsMusl ? { }, stdenv, tzdata, }: @@ -107,7 +107,7 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { - bmakeMusl = pkgsMusl.bmake; + bmakeMusl = pkgsMusl.bmake or null; }; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fcf38107ed8ba..8b7cfa1aec937 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -113,12 +113,10 @@ with pkgs; stringsWithDeps = lib.stringsWithDeps; - ### Evaluating the entire Nixpkgs naively will fail, make failure fast + ### Evaluating the entire Nixpkgs naively will likely fail, make failure fast AAAAAASomeThingsFailToEvaluate = throw '' - Please be informed that this pseudo-package is not the only part - of Nixpkgs that fails to evaluate. You should not evaluate - entire Nixpkgs without some special measures to handle failing - packages, like using pkgs/top-level/release-attrpaths-superset.nix. + This pseudo-package is likely not the only part of Nixpkgs that fails to evaluate. + You should not evaluate entire Nixpkgs without measures to handle failing packages. ''; tests = callPackages ../test { }; diff --git a/pkgs/top-level/release-attrpaths-superset.nix b/pkgs/top-level/release-attrpaths-superset.nix index 6802da8b37114..894c795ff587b 100644 --- a/pkgs/top-level/release-attrpaths-superset.nix +++ b/pkgs/top-level/release-attrpaths-superset.nix @@ -24,7 +24,6 @@ { lib ? import (path + "/lib"), trace ? false, - enableWarnings ? true, checkMeta ? true, path ? ./../.., }: @@ -62,8 +61,10 @@ let justAttrNames = path: value: let - attempt = - if + result = + if path == [ "AAAAAASomeThingsFailToEvaluate" ] then + [ ] + else if lib.isDerivation value && # in some places we have *derivations* with jobsets as subattributes, ugh @@ -94,17 +95,6 @@ let builtins.attrValues builtins.concatLists ]; - - seq = builtins.deepSeq attempt attempt; - tried = builtins.tryEval seq; - - result = - if tried.success then - tried.value - else if enableWarnings && path != [ "AAAAAASomeThingsFailToEvaluate" ] then - lib.warn "tryEval failed at: ${lib.concatStringsSep "." path}" [ ] - else - [ ]; in if !trace then result else lib.trace "** ${lib.concatStringsSep "." path}" result; diff --git a/pkgs/top-level/release-outpaths.nix b/pkgs/top-level/release-outpaths.nix index 731c65da73e3e..18840848c1857 100644 --- a/pkgs/top-level/release-outpaths.nix +++ b/pkgs/top-level/release-outpaths.nix @@ -29,6 +29,7 @@ let allowBroken = includeBroken; allowUnfree = true; allowInsecurePredicate = x: true; + allowVariants = !attrNamesOnly; checkMeta = checkMeta; handleEvalIssue = diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index e921f7decf1ac..bfc2ee8f664c9 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -280,28 +280,6 @@ let else throw "i686 Linux package set can only be used with the x86 family."; - # x86_64-darwin packages for aarch64-darwin users to use with Rosetta for incompatible packages - pkgsx86_64Darwin = - if stdenv.hostPlatform.isDarwin then - nixpkgsFun { - overlays = [ - (self': super': { - pkgsx86_64Darwin = super'; - }) - ] - ++ overlays; - localSystem = { - config = lib.systems.parse.tripleFromSystem ( - stdenv.hostPlatform.parsed - // { - cpu = lib.systems.parse.cpuTypes.x86_64; - } - ); - }; - } - else - throw "x86_64 Darwin package set can only be used on Darwin systems."; - # If already linux: the same package set unaltered # Otherwise, return a natively built linux package set for the current cpu architecture string. # (ABI and other details will be set to the default for the cpu/os pair) diff --git a/pkgs/top-level/variants.nix b/pkgs/top-level/variants.nix index bb4b877cb6e88..fb4890910cdfb 100644 --- a/pkgs/top-level/variants.nix +++ b/pkgs/top-level/variants.nix @@ -90,6 +90,28 @@ self: super: { else throw "Musl libc only supports 64-bit Linux systems."; + # x86_64-darwin packages for aarch64-darwin users to use with Rosetta for incompatible packages + pkgsx86_64Darwin = + if stdenv.hostPlatform.isDarwin then + nixpkgsFun { + overlays = [ + (self': super': { + pkgsx86_64Darwin = super'; + }) + ] + ++ overlays; + localSystem = { + config = lib.systems.parse.tripleFromSystem ( + stdenv.hostPlatform.parsed + // { + cpu = lib.systems.parse.cpuTypes.x86_64; + } + ); + }; + } + else + throw "x86_64 Darwin package set can only be used on Darwin systems."; + # Full package set with rocm on cuda off # Mostly useful for asserting pkgs.pkgsRocm.torchWithRocm == pkgs.torchWithRocm and similar pkgsRocm = nixpkgsFun ({