#!/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= modbuild build 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" || : }