opendbc/Dockerfile

58 lines
1.3 KiB
Docker

FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
autoconf \
build-essential \
ca-certificates \
capnproto \
clang \
cppcheck \
curl \
git \
libtool \
make \
libbz2-dev \
libffi-dev \
libcapnp-dev \
liblzma-dev \
libncurses5-dev \
libncursesw5-dev \
libreadline-dev \
libssl-dev \
libsqlite3-dev \
libzmq3-dev \
llvm \
ocl-icd-opencl-dev \
opencl-headers \
tk-dev \
python-openssl \
xz-utils \
zlib1g-dev \
cmake \
&& rm -rf /var/lib/apt/lists/*
RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}"
RUN pyenv install 3.11.4
RUN pyenv global 3.11.4
RUN pyenv rehash
COPY requirements.txt /tmp/
RUN pip install --no-cache-dir -r /tmp/requirements.txt
RUN pip install --no-cache-dir pre-commit==2.15.0 pylint==2.17.4
ENV PYTHONPATH=/project
RUN git config --global --add safe.directory '*'
WORKDIR /project
RUN git clone https://github.com/commaai/cereal.git /project/cereal && \
cd /project/cereal && \
git checkout 82bca3a9714b73c05414fdf848b6016a0ffac17d && \
rm -rf .git && \
scons -j$(nproc) --minimal
COPY SConstruct .
COPY ./site_scons /project/site_scons