stagex/packages/binutils/Containerfile
2024-04-24 07:20:37 -07:00

56 lines
1.4 KiB
Docker

FROM scratch as base
ARG ARCH=x86_64
ENV VERSION=2.41
ENV SRC_HASH=ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
ENV SRC_FILE=binutils-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/binutils/${SRC_FILE}
FROM base as fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
COPY --from=stagex/stage3 . /
RUN tar -xf binutils-${VERSION}.tar.xz
WORKDIR binutils-${VERSION}
RUN --network=none <<-EOF
set -ex
CFLAGS='-Os -Wformat -Werror=format-security -O2' \
CXXFLAGS='-Os -Wformat -Werror=format-security -O2' \
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--target=${ARCH}-linux-musl \
--with-build-sysroot= \
--with-sysroot=/ \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
--enable-plugins \
--without-zstd \
--disable-shared \
--disable-jansson \
--disable-gdb \
--disable-gprofng \
--disable-multilib \
--disable-nls \
--disable-werror \
--enable-gold \
--enable-64-bit-bfd \
--enable-default-execstack=no \
--enable-default-hash-style=gnu \
--enable-deterministic-archives \
--enable-ld=default \
--enable-new-dtags \
--enable-relro \
--enable-threads \
--with-mmap \
--with-pic
make -j "$(nproc)"
EOF
FROM build as install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
COPY --from=install /rootfs/. /