packages/

abseil-cpp

Details
Source
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/. /