Containerfile (2565B)
1 FROM docker.io/library/debian:trixie 2 3 ENV DEBIAN_FRONTEND=noninteractive 4 5 RUN apt-get update -yqq && \ 6 apt-get install -yqq \ 7 python3 \ 8 git \ 9 meson \ 10 libjansson-dev \ 11 libgcrypt-dev \ 12 libgnutls28-dev \ 13 libqrencode-dev \ 14 libpq-dev \ 15 pkg-config \ 16 libtool \ 17 make \ 18 python3-sphinx \ 19 python3-sphinx-rtd-theme \ 20 texinfo \ 21 autopoint \ 22 curl \ 23 wget \ 24 libcurl4-gnutls-dev \ 25 libsodium-dev \ 26 libidn11-dev \ 27 zlib1g-dev \ 28 libunistring-dev 29 30 # Debian packaging tools 31 RUN apt-get install -yqq \ 32 po-debconf \ 33 build-essential \ 34 debhelper-compat \ 35 devscripts \ 36 git-buildpackage \ 37 autoconf \ 38 automake 39 40 # Debian does not (yet) package libmicrohttpd2, so build it from source. 41 # Pinned to a specific revision of git.gnunet.org/libmicrohttpd2. 42 RUN git clone https://git.gnunet.org/libmicrohttpd2 /tmp/libmicrohttpd2 \ 43 && cd /tmp/libmicrohttpd2 \ 44 && git checkout 24a2913c4e1cb31a5cff52047beae146959d50b0 \ 45 && ./bootstrap \ 46 && ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ 47 --disable-doc --disable-examples \ 48 && make -j"$(nproc)" \ 49 && make install \ 50 && ldconfig \ 51 && rm -rf /tmp/libmicrohttpd2 52 53 # Install docs generation utils 54 RUN apt-get update -yqq && \ 55 apt-get install -yqq \ 56 graphviz \ 57 lcov rsync \ 58 doxygen \ 59 && rm -rf /var/lib/apt/lists/* 60 61 # Install Taler (and friends) packages 62 RUN curl -sS https://deb.taler.net/apt-nightly/taler-trixie-ci.sources \ 63 | tee /etc/apt/sources.list.d/taler-trixie-ci.sources 64 65 RUN echo '\ 66 Package: * \n\ 67 Pin: origin "deb.taler.net" \n\ 68 Pin-Priority: 999' > /etc/apt/preferences.d/taler 69 70 RUN cat /etc/apt/preferences.d/taler && \ 71 apt-get update -y && \ 72 apt-get install -y \ 73 libgnunet-dev \ 74 libgnunet \ 75 libtalerexchange-dev \ 76 libtalerexchange \ 77 libtalermerchant-dev \ 78 libtalermerchant \ 79 donau \ 80 libdonau-dev \ 81 taler-exchange \ 82 taler-merchant \ 83 taler-exchange-database \ 84 taler-exchange-offline \ 85 taler-auditor \ 86 && rm -rf /var/lib/apt/lists/* 87 88 RUN apt-get update -yqq && \ 89 apt-get install -yqq \ 90 postgresql \ 91 sudo \ 92 jq 93 94 WORKDIR /workdir 95 96 CMD ["bash", "/workdir/contrib/ci/ci.sh"]