2024-08-17 04:41:04 +00:00
|
|
|
FROM scratch AS base
|
2024-08-16 19:26:04 +00:00
|
|
|
ARG ARCH=x86_64
|
|
|
|
ENV VERSION=10.2.1
|
|
|
|
ENV SRC_HASH=1250e4cc58bf06ee631567523f48848dc4596133e163f02615c97f78bab6c811
|
|
|
|
ENV SRC_FILE=${VERSION}.tar.gz
|
|
|
|
ENV SRC_SITE=https://github.com/fmtlib/fmt/archive/refs/tags/${SRC_FILE}
|
|
|
|
|
2024-08-17 04:41:04 +00:00
|
|
|
FROM base AS fetch
|
2024-08-16 19:26:04 +00:00
|
|
|
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
|
|
|
|
|
2024-08-17 04:41:04 +00:00
|
|
|
FROM fetch AS build
|
2024-08-16 19:26:04 +00:00
|
|
|
COPY --from=stagex/musl . /
|
|
|
|
COPY --from=stagex/gcc . /
|
|
|
|
COPY --from=stagex/busybox . /
|
|
|
|
COPY --from=stagex/binutils . /
|
|
|
|
COPY --from=stagex/make . /
|
|
|
|
COPY --from=stagex/openssl . /
|
|
|
|
COPY --from=stagex/postgresql . /
|
|
|
|
COPY --from=stagex/cmake . /
|
|
|
|
COPY --from=stagex/samurai . /
|
|
|
|
COPY --from=stagex/python . /
|
|
|
|
COPY --from=stagex/doxygen . /
|
|
|
|
RUN tar -xf ${SRC_FILE}
|
|
|
|
WORKDIR fmt-${VERSION}
|
|
|
|
COPY *.patch .
|
|
|
|
RUN --network=none <<-EOF
|
2024-08-17 04:41:04 +00:00
|
|
|
set -eux
|
2024-08-16 19:26:04 +00:00
|
|
|
patch -p1 fix-handling-of-static-separator.patch
|
|
|
|
# Build in-tree so the prebuilt docs get installed correctly.
|
|
|
|
# See https://github.com/fmtlib/fmt/issues/2837
|
|
|
|
cmake -B . -G Ninja \
|
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
|
|
-DBUILD_SHARED_LIBS=True \
|
|
|
|
-DCMAKE_BUILD_TYPE=None \
|
|
|
|
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
|
|
|
|
cmake --build .
|
|
|
|
EOF
|
|
|
|
|
2024-08-17 04:41:04 +00:00
|
|
|
FROM build AS install
|
2024-08-16 19:26:04 +00:00
|
|
|
RUN DESTDIR=/rootfs cmake --install .
|
|
|
|
RUN find /rootfs -exec touch -hcd "@0" "{}" +
|
|
|
|
|
2024-08-17 04:41:04 +00:00
|
|
|
FROM stagex/filesystem AS package
|
2024-08-16 19:26:04 +00:00
|
|
|
COPY --from=install /rootfs/. /
|