nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p jq nixVersions.latest
3set -euo pipefail
4
5# Generate a list of attr paths that are different when enableRocm = true
6# Special case python3*Packages to only build the default python3Packages
7rocmDir=$(dirname "$(realpath "$0")")
8
9pkgsTmp=$(mktemp)
10pkgsRocmTmp=$(mktemp)
11trap "rm -f $pkgsTmp $pkgsRocmTmp" EXIT
12
13echo "Generating attrPaths to compare for pkgs and pkgsRocm" >&2
14
15{
16 nix-instantiate --eval --strict --json "$rocmDir/release-attrPaths-gen.nix" \
17 --argstr variant pkgs > "$pkgsTmp" &
18 nix-instantiate --eval --strict --json "$rocmDir/release-attrPaths-gen.nix" \
19 --argstr variant pkgsRocm > "$pkgsRocmTmp" &
20 wait
21}
22
23<"$pkgsRocmTmp" >"$rocmDir/release-attrPaths.json" jq --slurpfile def "$pkgsTmp" '
24{
25 "__generatedBy": "'"$0"'",
26 "attrPaths": [
27 ($def[0] | map({(.p): .o}) | add) as $def_map |
28 .[] |
29 select(
30 ($def_map[.p] == null) or
31 ($def_map[.p] != .o)
32 ) |
33 .p |
34 gsub("python3\\d+Packages"; "python3Packages")
35 ] | unique
36}
37'
38
39echo "Generated $rocmDir/release-attrPaths.json" >&2