summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Grozin <grozin@gentoo.org>2024-07-01 01:03:06 +0700
committerAndrey Grozin <grozin@gentoo.org>2024-07-01 01:03:06 +0700
commitea96e9f5dcab6f462700bffa82125c05e55f62b8 (patch)
tree86642fb971b63d3fe2831658e5865748666c491e /sci-mathematics/fricas
parentdev-python/py-ubjson: Enable py3.13 (diff)
downloadgentoo-ea96e9f5dcab6f462700bffa82125c05e55f62b8.tar.gz
gentoo-ea96e9f5dcab6f462700bffa82125c05e55f62b8.tar.bz2
gentoo-ea96e9f5dcab6f462700bffa82125c05e55f62b8.zip
sci-mathematics/fricas: add missing dependencies
Signed-off-by: Andrey Grozin <grozin@gentoo.org>
Diffstat (limited to 'sci-mathematics/fricas')
-rw-r--r--sci-mathematics/fricas/fricas-1.3.11-r2.ebuild100
1 files changed, 100 insertions, 0 deletions
diff --git a/sci-mathematics/fricas/fricas-1.3.11-r2.ebuild b/sci-mathematics/fricas/fricas-1.3.11-r2.ebuild
new file mode 100644
index 000000000000..f661206cab77
--- /dev/null
+++ b/sci-mathematics/fricas/fricas-1.3.11-r2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VIRTUALX_REQUIRED="doc"
+inherit virtualx elisp-common
+
+DESCRIPTION="FriCAS is a fork of Axiom computer algebra system"
+HOMEPAGE="https://fricas.sourceforge.net/
+ https://github.com/fricas/fricas
+ https://fricas.github.io/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PV}/${P}-full.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="+sbcl cmucl gcl ecl clisp clozurecl X emacs gmp doc"
+REQUIRED_USE="^^ ( sbcl cmucl gcl ecl clisp clozurecl )
+ gmp? ( ^^ ( sbcl clozurecl ) )"
+RDEPEND="sbcl? ( dev-lisp/sbcl:= )
+ cmucl? ( dev-lisp/cmucl:= )
+ gcl? ( dev-lisp/gcl:= )
+ ecl? ( dev-lisp/ecl:= )
+ clisp? ( dev-lisp/clisp:= )
+ clozurecl? ( dev-lisp/clozurecl:= )
+ X? ( x11-libs/libXpm x11-libs/libICE )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ gmp? ( dev-libs/gmp:= )"
+DEPEND="${RDEPEND}
+ doc? ( dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-mathscience
+ dev-tex/pgf )"
+
+# necessary for clisp and gcl
+RESTRICT="strip"
+
+PATCHES=( "${FILESDIR}"/${P}-doc.patch )
+
+src_configure() {
+ local LISP GMP
+ use sbcl && LISP="sbcl --dynamic-space-size 4096"
+ use cmucl && LISP=lisp
+ use gcl && LISP=gcl
+ use ecl && LISP=ecl
+ use clisp && LISP=clisp
+ use clozurecl && LISP=ccl
+
+ if use sbcl || use clozurecl
+ then GMP=$(use_with gmp)
+ else GMP=''
+ fi
+
+ # aldor is not yet in portage
+ econf --disable-aldor --with-lisp="${LISP}" $(use_with X x) ${GMP}
+}
+
+src_compile() {
+ default
+ if use doc; then
+ pushd src/doc > /dev/null || die "pushd src/doc failed"
+ virtx emake book
+ popd > /dev/null
+ fi
+}
+
+src_test() {
+ emake -j1 all-input
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ dodoc README.rst FAQ
+
+ if use emacs; then
+ sed -e "s|(setq load-path (cons (quote \"/usr/$(get_libdir)/fricas/emacs\") load-path)) ||" \
+ -i "${D}"/usr/bin/efricas \
+ || die "sed efricas failed"
+ elisp-install ${PN} "${D}"/usr/$(get_libdir)/${PN}/emacs/*.el
+ elisp-make-site-file 64${PN}-gentoo.el
+ else
+ rm "${D}"/usr/bin/efricas || die "rm efricas failed"
+ fi
+ rm -r "${D}"/usr/$(get_libdir)/${PN}/emacs || die "rm -r emacs failed"
+
+ if use doc; then
+ dodoc src/doc/book.pdf
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}