From 25d5063566b8885ed897a6820cacd7a86ee1c8d3 Mon Sep 17 00:00:00 2001 From: Sergey Maslenkov Date: Tue, 10 Sep 2024 12:19:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B1=D0=BE=D1=80=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BE=D0=BA=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B8=20runtime=20=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=B3?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D1=81=D0=BA=D0=BE=D0=B9=20=D1=87=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D0=B8=20(=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20DPDK,=20?= =?UTF-8?q?Seastar,=20fmt,=20AMQP-CPP).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/Dockerfile | 27 +++++++++++++++++++++++++++ pre-builder/Dockerfile | 10 ++++++++++ runtime/Dockerfile | 6 ++++++ 3 files changed, 43 insertions(+) create mode 100644 builder/Dockerfile create mode 100644 pre-builder/Dockerfile create mode 100644 runtime/Dockerfile diff --git a/builder/Dockerfile b/builder/Dockerfile new file mode 100644 index 0000000..4b01925 --- /dev/null +++ b/builder/Dockerfile @@ -0,0 +1,27 @@ +FROM alt:pre-builder AS building + +WORKDIR /prepare +COPY /libs . +ENV CXX=clang++-17 +RUN cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja -S /prepare/fmt/ -B /prepare/build/fmt -DFMT_TEST=OFF \ + --install-prefix=/prepare/installed \ + && cmake --build /prepare/build/fmt --target install \ + \ + && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja -S /prepare/AMQP-CPP -B /prepare/build/amqp-cpp \ + -DCMAKE_CXX_STANDARD=20 -DAMQP-CPP_BUILD_SHARED=OFF -DAMQP-CPP_LINUX_TCP=ON -DBUILD_TOOLS_DOCS=OFF -DENABLE_SSL_SUPPORT=ON \ + --install-prefix=/prepare/installed \ + && cmake --build /prepare/build/amqp-cpp --target install \ + \ + && /prepare/seastar/configure.py --mode=release \ + --without-demos --without-apps --without-tests \ + --enable-dpdk --c++-standard=20 --compiler="clang-17" --c-compiler="gcc"\ + --build-root=/prepare/build/seastar --cflags="-ggnu-pubnames" --ldflags="-larchive" \ + --prefix=/prepare/installed --compile-commands-json \ + && ninja -C /prepare/build/seastar/release install + +# ——————————————————————————————————————————————————————————————————— + +FROM alt:pre-builder +COPY --from=building /prepare/installed/ /prepare/build/seastar/release/_cooking/stow/dpdk/ /usr/local/ + +CMD ["/bin/bash"] diff --git a/pre-builder/Dockerfile b/pre-builder/Dockerfile new file mode 100644 index 0000000..fee695e --- /dev/null +++ b/pre-builder/Dockerfile @@ -0,0 +1,10 @@ +FROM alt:p10 AS build + +RUN apt-get update && apt-get -yqVV install \ + boost-devel boost-lockfree-devel boost-asio-devel boost-filesystem-devel boost-program_options-devel \ + cmake diffutils doxygen \ + clang17.0 build-essential \ + time stow openssl openssl-devel python3-module-elftools protobuf-compiler \ + pkg-config libprotobuf-devel libcares-devel libyaml-cpp-devel libtool liburing-devel liblz4-devel libgnutlsxx-devel libgnutlsxx28 libgnutls-devel libxfs-devel libcryptopp-devel libpciaccess-devel libnuma-devel libfmt-devel liblksctp-devel liblksctp libarchive libarchive-devel libxml2-devel lksctp-tools make meson ninja-build ragel valgrind valgrind-devel libhwloc-devel libuv-devel + +CMD ["/bin/bash"] diff --git a/runtime/Dockerfile b/runtime/Dockerfile new file mode 100644 index 0000000..9c1a51a --- /dev/null +++ b/runtime/Dockerfile @@ -0,0 +1,6 @@ +FROM alt:p10 AS build + +RUN apt-get update && apt-get -yqVV install \ + libarchive13 libhwloc libnuma libuv libatomic1 liburing libgnutls libyaml-cpp0 libboost_program_options1.76.0 libboost_thread1.76.0 + +CMD ["/bin/bash"]