FROM scratch AS base 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} FROM base AS fetch ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . FROM fetch AS build 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} WORKDIR /abseil-cpp-${VERSION} 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 FROM build AS install RUN --network=none DESTDIR="/rootfs" cmake --install build FROM stagex/filesystem AS package COPY --from=install /rootfs/. /