# Template file for 'maxima'
pkgname=maxima
version=5.45.1
revision=1
build_style=gnu-configure
configure_args="$(vopt_enable clisp) $(vopt_enable sbcl sbcl-exec)"
hostmakedepends="python3 perl emacs texinfo"
makedepends="$(vopt_if clisp clisp) $(vopt_if sbcl sbcl)"
depends="$(vopt_if clisp clisp) rlwrap"
checkdepends="gnuplot"
short_desc="Computer Algebra System"
maintainer="Bosco Garcia <jboscogg@gmail.org>"
license="GPL-2.0-only"
homepage="http://maxima.sourceforge.net"
distfiles="${SOURCEFORGE_SITE}/maxima/maxima-${version}.tar.gz"
checksum=fe9016276970bef214a1a244348558644514d7fdfaa4fc8b9d0e87afcbb4e7dc

nostrip=yes
nopie=yes
build_options="clisp sbcl"
desc_option_clisp="Build with CLISP"
desc_option_sbcl="Build with SBCL"
build_options_default="sbcl"
vopt_conflict clisp sbcl

post_install() {
	vmkdir usr/share/doc
	ln -sf ../maxima/${version}/doc ${DESTDIR}/usr/share/doc/maxima

	# symlink man pages for rmaxima and xmaxima
	ln -s maxima.1 ${DESTDIR}/usr/share/man/man1/rmaxima.1
	ln -s maxima.1 ${DESTDIR}/usr/share/man/man1/xmaxima.1

	# info files are used for maxima help, and need to be uncompressed
	# removing this file prevents compression of info files
	rm ${DESTDIR}/usr/share/info/dir
}

maxima-src_package() {
	depends="${sourcepkg}-${version}_${revision}"
	short_desc+=" - source files"
	pkg_install() {
		vmove usr/share/maxima/${version}/src
	}
}

maxima-emacs_package() {
	short_desc+=" - Emacs interface"
	depends="${sourcepkg}-${version}_${revision} virtual?emacs"
	pkg_install() {
		vmove usr/share/emacs
	}
}

xmaxima_package() {
	short_desc+=" - Tk interface"
	depends="${sourcepkg}-${version}_${revision} tk"
	pkg_install() {
		vmove usr/bin/xmaxima
		vmove usr/share/man/man1/xmaxima.1
		vmove usr/share/maxima/${version}/xmaxima
		vmove usr/share/info/xmaxima.info
		vinstall ${FILESDIR}/maxima.desktop 644 usr/share/applications
		vmkdir usr/share/pixmaps
		ln -sf /usr/share/maxima/${version}/xmaxima/maxima-new.png \
			${PKGDESTDIR}/usr/share/pixmaps/maxima
	}
}
