FROM ubuntu:16.04 ENV PYTHONUNBUFFERED 1 RUN apt-get update && apt-get install -y \ autoconf \ build-essential \ bzip2 \ clang \ git \ libarchive-dev \ libavcodec-dev \ libavdevice-dev \ libavfilter-dev \ libavresample-dev \ libavutil-dev \ libffi-dev \ libglib2.0-0 \ libssl-dev \ libswscale-dev \ libtool \ libusb-1.0-0 \ libzmq5-dev \ ocl-icd-libopencl1 \ ocl-icd-opencl-dev \ opencl-headers \ pkg-config \ python-pip \ wget COPY phonelibs/install_capnp.sh /tmp/install_capnp.sh RUN /tmp/install_capnp.sh RUN pip install --upgrade pip==18.0 RUN pip install pipenv==2018.11.26 COPY Pipfile /tmp/ COPY Pipfile.lock /tmp/ RUN cd /tmp && pipenv install --deploy --system ENV PYTHONPATH /tmp/openpilot:$PYTHONPATH RUN git clone --branch v0.6 https://github.com/commaai/openpilot-tools.git /tmp/openpilot/tools RUN pip install -r /tmp/openpilot/tools/requirements.txt RUN pip install fastcluster==1.1.20 scipy==0.19.1 COPY ./.pylintrc /tmp/openpilot/.pylintrc COPY ./common /tmp/openpilot/common COPY ./cereal /tmp/openpilot/cereal COPY ./opendbc /tmp/openpilot/opendbc COPY ./selfdrive /tmp/openpilot/selfdrive COPY ./phonelibs /tmp/openpilot/phonelibs COPY ./pyextra /tmp/openpilot/pyextra COPY ./panda /tmp/openpilot/panda RUN mkdir -p /tmp/openpilot/selfdrive/test/out RUN make -C /tmp/openpilot/selfdrive/controls/lib/longitudinal_mpc clean RUN make -C /tmp/openpilot/selfdrive/controls/lib/lateral_mpc clean