# 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 " 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() { # 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 mv ${DESTDIR}/usr/share/man/man1/{,gnu-}bc.1 mv ${DESTDIR}/usr/share/man/man1/{,gnu-}dc.1 }