void-packages/srcpkgs/coreutils/template
Anthony Iliopoulos 0010d6d3e6 coreutils: reenable statx() support on glibc
Commit 9cd29dcf7e had disabled statx support detection due to xbps
testing issues on travis with older kernels lacking statx support.

Reenable this, as after xbps commit a3a103a1 we are now running on a
newer travis environment with kernels recent enough to support this
syscall.
2020-04-02 15:31:37 +02:00

120 lines
3.6 KiB
Bash

# Template file for 'coreutils'
pkgname=coreutils
version=8.32
revision=4
bootstrap=yes
makedepends="gmp-devel acl-devel libcap-devel"
short_desc="GNU core utilities"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-3.0-or-later"
homepage="https://www.gnu.org/software/coreutils"
changelog="https://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob_plain;f=NEWS;hb=HEAD"
distfiles="${GNU_SITE}/coreutils/coreutils-${version}.tar.xz"
checksum=4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa
replaces="chroot-coreutils>=0 coreutils-doc>=0 b2sum>=0"
if [ "$CHROOT_READY" ]; then
hostmakedepends+=" perl"
# allow run ./configure by root in ethereal chroot
if [ "$XBPS_ALLOW_CHROOT_BREAKOUT" ]; then
_force_unsafe_configure="FORCE_UNSAFE_CONFIGURE=1"
fi
fi
alternatives="
hostname:hostname:/usr/bin/hostname-coreutils
hostname:hostname.1:/usr/share/man/man1/hostname-coreutils.1"
pre_configure() {
# Build natively all utils for the host, we need this to generate
# the manpages via help2man.
if [ "$CROSS_BUILD" ]; then
env CC=cc LD=ld AR=ar RANLIB=ranlib \
CFLAGS=-Os CXXFLAGS=-Os LDFLAGS= \
$_force_unsafe_configure \
./configure --prefix=${wrksrc}/coreutils-${XBPS_MACHINE} \
--enable-install-program=arch,hostname \
--enable-no-install-program=kill,uptime
make ${makejobs}
make install
make distclean
fi
}
do_configure() {
if [ "$CROSS_BUILD" ]; then
configure_args+=" fu_cv_sys_stat_statfs2_bsize=no
gl_cv_func_working_mkstemp=yes
gl_cv_func_working_acl_get_file=yes "
fi
case "$XBPS_TARGET_MACHINE" in
# XXX syncfs() in src/sync.c expects a return value.
*-musl) configure_args+=" ac_cv_func_syncfs=no";;
esac
#
# Do not install kill: provided by util-linux.
# Do not install uptime: provided by procps-ng.
#
env $_force_unsafe_configure ./configure ${configure_args} \
--enable-install-program=arch,hostname \
--enable-no-install-program=kill,uptime \
--disable-rpath
if [ "$CROSS_BUILD" ]; then
# Use install when cross compiling
cp Makefile Makefile.cfg.orig
sed -e 's;^\(cu_install_program =\).*;\1 install;' \
Makefile.cfg.orig >Makefile
fi
}
do_build() {
if [ "$CROSS_BUILD" ]; then
cp Makefile Makefile.orig
sed '/src_make_prime_list/d' Makefile.orig > Makefile
depbase=$(echo src/make-prime-list.o | sed 's|[^/]*$|.deps/&|;s|\.o$||')
cc -std=gnu99 -I. -I./lib -Ilib -I./lib -Isrc -I./src \
-fdiagnostics-show-option -funit-at-a-time -g -O2 -MT \
src/make-prime-list.o -MD -MP -MF $depbase.Tpo -c \
-o src/make-prime-list.o \
src/make-prime-list.c
mv -f $depbase.Tpo $depbase.Po
cc -std=gnu99 -fdiagnostics-show-option -funit-at-a-time -g -O2 \
-Wl,--as-needed -o src/make-prime-list src/make-prime-list.o
cp Makefile Makefile.bak
sed -e '/hostname.1/d' Makefile.bak > Makefile
fi
make ${makejobs}
}
do_check() {
local exeext_tests
# chgrp tests fail inside a chroot
sed -i '/tests\/chgrp/d' Makefile
# Tests that fail due to being inside a chroot
exeext_tests="chown lchown fchownat"
# Tests that depend on the tests reemoved
exeext_tests+=" fchmodat fchdir"
for test in $exeext_tests ; do
sed -i "/test-$test\$(EXEEXT)/d" gnulib-tests/Makefile
done
make check
}
do_install() {
make DESTDIR=${DESTDIR} install
if [ "$CROSS_BUILD" ]; then
mv ${wrksrc}/coreutils-${XBPS_MACHINE}/share/man \
${DESTDIR}/usr/share
# provided by procps-ng
rm -f ${DESTDIR}/usr/share/man/man1/{kill,uptime}.1
fi
mv ${DESTDIR}/usr/bin/hostname ${DESTDIR}/usr/bin/hostname-coreutils
mv ${DESTDIR}/usr/share/man/man1/hostname.1 ${DESTDIR}/usr/share/man/man1/hostname-coreutils.1
}