mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-12 02:40:31 +08:00
This attribute was supposed to be set on derivations, to make the release tools recurse into them. The remaining uses were all on regular attrsets, though, so this is safe to remove.
77 lines
1.9 KiB
Nix
77 lines
1.9 KiB
Nix
# This expression will, as efficiently as possible, dump a
|
|
# *superset* of all attrpaths of derivations which might be
|
|
# part of a release on *any* platform.
|
|
#
|
|
# This expression runs single-threaded under all current Nix
|
|
# implementations, but much faster and with much less memory
|
|
# used than ./outpaths.nix itself.
|
|
#
|
|
# Once you have the list of attrnames you can split it up into
|
|
# $NUM_CORES batches and evaluate the outpaths separately for each
|
|
# batch, in parallel.
|
|
#
|
|
# To dump the attrnames:
|
|
#
|
|
# nix-instantiate --eval --strict --json ci/eval/attrpaths.nix -A names
|
|
#
|
|
{
|
|
lib ? import (path + "/lib"),
|
|
trace ? false,
|
|
path ? ./../..,
|
|
}:
|
|
let
|
|
|
|
# TODO: Use mapAttrsToListRecursiveCond when this PR lands:
|
|
# https://github.com/NixOS/nixpkgs/pull/395160
|
|
justAttrNames =
|
|
path: value:
|
|
let
|
|
result =
|
|
if path == [ "AAAAAASomeThingsFailToEvaluate" ] || !(lib.isAttrs value) then
|
|
[ ]
|
|
else if lib.isDerivation value then
|
|
[ path ]
|
|
else
|
|
lib.pipe value [
|
|
(lib.mapAttrsToList (
|
|
name: value:
|
|
lib.addErrorContext "while evaluating package set attribute path '${
|
|
lib.showAttrPath (path ++ [ name ])
|
|
}'" (justAttrNames (path ++ [ name ]) value)
|
|
))
|
|
lib.concatLists
|
|
];
|
|
in
|
|
lib.traceIf trace "** ${lib.showAttrPath path}" result;
|
|
|
|
outpaths = import ./outpaths.nix {
|
|
inherit path;
|
|
attrNamesOnly = true;
|
|
};
|
|
|
|
paths = [
|
|
# I am not entirely sure why these three packages end up in
|
|
# the Hydra jobset. But they do, and they don't meet the
|
|
# criteria above, so at the moment they are special-cased.
|
|
[
|
|
"pkgsLLVM"
|
|
"stdenv"
|
|
]
|
|
[
|
|
"pkgsStatic"
|
|
"stdenv"
|
|
]
|
|
[
|
|
"pkgsMusl"
|
|
"stdenv"
|
|
]
|
|
]
|
|
++ justAttrNames [ ] outpaths;
|
|
|
|
names = map lib.showAttrPath paths;
|
|
|
|
in
|
|
{
|
|
inherit paths names;
|
|
}
|