#!/bin/sh
set -eu
HERE=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
ROOT=$(CDPATH= cd -- "$HERE/.." && pwd)
WHEEL_DIR="$ROOT/installable"
PYTHON="${PYTHON:-python}"

if ! command -v "$PYTHON" >/dev/null 2>&1; then
    echo "ERROR: $PYTHON is not available on PATH." >&2
    echo "Activate your Python 3 virtual environment first." >&2
    exit 1
fi

PYMAJOR=$($PYTHON -c 'import sys; print(sys.version_info[0])')
PYMINOR=$($PYTHON -c 'import sys; print(sys.version_info[1])')
if [ "$PYMAJOR" -lt 3 ] || { [ "$PYMAJOR" -eq 3 ] && [ "$PYMINOR" -lt 6 ]; }; then
    echo "ERROR: VQkit requires Python >= 3.6. Found $($PYTHON --version 2>&1)." >&2
    exit 1
fi

if ! "$PYTHON" -m pip --version >/dev/null 2>&1; then
    echo "ERROR: pip is not available for $PYTHON." >&2
    exit 1
fi

WHEEL=$(find "$WHEEL_DIR" -maxdepth 1 -type f -name 'vqkit-*.whl' | head -n 1 || true)
if [ -z "$WHEEL" ]; then
    echo "ERROR: No VQkit wheel found in $WHEEL_DIR" >&2
    exit 1
fi

echo "Installing: $(basename "$WHEEL")"
echo "Python: $($PYTHON --version 2>&1)"

if [ -n "${VIRTUAL_ENV:-}" ]; then
    "$PYTHON" -m pip install --upgrade "$WHEEL"
else
    echo "WARNING: no virtual environment detected; installing with --user."
    "$PYTHON" -m pip install --user --upgrade "$WHEEL"
fi

echo
echo "VQkit installation completed."
echo "Normal command: vqkit"
echo "Version check : vqkit version"
if ! command -v vqkit >/dev/null 2>&1; then
    echo "NOTE: vqkit is not yet visible on PATH."
    echo "If using a virtual environment, reactivate it and run: vqkit"
fi
