1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-10-11 02:19:21 +00:00
trezor-firmware/Dockerfile
Reproducibility Matters e86d39ef2d Add sha256sum check to protobuf binaries in Dockerfile (#445)
The docker build fails if the hash is incorrect.
2019-01-09 12:41:21 +01:00

34 lines
1.0 KiB
Docker

# initialize from the image
FROM debian:9
# install build tools and dependencies
ARG EMULATOR=0
ENV EMULATOR=$EMULATOR
RUN apt-get update && \
apt-get install -y build-essential curl git python3 python3-pip
RUN if [ "$EMULATOR" = 1 ]; then \
apt-get install -y libsdl2-dev libsdl2-image-dev; \
else \
apt-get install -y gcc-arm-none-eabi libnewlib-arm-none-eabi; \
fi
ENV PROTOBUF_VERSION=3.4.0
ENV PROTOBUF_HASH=e4b51de1b75813e62d6ecdde582efa798586e09b5beaebfb866ae7c9eaadace4
RUN curl -LO "https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip"
RUN echo "${PROTOBUF_HASH} protoc-${PROTOBUF_VERSION}-linux-x86_64.zip" | sha256sum -c
ENV PYTHON=python3
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
# use zipfile module to extract files world-readable
RUN $PYTHON -m zipfile -e "protoc-${PROTOBUF_VERSION}-linux-x86_64.zip" /usr/local && chmod 755 /usr/local/bin/protoc
ENV WORKON_HOME=/tmp/.venvs
RUN $PYTHON -m pip install pipenv