void-packages/srcpkgs/pari/template

70 lines
2.0 KiB
Bash

# Template file for 'pari'
pkgname=pari
version=2.15.0
revision=1
build_style=configure
build_helper=qemu
configure_script=./Configure
configure_args="--prefix=/usr $(vopt_if pthreads --mt=pthread) -s"
make_build_target="gp lib-sta lib-dyn doc"
make_check_target=statest-all
make_install_target="install install-lib-sta install-lib-dyn"
hostmakedepends="perl texlive"
makedepends="gmp-devel readline-devel $(vopt_if x11 libX11-devel)"
checkdepends="pari-elldata-small pari-galdata pari-galpol-small
pari-seadata-small pari-nflistdata"
short_desc="Fast computations library in number theory"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="GPL-2.0-or-later"
homepage="https://pari.math.u-bordeaux.fr"
changelog="https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=blob_plain;f=CHANGES;hb=refs/heads/pari-${version%.*}"
distfiles="https://pari.math.u-bordeaux.fr/pub/pari/unix/${pkgname}-${version}.tar.gz"
checksum=e474851e0d16d4e4f9a0d9612c746a2ae7c9a1ec185d04c440b1c74a85755685
build_options="x11 pthreads"
build_options_default="x11 pthreads"
desc_option_pthreads="Enable support for pthreads"
# reduce speed losses due to pthreads
CFLAGS="-flto -fno-semantic-interposition"
case $XBPS_TARGET_MACHINE in
# avoid numerical noise caused by extended-precision of registers
i686*) CFLAGS+=" -ffloat-store" ;;
esac
post_patch() {
# sse2 is not available on all i686
# and it's available on all x86_64
if [ "${XBPS_TARGET_MACHINE%-musl}" != x86_64 ]; then
echo 'int main() { return 1; }' > config/has_sse2.c
else
echo 'int main() { return 0; }' > config/has_sse2.c
fi
cat <<-EOF >config/arch-osname
#!/bin/sh
echo "${XBPS_TARGET_MACHINE%-musl}-linux"
EOF
# No RPATH please
vsed -i -e '/runpathprefix=/s/=.*/=/' config/get_ld
}
pre_configure() {
export LD="$CC"
if [ "$CROSS_BUILD" ]; then
export RUNTEST="/usr/bin/qemu-$XBPS_TARGET_QEMU_MACHINE-static"
fi
}
pari-devel_package() {
short_desc+=" - development files"
depends="pari>=${version}_${revision}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}