Files
nixpkgs/pkgs/development/rocm-modules/6/release-attrPaths-gen.sh
Luna 45a32f8057 rocmPackages.meta.release-{attrPaths,packagePlatforms}: init
Adding a list of attrPaths and packagePlatform set for use in release
jobset.
2025-09-28 14:00:52 -07:00

40 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env nix-shell
#!nix-shell -i bash -p jq nixVersions.latest
set -euo pipefail
# Generate a list of attr paths that are different when enableRocm = true
# Special case python3*Packages to only build the default python3Packages
rocmDir=$(dirname "$(realpath "$0")")
pkgsTmp=$(mktemp)
pkgsRocmTmp=$(mktemp)
trap "rm -f $pkgsTmp $pkgsRocmTmp" EXIT
echo "Generating attrPaths to compare for pkgs and pkgsRocm" >&2
{
nix-instantiate --eval --strict --json "$rocmDir/release-attrPaths-gen.nix" \
--argstr variant pkgs > "$pkgsTmp" &
nix-instantiate --eval --strict --json "$rocmDir/release-attrPaths-gen.nix" \
--argstr variant pkgsRocm > "$pkgsRocmTmp" &
wait
}
<"$pkgsRocmTmp" >"$rocmDir/release-attrPaths.json" jq --slurpfile def "$pkgsTmp" '
{
"__generatedBy": "'"$0"'",
"attrPaths": [
($def[0] | map({(.p): .o}) | add) as $def_map |
.[] |
select(
($def_map[.p] == null) or
($def_map[.p] != .o)
) |
.p |
gsub("python3\\d+Packages"; "python3Packages")
] | unique
}
'
echo "Generated $rocmDir/release-attrPaths.json" >&2