Import alpine3.24 source archives via the sources build context
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5f0422f3f0
commit
7effb46516
3 files changed
+129
-201
No files matched your search
+120
-200
@@ -21,11 +21,9 @@ RUN sed -i 's|dl-cdn.alpinelinux.org|mirrors.ustc.edu.cn|g' /etc/apk/repositorie
|
||||
|
||||
RUN git config --global url."https://wangguofang.net/github.com/".insteadOf "https://github.com/"
|
||||
|
||||
RUN curl --fail --location --output boost.tar.bz2 \
|
||||
https://mirrors.aliyun.com/blfs/conglomeration/boost/boost_1_83_0.tar.bz2 \
|
||||
&& mkdir src \
|
||||
&& tar --extract --bzip2 --file=boost.tar.bz2 --directory=src --strip-components=1 \
|
||||
&& rm boost.tar.bz2 \
|
||||
RUN --mount=type=bind,from=sources,source=boost_1_83_0.tar.bz2,target=/tmp/boost.tar.bz2 \
|
||||
mkdir src \
|
||||
&& tar --extract --bzip2 --file=/tmp/boost.tar.bz2 --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& ./bootstrap.sh --prefix=/usr/local \
|
||||
&& ./b2 --jobs="$(nproc)" \
|
||||
@@ -49,11 +47,9 @@ RUN curl --fail --location --output boost.tar.bz2 \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output openssl.tar.gz \
|
||||
https://wangguofang.net/github.com/openssl/openssl/archive/openssl-3.0.15.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=openssl.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm openssl.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=openssl-openssl-3.0.15.tar.gz,target=/tmp/openssl.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/openssl.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& ./Configure --prefix=/usr/local --libdir=lib no-shared no-tests -fPIC \
|
||||
&& make --jobs="$(nproc)" \
|
||||
@@ -61,11 +57,9 @@ RUN curl --fail --location --output openssl.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output libevent.tar.gz \
|
||||
https://wangguofang.net/github.com/libevent/libevent/archive/release-2.1.12-stable.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libevent.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libevent.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libevent-release-2.1.12-stable.tar.gz,target=/tmp/libevent.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libevent.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
@@ -77,11 +71,9 @@ RUN curl --fail --location --output libevent.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output zstd.tar.gz \
|
||||
https://wangguofang.net/github.com/facebook/zstd/archive/v1.5.7.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=zstd.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm zstd.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=zstd-v1.5.7.tar.gz,target=/tmp/zstd.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/zstd.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src/build/cmake -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
@@ -93,11 +85,9 @@ RUN curl --fail --location --output zstd.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output zlib.tar.gz \
|
||||
https://wangguofang.net/github.com/madler/zlib/archive/v1.3.1.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=zlib.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm zlib.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=zlib-v1.3.1.tar.gz,target=/tmp/zlib.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/zlib.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --static \
|
||||
&& make --jobs="$(nproc)" \
|
||||
@@ -105,11 +95,9 @@ RUN curl --fail --location --output zlib.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output protobuf.tar.gz \
|
||||
https://wangguofang.net/github.com/protocolbuffers/protobuf/archive/v3.21.12.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=protobuf.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm protobuf.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=protobuf-v3.21.12.tar.gz,target=/tmp/protobuf.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/protobuf.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -Dprotobuf_BUILD_TESTS=OFF \
|
||||
-Dprotobuf_BUILD_SHARED_LIBS=OFF \
|
||||
-Dprotobuf_WITH_ZLIB=ON \
|
||||
@@ -131,11 +119,9 @@ RUN git clone --branch=REL_2_0_5 --depth=1 https://github.com/log4cplus/log4cplu
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output fmt.tar.gz \
|
||||
https://wangguofang.net/github.com/fmtlib/fmt/archive/12.2.0.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=fmt.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm fmt.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=fmt-12.2.0.tar.gz,target=/tmp/fmt.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/fmt.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -145,11 +131,9 @@ RUN curl --fail --location --output fmt.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output spdlog.tar.gz \
|
||||
https://wangguofang.net/github.com/gabime/spdlog/archive/v1.17.0.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=spdlog.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm spdlog.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=spdlog-v1.17.0.tar.gz,target=/tmp/spdlog.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/spdlog.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -161,11 +145,9 @@ RUN curl --fail --location --output spdlog.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output magic_enum.tar.gz \
|
||||
https://wangguofang.net/github.com/Neargye/magic_enum/archive/v0.9.8.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=magic_enum.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm magic_enum.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=magic_enum-v0.9.8.tar.gz,target=/tmp/magic_enum.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/magic_enum.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF \
|
||||
@@ -174,11 +156,9 @@ RUN curl --fail --location --output magic_enum.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output fast_float.tar.gz \
|
||||
https://wangguofang.net/github.com/fastfloat/fast_float/archive/v8.2.10.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=fast_float.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm fast_float.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=fast_float-v8.2.10.tar.gz,target=/tmp/fast_float.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/fast_float.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DFASTFLOAT_BENCHMARKS=OFF \
|
||||
@@ -187,21 +167,17 @@ RUN curl --fail --location --output fast_float.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output sparse-map.tar.gz \
|
||||
https://wangguofang.net/github.com/Tessil/sparse-map/archive/v0.7.0.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=sparse-map.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm sparse-map.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=sparse-map-v0.7.0.tar.gz,target=/tmp/sparse-map.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/sparse-map.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output gflags.tar.gz \
|
||||
https://wangguofang.net/github.com/gflags/gflags/archive/v2.3.1.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=gflags.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm gflags.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=gflags-v2.3.1.tar.gz,target=/tmp/gflags.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/gflags.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -215,11 +191,9 @@ RUN curl --fail --location --output gflags.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output glog.tar.gz \
|
||||
https://wangguofang.net/github.com/google/glog/archive/v0.7.1.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=glog.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm glog.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=glog-v0.7.1.tar.gz,target=/tmp/glog.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/glog.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -232,11 +206,9 @@ RUN curl --fail --location --output glog.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output liburing.tar.gz \
|
||||
https://wangguofang.net/github.com/axboe/liburing/archive/liburing-2.15.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=liburing.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm liburing.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=liburing-liburing-2.15.tar.gz,target=/tmp/liburing.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/liburing.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
|
||||
&& make --jobs="$(nproc)" ENABLE_SHARED=0 library \
|
||||
@@ -244,20 +216,16 @@ RUN curl --fail --location --output liburing.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output libaio.tar.gz \
|
||||
https://mirrors.tuna.tsinghua.edu.cn/debian/pool/main/liba/libaio/libaio_0.3.113.orig.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libaio.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libaio.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libaio_0.3.113.orig.tar.gz,target=/tmp/libaio.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libaio.tar.gz --directory=src --strip-components=1 \
|
||||
&& make --directory=src --jobs="$(nproc)" ENABLE_SHARED=0 \
|
||||
&& make --directory=src ENABLE_SHARED=0 prefix=/usr/local install \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output libdwarf-code.tar.gz \
|
||||
https://wangguofang.net/github.com/davea42/libdwarf-code/archive/v2.3.2.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libdwarf-code.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libdwarf-code.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libdwarf-code-v2.3.2.tar.gz,target=/tmp/libdwarf-code.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libdwarf-code.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_DWARFDUMP=OFF \
|
||||
@@ -271,11 +239,9 @@ RUN curl --fail --location --output libdwarf-code.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output libsodium.tar.gz \
|
||||
https://wangguofang.net/github.com/jedisct1/libsodium/archive/1.0.20-RELEASE.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libsodium.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libsodium.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libsodium-1.0.20-RELEASE.tar.gz,target=/tmp/libsodium.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libsodium.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& ./autogen.sh \
|
||||
&& ./configure --prefix=/usr/local --disable-shared --enable-static --with-pic \
|
||||
@@ -284,11 +250,9 @@ RUN curl --fail --location --output libsodium.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output xxHash.tar.gz \
|
||||
https://wangguofang.net/github.com/Cyan4973/xxHash/archive/v0.8.3.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=xxHash.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm xxHash.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=xxHash-v0.8.3.tar.gz,target=/tmp/xxHash.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/xxHash.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src/cmake_unofficial -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -297,11 +261,9 @@ RUN curl --fail --location --output xxHash.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output googletest.tar.gz \
|
||||
https://wangguofang.net/github.com/google/googletest/archive/v1.17.0.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=googletest.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm googletest.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=googletest-v1.17.0.tar.gz,target=/tmp/googletest.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/googletest.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_GMOCK=ON \
|
||||
@@ -313,11 +275,9 @@ RUN curl --fail --location --output googletest.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output numactl.tar.gz \
|
||||
https://wangguofang.net/github.com/numactl/numactl/archive/v2.0.19.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=numactl.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm numactl.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=numactl-v2.0.19.tar.gz,target=/tmp/numactl.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/numactl.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& ./autogen.sh \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --disable-shared --enable-static \
|
||||
@@ -337,11 +297,9 @@ RUN curl --fail --location --output numactl.tar.gz \
|
||||
# build, so this stack is not built here. See INCLUDED_LIBRARIES.md for
|
||||
# details; debian13 and rocky9 are unaffected and still build it.
|
||||
|
||||
RUN curl --fail --location --output util-linux.tar.xz \
|
||||
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --xz --file=util-linux.tar.xz --directory=src --strip-components=1 \
|
||||
&& rm util-linux.tar.xz \
|
||||
RUN --mount=type=bind,from=sources,source=util-linux-2.42.2.tar.xz,target=/tmp/util-linux.tar.xz \
|
||||
mkdir src \
|
||||
&& tar --extract --xz --file=/tmp/util-linux.tar.xz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
|
||||
--disable-all-programs \
|
||||
@@ -356,11 +314,9 @@ RUN curl --fail --location --output util-linux.tar.xz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output libzmq.tar.gz \
|
||||
https://wangguofang.net/github.com/zeromq/libzmq/archive/v4.3.5.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libzmq.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libzmq.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libzmq-v4.3.5.tar.gz,target=/tmp/libzmq.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libzmq.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED=OFF \
|
||||
@@ -377,11 +333,9 @@ RUN curl --fail --location --output libzmq.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output czmq.tar.gz \
|
||||
https://wangguofang.net/github.com/zeromq/czmq/archive/v4.2.1.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=czmq.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm czmq.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=czmq-v4.2.1.tar.gz,target=/tmp/czmq.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/czmq.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
@@ -397,11 +351,9 @@ RUN curl --fail --location --output czmq.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output jsoncpp.tar.gz \
|
||||
https://wangguofang.net/github.com/open-source-parsers/jsoncpp/archive/1.9.8.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=jsoncpp.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm jsoncpp.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=jsoncpp-1.9.8.tar.gz,target=/tmp/jsoncpp.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/jsoncpp.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_OBJECT_LIBS=OFF \
|
||||
@@ -414,11 +366,9 @@ RUN curl --fail --location --output jsoncpp.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output librdkafka.tar.gz \
|
||||
https://wangguofang.net/github.com/confluentinc/librdkafka/archive/v2.15.0.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=librdkafka.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm librdkafka.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=librdkafka-v2.15.0.tar.gz,target=/tmp/librdkafka.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/librdkafka.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
@@ -435,11 +385,9 @@ RUN curl --fail --location --output librdkafka.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output json-c.tar.gz \
|
||||
https://wangguofang.net/github.com/json-c/json-c/archive/json-c-0.19-20260627.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=json-c.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm json-c.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=json-c-json-c-0.19-20260627.tar.gz,target=/tmp/json-c.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/json-c.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_APPS=OFF \
|
||||
@@ -452,11 +400,9 @@ RUN curl --fail --location --output json-c.tar.gz \
|
||||
&& rm -rf build src
|
||||
|
||||
COPY rapidjson-generic-string-ref-assignment.patch /tmp/
|
||||
RUN curl --fail --location --output rapidjson.tar.gz \
|
||||
https://wangguofang.net/github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=rapidjson.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm rapidjson.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=rapidjson-v1.1.0.tar.gz,target=/tmp/rapidjson.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/rapidjson.tar.gz --directory=src --strip-components=1 \
|
||||
&& git -C src apply /tmp/rapidjson-generic-string-ref-assignment.patch \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
@@ -466,11 +412,9 @@ RUN curl --fail --location --output rapidjson.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src /tmp/rapidjson-generic-string-ref-assignment.patch
|
||||
|
||||
RUN curl --fail --location --output curl.tar.gz \
|
||||
https://wangguofang.net/github.com/curl/curl/archive/curl-8_21_0.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=curl.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm curl.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=curl-curl-8_21_0.tar.gz,target=/tmp/curl.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/curl.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_CURL_EXE=OFF \
|
||||
@@ -495,11 +439,9 @@ RUN curl --fail --location --output curl.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output hiredis.tar.gz \
|
||||
https://wangguofang.net/github.com/redis/hiredis/archive/v1.4.1.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=hiredis.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm hiredis.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=hiredis-v1.4.1.tar.gz,target=/tmp/hiredis.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/hiredis.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -512,11 +454,9 @@ RUN curl --fail --location --output hiredis.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output gmp.tar.xz \
|
||||
https://mirrors.ustc.edu.cn/gnu/gmp/gmp-6.3.0.tar.xz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --xz --file=gmp.tar.xz --directory=src --strip-components=1 \
|
||||
&& rm gmp.tar.xz \
|
||||
RUN --mount=type=bind,from=sources,source=gmp-6.3.0.tar.xz,target=/tmp/gmp.tar.xz \
|
||||
mkdir src \
|
||||
&& tar --extract --xz --file=/tmp/gmp.tar.xz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& CFLAGS="-fPIC -std=gnu17" ./configure --prefix=/usr/local --disable-shared --enable-static \
|
||||
&& make --jobs="$(nproc)" \
|
||||
@@ -524,11 +464,9 @@ RUN curl --fail --location --output gmp.tar.xz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output nettle.tar.gz \
|
||||
https://mirrors.ustc.edu.cn/gnu/nettle/nettle-3.10.2.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=nettle.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm nettle.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=nettle-3.10.2.tar.gz,target=/tmp/nettle.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/nettle.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --libdir=/usr/local/lib \
|
||||
--disable-documentation \
|
||||
@@ -539,11 +477,9 @@ RUN curl --fail --location --output nettle.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output gnutls.tar.xz \
|
||||
https://mirrors.dotsrc.org/gcrypt/gnutls/v3.8/gnutls-3.8.13.tar.xz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --xz --file=gnutls.tar.xz --directory=src --strip-components=1 \
|
||||
&& rm gnutls.tar.xz \
|
||||
RUN --mount=type=bind,from=sources,source=gnutls-3.8.13.tar.xz,target=/tmp/gnutls.tar.xz \
|
||||
mkdir src \
|
||||
&& tar --extract --xz --file=/tmp/gnutls.tar.xz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
|
||||
--with-included-libtasn1 \
|
||||
@@ -568,11 +504,9 @@ RUN curl --fail --location --output gnutls.tar.xz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output libmaxminddb.tar.gz \
|
||||
https://wangguofang.net/github.com/maxmind/libmaxminddb/archive/1.13.3.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libmaxminddb.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libmaxminddb.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libmaxminddb-1.13.3.tar.gz,target=/tmp/libmaxminddb.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libmaxminddb.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -582,11 +516,9 @@ RUN curl --fail --location --output libmaxminddb.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output libyaml.tar.gz \
|
||||
https://wangguofang.net/github.com/yaml/libyaml/archive/0.2.5.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libyaml.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libyaml.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libyaml-0.2.5.tar.gz,target=/tmp/libyaml.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libyaml.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& ./bootstrap \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --disable-shared --enable-static \
|
||||
@@ -595,11 +527,9 @@ RUN curl --fail --location --output libyaml.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output libxml2.tar.gz \
|
||||
https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.15.3/libxml2-v2.15.3.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libxml2.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libxml2.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=gitlab-libxml2-v2.15.3.tar.gz,target=/tmp/libxml2.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libxml2.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
@@ -614,11 +544,9 @@ RUN curl --fail --location --output libxml2.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output redis-plus-plus.tar.gz \
|
||||
https://wangguofang.net/github.com/sewenew/redis-plus-plus/archive/1.3.15.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=redis-plus-plus.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm redis-plus-plus.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=redis-plus-plus-1.3.15.tar.gz,target=/tmp/redis-plus-plus.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/redis-plus-plus.tar.gz --directory=src --strip-components=1 \
|
||||
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DREDIS_PLUS_PLUS_BUILD_SHARED=OFF \
|
||||
@@ -628,11 +556,9 @@ RUN curl --fail --location --output redis-plus-plus.tar.gz \
|
||||
&& cmake --build build --parallel "$(nproc)" --target install \
|
||||
&& rm -rf build src
|
||||
|
||||
RUN curl --fail --location --output libunwind.tar.gz \
|
||||
https://wangguofang.net/github.com/libunwind/libunwind/archive/v1.8.3.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libunwind.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libunwind.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libunwind-v1.8.3.tar.gz,target=/tmp/libunwind.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libunwind.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& autoreconf --install \
|
||||
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
|
||||
@@ -647,11 +573,9 @@ RUN curl --fail --location --output libunwind.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output jemalloc.tar.gz \
|
||||
https://wangguofang.net/github.com/jemalloc/jemalloc/archive/5.3.1.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=jemalloc.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm jemalloc.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=jemalloc-5.3.1.tar.gz,target=/tmp/jemalloc.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/jemalloc.tar.gz --directory=src --strip-components=1 \
|
||||
&& cd src \
|
||||
&& ./autogen.sh \
|
||||
&& CFLAGS=-fPIC CXXFLAGS=-fPIC ./configure --prefix=/usr/local \
|
||||
@@ -665,21 +589,17 @@ RUN curl --fail --location --output jemalloc.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output libproxyprotocol.tar.gz \
|
||||
https://wangguofang.net/github.com/kosmas-valianos/libproxyprotocol/archive/v1.3.3.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=libproxyprotocol.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm libproxyprotocol.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=libproxyprotocol-v1.3.3.tar.gz,target=/tmp/libproxyprotocol.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/libproxyprotocol.tar.gz --directory=src --strip-components=1 \
|
||||
&& gcc -fPIC -c -o src/src/proxy_protocol.o src/src/proxy_protocol.c \
|
||||
&& ar rcs /usr/local/lib/libproxyprotocol.a src/src/proxy_protocol.o \
|
||||
&& cp src/src/proxy_protocol.h /usr/local/include/ \
|
||||
&& rm -rf src
|
||||
|
||||
RUN curl --fail --location --output makeself.tar.gz \
|
||||
https://wangguofang.net/github.com/megastep/makeself/archive/release-2.7.1.tar.gz \
|
||||
&& mkdir src \
|
||||
&& tar --extract --gzip --file=makeself.tar.gz --directory=src --strip-components=1 \
|
||||
&& rm makeself.tar.gz \
|
||||
RUN --mount=type=bind,from=sources,source=makeself-release-2.7.1.tar.gz,target=/tmp/makeself.tar.gz \
|
||||
mkdir src \
|
||||
&& tar --extract --gzip --file=/tmp/makeself.tar.gz --directory=src --strip-components=1 \
|
||||
&& cp src/makeself.sh src/makeself-header.sh /usr/local/bin/ \
|
||||
&& ln -s makeself.sh /usr/local/bin/makeself \
|
||||
&& rm -rf src
|
||||
|
||||
+5
-1
@@ -4,11 +4,15 @@ set -eu
|
||||
|
||||
IMAGE_NAME="${IMAGE_NAME:-alpine3.24-source-stack}"
|
||||
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
||||
SOURCES_DIR="${SOURCES_DIR:-$SCRIPT_DIR/../sources}"
|
||||
FETCH_SCRIPT="$SCRIPT_DIR/../fetch-sources.sh"
|
||||
|
||||
if ! command -v podman >/dev/null 2>&1; then
|
||||
echo "Error: Podman is required." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SOURCES_DIR="$SOURCES_DIR" "$FETCH_SCRIPT"
|
||||
|
||||
echo "Building image $IMAGE_NAME with podman ..."
|
||||
exec podman build --tag "$IMAGE_NAME" "$SCRIPT_DIR"
|
||||
exec podman build --build-context sources="$SOURCES_DIR" --tag "$IMAGE_NAME" "$SCRIPT_DIR"
|
||||
Reference in new issue
Block a user