mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-07 21:13:41 +08:00
694b460f80
Provide laptop and device build entry points, cache compatibility checks and developer tooling. Keep distribution assets and model packaging available before runtime consumers. Co-authored-by: Danny <dannyirwin31@yahoo.com> Co-authored-by: Prabhaav Pillai <prabhaav@msu.edu> Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com> Co-authored-by: firestarsdog <229254897+firestarsdog@users.noreply.github.com> Co-authored-by: prabhaavp <prabhaav@msu.edu>
50 lines
1.7 KiB
Docker
50 lines
1.7 KiB
Docker
ARG BASE_IMAGE=ghcr.io/commaai/openpilot-base-aarch64@sha256:c4f206250ec2cbee493589b836e517a3de91281d8d9e4b01f370b5b600a0d143
|
|
FROM ${BASE_IMAGE}
|
|
|
|
ARG CAPNP_VERSION=1.0.1
|
|
ARG CAPNP_SHA256=5bdb16f6b389a9e29b04214b9bae1759e8b7fe2b45049d7e3f1f286ba050a200
|
|
|
|
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 \
|
|
gcc-arm-none-eabi \
|
|
binutils-arm-none-eabi \
|
|
cmake \
|
|
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" -o "${tmpdir}/capnproto.tar.gz"; \
|
|
printf '%s %s\n' "${CAPNP_SHA256}" "${tmpdir}/capnproto.tar.gz" | sha256sum -c -; \
|
|
tar -xzf "${tmpdir}/capnproto.tar.gz" -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==0.12.5
|
|
|
|
# Fix for "dubious ownership" git errors when mounting folders on Linux hosts.
|
|
RUN git config --global --add safe.directory /work
|