7cbca0961f
834a3473566f25b2d0ed572b32d2b7d3e8f96ddf221034f1398ee297463d1eb1 fmt
45 lines
1.3 KiB
Docker
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/. /
|