packages/

binutils

Details
Source
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=2.43.1
ENV SRC_HASH=13f74202a3c4c51118b797a39ea4200d3f6cfbe224da6d1d95bb938480132dfd
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/. /