# Template file for 'giac'
pkgname=giac
version=1.9.0.37
revision=1
build_style=gnu-configure
configure_args="--disable-micropy --disable-quickjs"
hostmakedepends="automake gettext-devel libtool pkg-config"
makedepends="fltk-devel gmp-devel gsl-devel libjpeg-turbo-devel
 libpng-devel readline-devel mpfr-devel pari-devel
 $(vopt_if openblas 'openblas-devel' 'lapack-devel')"
depends="desktop-file-utils hicolor-icon-theme"
short_desc="Free computer algebra system"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="GPL-3.0-or-later"
homepage="https://www-fourier.ujf-grenoble.fr/~parisse/giac.html"
changelog="https://www-fourier.ujf-grenoble.fr/~parisse/install_en#new"
distfiles="https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version%.*}-${version##*.}.tar.gz"
checksum=f6085d0ced4d9e8f8b93006873642d7c55f16ccfc1a430de07d98e652e470132

# need more than 4*65536 stack, see try_parse() in gen.cc line 11812
LDFLAGS="-Wl,-z,stack-size=2097152"

build_options="openblas"

case "$XBPS_TARGET_MACHINE" in
	x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
		# Prefer accelerated routines where available
		build_options_default="openblas"
		;;
	*) ;;
esac


pre_configure() {
	autoreconf -fi
	if [ "$build_option_openblas" ]; then
		export BLAS_LIBS=-lopenblas
		export BLAS_CFLAGS=-I/usr/include/openblas
		export LAPACK_LIBS=-lopenblas
		export LAPACK_CFLAGS=-I/usr/include/openblas
	fi
}


post_extract() {
	# remove a binary that works only for x86_64 host
	# the binary will be rebuilt using host compiler
	rm src/mkjs
}

post_install() {
	# remove duplicates
	rm -r ${DESTDIR}/usr/share/doc
}

libgiac_package() {
	short_desc+=" - runtime library"
	pkg_install() {
		vmove "usr/lib/*.so.*"
	}
}

giac-devel_package() {
	short_desc+=" - development files"
	depends="${sourcepkg}>=${version}_${revision} $makedepends"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.so"
	}
}

giac-doc_package() {
	short_desc+=" - Documentation and Examples"
	pkg_install() {
		vmove "usr/share/giac/doc"
		vmove "usr/share/giac/examples"
		find ${PKGDESTDIR} -name "Makefile*" -delete
	}
}
