#!/bin/sh set -eu guix_source_url=${GUIX_SOURCE_URL:-https://git.teralink.net/tribes/guix.git} guix_source_dir=${GUIX_SOURCE_DIR:-$HOME/.local/opt/fruix-builder/src/guix} metadata_target=${METADATA_OUT:-} command -v git >/dev/null 2>&1 || { echo "git is required" >&2 exit 1 } mkdir -p "$(dirname "$guix_source_dir")" if [ -d "$guix_source_dir/guix" ]; then printf 'Using existing Guix source tree: %s\n' "$guix_source_dir" else rm -rf "$guix_source_dir" printf 'Cloning Guix source from: %s\n' "$guix_source_url" git clone "$guix_source_url" "$guix_source_dir" >"$guix_source_dir.clone.log" 2>&1 fi resolved_commit=$(git -C "$guix_source_dir" rev-parse HEAD) metadata_file=$guix_source_dir/.fruix-bootstrap-guix-source.txt cat >"$metadata_file" <