#!/usr/bin/env modbuild

pbuild::prep() {
    :
}

pbuild::configure() {
    # repo.anaconda.com is unreachable from Ra (GnuTLS error), so no conda.
    # uv fetches a standalone CPython instead; keep it inside PREFIX so the
    # venv's interpreter symlinks don't depend on the builder's home cache.
    UV="${UV:-$HOME/.local/bin/uv}"
    # ~/.cache/uv hits the home disk quota; default the cache into PREFIX.
    # Overridable so careless and careless-gpu can share one cache:
    #   UV_CACHE_DIR=<shared path> modbuild build <version>
    export UV_CACHE_DIR="${UV_CACHE_DIR:-$PREFIX/.uv-cache}"
    export UV_PYTHON_INSTALL_DIR="$PREFIX/python"
    "$UV" venv --python 3.12 "$PREFIX/venv"
}

pbuild::compile() {
    :
}

pbuild::install() {
    UV="${UV:-$HOME/.local/bin/uv}"
    export UV_CACHE_DIR="${UV_CACHE_DIR:-$PREFIX/.uv-cache}"
    # CPU version; the GPU build with the [cuda] extra is the careless-gpu module
    "$UV" pip install --python "$PREFIX/venv/bin/python" "careless==${V_PKG}"
    # only auto-remove the cache if it lives inside this PREFIX (never a shared one)
    [[ "$UV_CACHE_DIR" == "$PREFIX"* ]] && rm -rf "$UV_CACHE_DIR" || :
}
