FROM ubuntu:24.04 LABEL maintainer="Adrien Béraud " LABEL org.opencontainers.image.source=https://github.com/savoirfairelinux/opendht RUN apt-get update && apt-get install -y \ dialog apt-utils \ && apt-get clean \ && echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections RUN apt-get update && apt-get install -y \ build-essential pkg-config cmake git wget meson ninja-build patchelf \ libtool \ python3-dev python3-setuptools python3-build python3-virtualenv cython3 \ libncurses5-dev libreadline-dev nettle-dev libcppunit-dev \ libgnutls28-dev libuv1-dev libjsoncpp-dev libargon2-dev \ libssl-dev libfmt-dev libasio-dev libmsgpack-cxx-dev \ && apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/* ARG LLHTTP_VERSION=9.2.1 RUN mkdir llhttp \ && wget -q "https://github.com/nodejs/llhttp/archive/refs/tags/release/v${LLHTTP_VERSION}.tar.gz" -O llhttp.tar.gz \ && tar -xzf llhttp.tar.gz -C llhttp --strip-components=1 \ && cmake -S llhttp -B llhttp/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \ && cmake --build llhttp/build --parallel 2 \ && cmake --install llhttp/build \ && rm -rf llhttp llhttp.tar.gz ARG SIMDUTF_VERSION=8.0.0 RUN mkdir simdutf \ && wget -q "https://github.com/simdutf/simdutf/archive/refs/tags/v${SIMDUTF_VERSION}.tar.gz" -O simdutf.tar.gz \ && tar -xzf simdutf.tar.gz -C simdutf --strip-components=1 \ && cmake -S simdutf -B simdutf/build -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DBUILD_SHARED_LIBS=OFF -DSIMDUTF_TESTS=OFF -DSIMDUTF_TOOLS=OFF \ && cmake --build simdutf/build --parallel 2 \ && cmake --install simdutf/build \ && install -D simdutf/LICENSE-MIT /usr/share/doc/simdutf/LICENSE-MIT \ && install -D simdutf/LICENSE-APACHE /usr/share/doc/simdutf/LICENSE-APACHE \ && rm -rf simdutf simdutf.tar.gz RUN mkdir /usr/include/nonstd \ && wget https://raw.githubusercontent.com/martinmoene/expected-lite/master/include/nonstd/expected.hpp \ -O /usr/include/nonstd/expected.hpp ARG RESTINIO_VERSION=0.7.10 RUN echo "*** Downloading RESTinio ***" \ && mkdir restinio && cd restinio \ && wget "https://github.com/Stiffstream/restinio/releases/download/v${RESTINIO_VERSION}/restinio-${RESTINIO_VERSION}.tar.bz2" \ && ls -l && tar -xjf "restinio-${RESTINIO_VERSION}.tar.bz2" \ && cd "restinio-${RESTINIO_VERSION}/dev" \ && cmake -DCMAKE_INSTALL_PREFIX=/usr -DRESTINIO_TEST=Off -DRESTINIO_SAMPLE=Off -DRESTINIO_BENCHMARK=Off \ -DRESTINIO_WITH_SOBJECTIZER=Off -DRESTINIO_DEP_STANDALONE_ASIO=system -DRESTINIO_DEP_LLHTTP=system \ -DRESTINIO_DEP_FMT=system -DRESTINIO_DEP_EXPECTED_LITE=system . \ && make -j2 && make install \ && cd ../../ && rm -rf restinio* \ && ldconfig