Containerfile (1962B)
1 FROM docker.io/library/debian:trixie 2 3 ENV DEBIAN_FRONTEND=noninteractive 4 5 # Everything needed to bootstrap, configure, build and "make check" 6 # GNU libmicrohttpd. Unlike most GNU Taler / GNUnet components MHD has 7 # no database, no libgnunet and no libjansson dependency; the only hard 8 # external dependencies are a C compiler and the autotools. Everything 9 # else is optional and only unlocks parts of the test suite. 10 RUN apt-get update -yqq && \ 11 apt-get upgrade -yqq && \ 12 apt-get install -yqq \ 13 git \ 14 ca-certificates \ 15 build-essential \ 16 make \ 17 autoconf \ 18 automake \ 19 libtool \ 20 pkg-config \ 21 texinfo \ 22 file \ 23 && rm -rf /var/lib/apt/lists/* 24 25 # Optional dependencies: 26 # libcurl*-dev src/testcurl and src/testzzuf (RUN_LIBCURL_TESTS) 27 # libgnutls28-dev + libgcrypt20-dev HTTPS support (--enable-https=auto) 28 # zlib1g-dev used by some of the example/test code 29 # zzuf, socat src/testzzuf (--enable-heavy-tests) 30 # lcov the coverage job 31 RUN apt-get update -yqq && \ 32 apt-get install -yqq \ 33 curl \ 34 libcurl4-gnutls-dev \ 35 libgnutls28-dev \ 36 libgcrypt20-dev \ 37 zlib1g-dev \ 38 zzuf \ 39 socat \ 40 lcov \ 41 && rm -rf /var/lib/apt/lists/* 42 43 # 32-bit toolchain for the "-m32" half of the build-configuration matrix 44 # (job 3-build-matrix). Only available on x86; on other architectures the 45 # matrix job logs a SKIP for the 32-bit combinations instead of failing. 46 RUN apt-get update -yqq && \ 47 (apt-get install -yqq gcc-multilib libc6-dev-i386 \ 48 || echo "no 32-bit toolchain for this architecture, -m32 jobs will SKIP") \ 49 && rm -rf /var/lib/apt/lists/* 50 51 WORKDIR /workdir 52 53 CMD ["/bin/bash"]