45 lines
1.4 KiB
Docker
45 lines
1.4 KiB
Docker
FROM ghcr.io/commaai/openpilot-base-aarch64:latest
|
|
|
|
ARG CAPNP_VERSION=1.3.0
|
|
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV UV_LINK_MODE=copy
|
|
WORKDIR /work
|
|
|
|
# Keep this image minimal; dependency resolution is done by uv inside the workspace.
|
|
# rsync/ssh-client are needed for optional sysroot sync from a comma device.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
rsync \
|
|
openssh-client \
|
|
e2fsprogs \
|
|
android-sdk-libsparse-utils \
|
|
qemu-user-static \
|
|
gcc-aarch64-linux-gnu \
|
|
g++-aarch64-linux-gnu \
|
|
cmake \
|
|
qtbase5-private-dev \
|
|
python3-pip \
|
|
xz-utils \
|
|
git \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN set -eux; \
|
|
tmpdir="$(mktemp -d)"; \
|
|
curl -fsSL "https://github.com/capnproto/capnproto/archive/refs/tags/v${CAPNP_VERSION}.tar.gz" | tar -xz -C "${tmpdir}"; \
|
|
cmake -S "${tmpdir}/capnproto-${CAPNP_VERSION}/c++" -B "${tmpdir}/build" \
|
|
-DBUILD_TESTING=OFF \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr/local; \
|
|
cmake --build "${tmpdir}/build" -j"$(nproc)"; \
|
|
cmake --install "${tmpdir}/build"; \
|
|
ldconfig; \
|
|
capnp --version; \
|
|
rm -rf "${tmpdir}"
|
|
|
|
RUN /usr/bin/python3 -m pip install --no-cache-dir --break-system-packages uv
|
|
|
|
# Fix for "dubious ownership" git errors when mounting folders on Linux hosts.
|
|
RUN git config --global --add safe.directory /work
|