stagex/packages/fmt/Containerfile
ConYel 7cbca0961f
chore: update fmt 11.0.2
834a3473566f25b2d0ed572b32d2b7d3e8f96ddf221034f1398ee297463d1eb1 fmt
2024-10-10 21:30:21 +02:00

45 lines
1.3 KiB
Docker

FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=11.0.2
ENV SRC_HASH=6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/fmtlib/fmt/archive/refs/tags/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
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
set -eux
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
FROM build AS install
RUN DESTDIR=/rootfs cmake --install .
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /