vp-build/srcpkgs/bc/template

58 lines
1.9 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Template file for 'bc'
pkgname=bc
version=1.07.1
revision=5
build_style=gnu-configure
configure_args="--with-readline"
hostmakedepends="ed flex texinfo"
makedepends="readline-devel"
short_desc="Arbitrary precision numeric processing language"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-3.0-or-later"
homepage="http://www.gnu.org/software/${pkgname}/"
distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
checksum=62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a
alternatives="
bc:bc:/usr/bin/gnu-bc
bc:bc.1:/usr/share/man/man1/gnu-bc.1
dc:dc:/usr/bin/gnu-dc
dc:dc.1:/usr/share/man/man1/gnu-dc.1"
disable_parallel_build=yes
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" bc"
pre_build() {
# dont run target built binary 'fbc';
# run host 'bc' instead
sed -i -e 's|^\(\s\+\)./fbc|\1bc|g' bc/Makefile
}
fi
do_build() {
make ${makejobs} LEX="flex -I"
}
do_check() {
# LFS tells us that there are 10 know failures
# What happens here
# 1. echo "quit" so bc will quit after running Test/checklib.b
# 2. tee to /dev/tty so the Maintainer will see the output of the tests
# 3. grep the Total failures for any number between 1 and 199
# 4. cut Total failures: from the numbers
# 5. use awk to sum the numbers
failures="$(echo "quit" | ./bc/bc -l Test/checklib.b | tee /dev/tty | grep 'Total failures: [1-9]\|1[0-9]\|1[0-9][0-9]' | cut -d: -f2 | awk '{s+=$1} END {print s}' )"
# 6. Check if there are more than then 10 Know test failures as pointed by LFS
# http://www.linuxfromscratch.org/lfs/view/development/chapter06/bc.html
if [ "$failures" -gt 10 ]; then
echo "THERE ARE MORE THAN THE 10 KNOW FAILURES"
return 1
else
echo "TESTS PASSED"
fi
}
post_install() {
mv ${DESTDIR}/usr/bin/{,gnu-}bc
mv ${DESTDIR}/usr/bin/{,gnu-}dc
mv ${DESTDIR}/usr/share/man/man1/{,gnu-}bc.1
mv ${DESTDIR}/usr/share/man/man1/{,gnu-}dc.1
}