ncurses

Details
Source
FROM scratch AS build
ARG VERSION
COPY --from=stagex/core-busybox . /
COPY --from=stagex/core-binutils . /
COPY --from=stagex/core-musl . /
COPY --from=stagex/core-linux-headers . /
COPY --from=stagex/core-make . /
COPY --from=stagex/core-gcc . /
ADD fetch/ncurses-${VERSION}.tar.gz .
WORKDIR /ncurses-${VERSION}
ENV ARFLAGS=-crv
RUN --network=none <<-EOF
	set -eux
	./configure \
		--prefix=/usr \
		--disable-root-access \
		--disable-root-environ \
		--disable-setuid-environ \
		--without-ada \
		--without-debug \
		--without-tests \
		--with-versioned-syms \
		--with-pkg-config-libdir=/usr/lib/pkgconfig \
		--with-cxx-binding \
		--with-cxx-shared \
		--with-shared \
		--with-terminfo-dirs="/etc/terminfo:/usr/share/terminfo:/lib/terminfo:/usr/lib/terminfo" \
		--enable-pc-files \
		--enable-shared \
		--enable-widec
	make -j "$(nproc)"
	make DESTDIR="/rootfs" install
	cd /rootfs
	# force link against *w.so
	for lib in ncurses ncurses++ form panel menu; do
		ln -s ${lib}w.pc usr/lib/pkgconfig/$lib.pc
		ln -s lib${lib}w.a usr/lib/lib$lib.a
		echo "INPUT(-l${lib}w)" > usr/lib/lib$lib.so
	done
	# link curses -> ncurses
	ln -s libncurses.a usr/lib/libcurses.a
	ln -s libncurses.so usr/lib/libcurses.so
	echo 'INPUT(-lncursesw)' > usr/lib/libcursesw.so
EOF
FROM stagex/core-filesystem AS package
COPY --from=build /rootfs/ /