From 2d5cf8d6d6f137bb10b2a63823fc5382d7c78602 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sun, 15 Feb 2026 13:54:21 -0600 Subject: Replace Python build deps with uv across all build paths Use uv as the single Python package manager for Docker, source, and Flatpak builds. Python 3.13 and pybind11==2.13.6 are now consistent across all three paths. - Docker: install uv + build venv instead of python3-dev/pip/pybind11-dev - CMake: bootstrap pyvenv with uv (REQUIRED/FATAL_ERROR) when no explicit Python provided; pin pybind11==2.13.6, add sip - Flatpak: remove pybind11 cmake module, use uv pip install --target for build deps, uv for portable Python packages - build-inner.sh: use BUILD_PY throughout, uv pip install for portable runtime packages, simplify embed check to direct Python invocation - VFS helper: fall back to shared libfuse3 when static .a unavailable Co-Authored-By: Claude Opus 4.6 --- docker/Dockerfile | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'docker/Dockerfile') diff --git a/docker/Dockerfile b/docker/Dockerfile index d6b38ce..aee1635 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -27,15 +27,21 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libqt6websockets6-dev \ qt6-wayland \ # Python - python3 python3-dev python3-pip python3-venv \ - pybind11-dev \ - python3-pyqt6 \ + python3 python3-pyqt6 \ # Misc icoutils zip unzip \ && rm -rf /var/lib/apt/lists/* -# ── Python SIP tooling + runtime deps ── -RUN pip3 install --break-system-packages sip psutil vdf || true +# ── uv (Python package manager) ── +RUN curl -LsSf https://astral.sh/uv/install.sh | sh +ENV PATH="/root/.local/bin:${PATH}" + +# ── Build-time Python venv (pybind11, sip, etc.) ── +RUN uv venv /opt/build-python --python 3.13 --seed && \ + uv pip install --python /opt/build-python/bin/python \ + pybind11==2.13.6 sip psutil vdf +ENV BUILD_PYTHON=/opt/build-python/bin/python +ENV PATH="/opt/build-python/bin:${PATH}" # ── Rust toolchain ── RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ -- cgit v1.3.1