tillitis-key/contrib/Dockerfile
Michael Cardell Widerkrantz bb18d5b9e9
toolchain: Introduce buildtools.sh script
Instead of repeated RUNs in Dockerfile, move the entire build of
specific tools to a script.

- Make commands more shell script-like.
- icestorm: Make sure we checkout the right commit.
- Add checks for the right digest for all git clones, so no history
  has been changed.
- Add digest file and check for the downloaded tarball.
2025-02-11 13:50:07 +01:00

71 lines
1.9 KiB
Docker

FROM docker.io/library/ubuntu:24.04 as base
RUN apt-get -qq update -y \
&& DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
autoconf \
bash-completion \
bison \
build-essential \
ca-certificates \
clang \
clang-format \
clang-tidy \
cmake \
curl \
flex \
g++ \
gawk \
gcc \
git \
gperf \
graphviz \
help2man \
less \
libboost-dev \
libboost-filesystem-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-python-dev \
libboost-system-dev \
libboost-thread-dev \
libeigen3-dev \
libffi-dev \
libfl-dev \
libftdi-dev \
libpython3-dev \
libusb-1.0-0-dev \
libreadline-dev \
lld \
llvm \
make \
nano \
ncdu \
perl \
pkg-config \
psmisc \
python-is-python3 \
python3 \
python3-full \
python3-dev \
python3-pip \
python3-pytest \
sdcc \
splint \
tcl-dev \
vim \
xdot \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
FROM base as toolsbuilder
COPY buildtools.sh /buildtools.sh
COPY verible.sha512 /verible.sha512
RUN /buildtools.sh
FROM base
LABEL org.opencontainers.image.description="Toolchain for building TKey FPGA bitstream"
COPY --from=toolsbuilder /usr/local/ /usr/local