@@ -15,7 +15,8 @@ USER root
1515
1616# Install gcc - required by polyleven python package on aarch64
1717# (dependency of autoevals, no pre-built binary wheels for linux on aarch64)
18- RUN dnf install -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs gcc
18+ # cargo for maturin requirements
19+ RUN dnf install -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs gcc cmake cargo
1920
2021# Install uv package manager
2122RUN pip3.12 install "uv>=0.8.15"
@@ -25,13 +26,25 @@ RUN pip3.12 install "uv>=0.8.15"
2526COPY ${LSC_SOURCE_DIR}/src ./src
2627COPY ${LSC_SOURCE_DIR}/pyproject.toml ${LSC_SOURCE_DIR}/LICENSE ${LSC_SOURCE_DIR}/README.md ${LSC_SOURCE_DIR}/uv.lock ${LSC_SOURCE_DIR}/requirements.*.txt ./
2728
29+ # Extract generic dependencies from artifacts.lock.yaml and install them
30+ RUN if [ -f /cachi2/cachi2.env ]; then \
31+ tar -xzf /cachi2/output/deps/generic/googletest-release-1.12.1.tar.gz -C /tmp && \
32+ cd /tmp/googletest-release-1.12.1 && \
33+ cmake . && \
34+ make && \
35+ make install; \
36+ fi
37+
2838# Bundle additional dependencies for library mode.
2939# Source cachi2 environment for hermetic builds if available, otherwise use normal installation
3040# cachi2.env has these env vars:
3141# PIP_FIND_LINKS=/cachi2/output/deps/pip
3242# PIP_NO_INDEX=true
3343RUN if [ -f /cachi2/cachi2.env ]; then \
34- . /cachi2/cachi2.env && uv venv --seed --no-index --find-links ${PIP_FIND_LINKS} && . .venv/bin/activate && pip install --no-index --find-links ${PIP_FIND_LINKS} -r requirements.$(uname -m).txt -r requirements.torch.txt; \
44+ . /cachi2/cachi2.env && \
45+ uv venv --seed --no-index --find-links ${PIP_FIND_LINKS} && \
46+ . .venv/bin/activate && \
47+ pip install --no-index --find-links ${PIP_FIND_LINKS} --no-binary :all: -r requirements.$(uname -m).txt && pip install --no-index --find-links ${PIP_FIND_LINKS} -r requirements-binary.txt -r requirements.torch.txt; \
3548 else \
3649 uv sync --locked --no-dev --group llslibdev; \
3750 fi
0 commit comments