stagex/packages/fmt/Containerfile

46 lines
1.3 KiB
Text
Raw Normal View History

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}
FROM base AS fetch
2024-08-16 19:26:04 +00:00
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
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}
2024-08-26 01:18:52 +00:00
WORKDIR /fmt-${VERSION}
2024-08-16 19:26:04 +00:00
COPY *.patch .
RUN --network=none <<-EOF
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
FROM build AS install
2024-08-16 19:26:04 +00:00
RUN DESTDIR=/rootfs cmake --install .
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
2024-08-16 19:26:04 +00:00
COPY --from=install /rootfs/. /