54 lines
1.7 KiB
Bash
54 lines
1.7 KiB
Bash
# Template file for 'bc'
|
||
pkgname=bc
|
||
version=1.07.1
|
||
revision=4
|
||
build_style=gnu-configure
|
||
configure_args="--with-readline"
|
||
hostmakedepends="ed flex"
|
||
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
|
||
dc:dc:/usr/bin/gnu-dc"
|
||
disable_parallel_build=yes
|
||
|
||
if [ "$CROSS_BUILD" ]; then
|
||
hostmakedepends+=" bc"
|
||
pre_build() {
|
||
# don’t 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
|
||
}
|