stagex/packages/readline/Containerfile

71 lines
2.9 KiB
Text
Raw Normal View History

2024-03-21 00:24:00 +00:00
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=8.2
ENV PATCH_LEVEL=10
ENV SRC_HASH=3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35
ENV SRC_PATCH_HASH_01=bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7
ENV SRC_PATCH_HASH_02=e06503822c62f7bc0d9f387d4c78c09e0ce56e53872011363c74786c7cd4c053
ENV SRC_PATCH_HASH_03=24f587ba46b46ed2b1868ccaf9947504feba154bb8faabd4adaea63ef7e6acb0
ENV SRC_PATCH_HASH_04=79572eeaeb82afdc6869d7ad4cba9d4f519b1218070e17fa90bbecd49bd525ac
ENV SRC_PATCH_HASH_05=622ba387dae5c185afb4b9b20634804e5f6c1c6e5e87ebee7c35a8f065114c99
ENV SRC_PATCH_HASH_06=c7b45ff8c0d24d81482e6e0677e81563d13c74241f7b86c4de00d239bc81f5a1
ENV SRC_PATCH_HASH_07=5911a5b980d7900aabdbee483f86dab7056851e6400efb002776a0a4a1bab6f6
ENV SRC_PATCH_HASH_08=a177edc9d8c9f82e8c19d0630ab351f3fd1b201d655a1ddb5d51c4cee197b26a
ENV SRC_PATCH_HASH_09=3d9885e692e1998523fd5c61f558cecd2aafd67a07bd3bfe1d7ad5a31777a116
ENV SRC_PATCH_HASH_10=758e2ec65a0c214cfe6161f5cde3c5af4377c67d820ea01d13de3ca165f67b4c
ENV SRC_FILE=readline-${VERSION}.tar.gz
ENV SRC_SITE=http://ftp.gnu.org/gnu/readline
ENV PATCH_SITE=${SRC_SITE}/readline-${VERSION}-patches
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE}/${SRC_FILE} .
ADD --checksum=sha256:${SRC_PATCH_HASH_01} ${PATCH_SITE}/readline82-001 .
ADD --checksum=sha256:${SRC_PATCH_HASH_02} ${PATCH_SITE}/readline82-002 .
ADD --checksum=sha256:${SRC_PATCH_HASH_03} ${PATCH_SITE}/readline82-003 .
ADD --checksum=sha256:${SRC_PATCH_HASH_04} ${PATCH_SITE}/readline82-004 .
ADD --checksum=sha256:${SRC_PATCH_HASH_05} ${PATCH_SITE}/readline82-005 .
ADD --checksum=sha256:${SRC_PATCH_HASH_06} ${PATCH_SITE}/readline82-006 .
ADD --checksum=sha256:${SRC_PATCH_HASH_07} ${PATCH_SITE}/readline82-007 .
ADD --checksum=sha256:${SRC_PATCH_HASH_08} ${PATCH_SITE}/readline82-008 .
ADD --checksum=sha256:${SRC_PATCH_HASH_09} ${PATCH_SITE}/readline82-009 .
ADD --checksum=sha256:${SRC_PATCH_HASH_10} ${PATCH_SITE}/readline82-010 .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/ncurses . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN --network=none tar -xf ${SRC_FILE}
WORKDIR readline-${VERSION}
ADD *.patch .
RUN --network=none <<-EOF
set -eu
p=1; while [ ${p} -le ${PATCH_LEVEL} ]; do
printf "Applying patch readline82-$(printf "%03d" $p)\n"
patch -p0 -i ../readline82-$(printf "%03d" $p)
p=$(( p + 1 ))
done
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-static \
--enable-shared
make -j "$(nproc)"
EOF
FROM build AS install
RUN --network=none <<-EOF
set -eux
make DESTDIR=/rootfs install
find /rootfs -exec touch -hcd "@0" "{}" +
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /