just checkout lol

This commit is contained in:
2026-07-13 16:55:42 +02:00
parent cc828be270
commit c2fd0ecfda
+59 -5
View File
@@ -413,6 +413,12 @@ __build_packages $system $outdir +$attrpaths:
chmod +x "$outdir"/_rerun.sh
fd . "$outdir" -l
# TODO: redesign or drop
@build-pr-packages $pr=`just _a_pr` $merge=`gum choose --header="which refs/pull/<id>/xxx ?" merge head` $attrpaths=`just _some_packages` $args=`gum choose --no-limit -- -j0 "--system "{aarch64,x86_64}-{darwin,linux} --rebuild`:
printf "github:nixos/nixpkgs/refs/pull/"$(just _sanitize_pr_url "$pr")"/$merge#%s\n" $attrpaths | xargs {{XARGS_NL}} echo + nom build $args
(printf "github:nixos/nixpkgs/refs/pull/"$(just _sanitize_pr_url "$pr")"/$merge#%s\n" $attrpaths | xargs {{XARGS_NL}} nom build $args) ||:
printf "github:nixos/nixpkgs/refs/pull/"$(just _sanitize_pr_url "$pr")"/$merge#%s\n" $attrpaths | xargs {{XARGS_NL}} echo + nom build $args
# TODO: use in 'bump'
[no-cd]
build-package-sources *packages:
@@ -473,11 +479,59 @@ _build_package_sources $system +packages:
} >build.nix
chmod +x build.nix
# TODO: redesign or drop
@build-pr-packages $pr=`just _a_pr` $merge=`gum choose --header="which refs/pull/<id>/xxx ?" merge head` $attrpaths=`just _some_packages` $args=`gum choose --no-limit -- -j0 "--system "{aarch64,x86_64}-{darwin,linux} --rebuild`:
printf "github:nixos/nixpkgs/refs/pull/"$(just _sanitize_pr_url "$pr")"/$merge#%s\n" $attrpaths | xargs {{XARGS_NL}} echo + nom build $args
(printf "github:nixos/nixpkgs/refs/pull/"$(just _sanitize_pr_url "$pr")"/$merge#%s\n" $attrpaths | xargs {{XARGS_NL}} nom build $args) ||:
printf "github:nixos/nixpkgs/refs/pull/"$(just _sanitize_pr_url "$pr")"/$merge#%s\n" $attrpaths | xargs {{XARGS_NL}} echo + nom build $args
[no-cd]
checkout-package-sources *packages:
#!/usr/bin/env -S bash -euo pipefail
packages=("$@")
[[ "${#packages[@]}" -gt 0 ]] || readarray -td $'\n' packages < <( just _some_packages )
just _checkout_package_sources "${packages[@]}"
[no-cd]
_checkout_package_sources *packages:
#!/usr/bin/env -S bash -euo pipefail
packages=("$@")
verbose() (set -x; "$@";)
if [[ -d results-checkout ]]; then
verbose rm -rf results-checkout/
fi
delcare -A repo_urls=()
delcare -A repo_revs=()
for package in "${packages[@]}"; do
repo_url=$(verbose nix eval -f default.nix "$package".src.gitRepoUrl --raw ||:)
[[ -n "$repo_url" ]] || continue
repo_rev=$(verbose nix eval -f default.nix "$package".src.tag --raw ||:)
[[ -n "$repo_rev" ]] ||
repo_rev=$(verbose nix eval -f default.nix "$package".src.rev --raw ||:)
[[ -n "$repo_rev" ]] || continue
repo_urls["$package"]="$repo_url"
repo_urls["$package"]="$repo_rev"
verbose git clone "$repo_url" results-checkout/"$package".src --branch "$repo_rev" ||:
done
{
# echo "#!/usr/bin/env -S nom-build"
echo "#!/usr/bin/env -S nom build -f"
echo "let pkgs = import ./. { }; in {"
for package in "${packages[@]}"; do
# printf " # ./build.nix -A %q" "$package"
echo " /*"
printf " ./build.nix %q\n" "$package"
printf " ./build.nix %q\n" "$package"
echo " */"
printf " %s = pkgs.%s.overrideAttrs { src = ./results-checkout/%s.src; };\n" "$package" "$package" "$package"
done
echo "}"
echo "/*"
echo "nom-build ./build.nix$(printf " -A %q" "${packages[@]}")"
echo "nix-build ./build.nix$(printf " -A %q" "${packages[@]}")"
echo "./build.nix$(printf " %q" "${packages[@]}")"
echo "./build.nix"
printf "git -C ./results-checkout/%s.src diff\n" "${packages[@]}"
echo "*/"
} >build.nix
chmod +x build.nix
# === commit helpers ===