2024-08-08 07:47:42 +00:00
|
|
|
FROM scratch AS base
|
2024-05-10 23:09:47 +00:00
|
|
|
ENV VERSION=20240116.2
|
|
|
|
ENV SRC_HASH=733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc
|
|
|
|
ENV SRC_FILE=${VERSION}.tar.gz
|
|
|
|
ENV SRC_SITE=https://github.com/abseil/abseil-cpp/archive/refs/tags/${SRC_FILE}
|
|
|
|
|
2024-08-08 07:47:42 +00:00
|
|
|
FROM base AS fetch
|
2024-05-10 23:09:47 +00:00
|
|
|
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
|
|
|
|
|
2024-08-08 07:47:42 +00:00
|
|
|
FROM fetch AS build
|
2024-05-10 23:09:47 +00:00
|
|
|
COPY --from=stagex/busybox . /
|
|
|
|
COPY --from=stagex/binutils . /
|
|
|
|
COPY --from=stagex/linux-headers . /
|
|
|
|
COPY --from=stagex/cmake . /
|
|
|
|
COPY --from=stagex/ninja . /
|
|
|
|
COPY --from=stagex/musl . /
|
|
|
|
COPY --from=stagex/gcc . /
|
|
|
|
COPY --from=stagex/openssl . /
|
|
|
|
COPY --from=stagex/gcc . /
|
|
|
|
COPY --from=stagex/zlib . /
|
|
|
|
|
|
|
|
RUN tar -xf ${SRC_FILE}
|
2024-08-26 01:18:52 +00:00
|
|
|
WORKDIR /abseil-cpp-${VERSION}
|
2024-05-10 23:09:47 +00:00
|
|
|
RUN <<-EOF
|
|
|
|
set -eux
|
|
|
|
cmake \
|
|
|
|
-B build \
|
|
|
|
-G Ninja \
|
|
|
|
-WMAKE_CXX_STANDARD=17 \
|
|
|
|
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
|
|
-DBUILD_TESTING=ON \
|
|
|
|
-DABSL_USE_EXTERNAL_GOOGLETEST=ON \
|
|
|
|
-DABSL_PROPAGATE_CXX_STD=ON \
|
|
|
|
-DABSL_FIND_GOOGLETEST=ON
|
|
|
|
cmake --build build
|
|
|
|
EOF
|
|
|
|
|
2024-08-08 07:47:42 +00:00
|
|
|
FROM build AS install
|
2024-05-10 23:09:47 +00:00
|
|
|
RUN --network=none DESTDIR="/rootfs" cmake --install build
|
|
|
|
|
2024-08-08 07:47:42 +00:00
|
|
|
FROM stagex/filesystem AS package
|
2024-05-10 23:09:47 +00:00
|
|
|
COPY --from=install /rootfs/. /
|