46 lines
1.2 KiB
Text
46 lines
1.2 KiB
Text
|
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/. /
|