74 lines
1.8 KiB
Docker
74 lines
1.8 KiB
Docker
FROM scratch AS base
|
|
ENV VERSION=1.5.5
|
|
ENV SRC_FILE=v${VERSION}.tar.gz
|
|
ENV SRC_SITE=https://github.com/facebook/zstd/archive/${SRC_FILE}
|
|
ENV SRC_HASH=98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1
|
|
|
|
FROM base AS fetch
|
|
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
|
|
|
|
FROM fetch AS build
|
|
COPY --from=stagex/busybox . /
|
|
COPY --from=stagex/python . /
|
|
COPY --from=stagex/gcc . /
|
|
COPY --from=stagex/musl . /
|
|
COPY --from=stagex/meson . /
|
|
COPY --from=stagex/ninja . /
|
|
COPY --from=stagex/binutils . /
|
|
COPY --from=stagex/pkgconf . /
|
|
COPY --from=stagex/zlib . /
|
|
RUN tar -xf ${SRC_FILE}
|
|
WORKDIR /zstd-${VERSION}
|
|
RUN --network=none <<-EOF
|
|
set -eux
|
|
meson env2mfile \
|
|
--native \
|
|
--system=linux \
|
|
--cpu-family=x86_64 \
|
|
--cpu=x86_64 \
|
|
--endian=little \
|
|
-o meson.cross
|
|
meson setup \
|
|
--prefix=/usr \
|
|
--libdir=/usr/lib \
|
|
--libexecdir=/usr/libexec \
|
|
--bindir=/usr/bin \
|
|
--sbindir=/usr/sbin \
|
|
--includedir=/usr/include \
|
|
--datadir=/usr/share \
|
|
--mandir=/usr/share/man \
|
|
--infodir=/usr/share/info \
|
|
--localedir=/usr/share/locale \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--sharedstatedir=/var/lib \
|
|
--buildtype=plain \
|
|
--auto-features=auto \
|
|
--wrap-mode=nodownload \
|
|
--default-library=both \
|
|
--cross-file=meson.cross \
|
|
-Dbacktrace=disabled \
|
|
-Db_lto=false \
|
|
-Db_staticpic=true \
|
|
-Db_pie=true \
|
|
-Dpython.bytecompile=0 \
|
|
-Dwerror=false \
|
|
-Db_ndebug=true \
|
|
-Dbin_tests=false \
|
|
-Dbin_contrib=false \
|
|
-Dbin_programs=true \
|
|
-Dbacktrace=disabled \
|
|
-Dmulti_thread=enabled \
|
|
-Dlz4=disabled \
|
|
-Dlzma=disabled \
|
|
-Dzlib=disabled \
|
|
build/meson \
|
|
output
|
|
meson compile -C output
|
|
EOF
|
|
|
|
FROM build AS install
|
|
RUN --network=none DESTDIR=/rootfs meson install --no-rebuild -C output
|
|
|
|
FROM stagex/filesystem AS package
|
|
COPY --from=install /rootfs/. /
|