mirror of
https://github.com/aaif-goose/goose.git
synced 2026-07-03 14:10:03 +02:00
Add Linux musl CLI builds (#9240)
Signed-off-by: jh-block <jhugo@block.xyz>
This commit is contained in:
+28
-4
@@ -18,7 +18,7 @@ set -eu
|
||||
# GOOSE_VERSION - Optional: specific version to install (e.g., "v1.0.25"). Overrides CANARY. Can be in the format vX.Y.Z, vX.Y.Z-suffix, or X.Y.Z
|
||||
# GOOSE_PROVIDER - Optional: provider for goose
|
||||
# GOOSE_MODEL - Optional: model for goose
|
||||
# GOOSE_LINUX_VARIANT - Optional: Linux package variant to install (`standard` or `vulkan`)
|
||||
# GOOSE_LINUX_VARIANT - Optional: Linux package variant to install (`standard`, `vulkan`, or `musl`)
|
||||
# GOOSE_WINDOWS_VARIANT - Optional: Windows package variant to install (`standard` or `cuda`)
|
||||
# CANARY - Optional: if set to "true", downloads from canary release instead of stable
|
||||
# CONFIGURE - Optional: if set to "false", disables running goose configure interactively
|
||||
@@ -69,7 +69,7 @@ fi
|
||||
GOOSE_BIN_DIR="${GOOSE_BIN_DIR:-$DEFAULT_BIN_DIR}"
|
||||
RELEASE="${CANARY:-false}"
|
||||
CONFIGURE="${CONFIGURE:-true}"
|
||||
GOOSE_LINUX_VARIANT="${GOOSE_LINUX_VARIANT:-standard}"
|
||||
GOOSE_LINUX_VARIANT="${GOOSE_LINUX_VARIANT:-}"
|
||||
GOOSE_WINDOWS_VARIANT="${GOOSE_WINDOWS_VARIANT:-standard}"
|
||||
if [ -n "${GOOSE_VERSION:-}" ]; then
|
||||
# Validate the version format
|
||||
@@ -141,6 +141,28 @@ case "$ARCH" in
|
||||
;;
|
||||
esac
|
||||
|
||||
detect_linux_musl() {
|
||||
if [[ "$OSTYPE" == "linux-musl"* ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if command -v ldd >/dev/null 2>&1 && ldd --version 2>&1 | grep -qi musl; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
if [ "$OS" = "linux" ] && [ -z "$GOOSE_LINUX_VARIANT" ]; then
|
||||
if detect_linux_musl; then
|
||||
GOOSE_LINUX_VARIANT="musl"
|
||||
else
|
||||
GOOSE_LINUX_VARIANT="standard"
|
||||
fi
|
||||
elif [ -z "$GOOSE_LINUX_VARIANT" ]; then
|
||||
GOOSE_LINUX_VARIANT="standard"
|
||||
fi
|
||||
|
||||
# Debug output (safely handle undefined variables)
|
||||
echo "WINDIR: ${WINDIR:-<not set>}"
|
||||
echo "OSTYPE: $OSTYPE"
|
||||
@@ -176,15 +198,17 @@ elif [ "$OS" = "windows" ]; then
|
||||
OUT_FILE="goose.exe"
|
||||
else
|
||||
case "$GOOSE_LINUX_VARIANT" in
|
||||
standard|vulkan) ;;
|
||||
standard|vulkan|musl) ;;
|
||||
*)
|
||||
echo "Error: Unsupported GOOSE_LINUX_VARIANT '$GOOSE_LINUX_VARIANT'. Expected 'standard' or 'vulkan'."
|
||||
echo "Error: Unsupported GOOSE_LINUX_VARIANT '$GOOSE_LINUX_VARIANT'. Expected 'standard', 'vulkan', or 'musl'."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
FILE="goose-$ARCH-unknown-linux-gnu.tar.bz2"
|
||||
if [ "$GOOSE_LINUX_VARIANT" = "vulkan" ]; then
|
||||
FILE="goose-$ARCH-unknown-linux-gnu-vulkan.tar.bz2"
|
||||
elif [ "$GOOSE_LINUX_VARIANT" = "musl" ]; then
|
||||
FILE="goose-$ARCH-unknown-linux-musl.tar.bz2"
|
||||
fi
|
||||
EXTRACT_CMD="tar"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user