diff options
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/fricas/files/fricas-1.3.11-doc.patch | 12 | ||||
-rw-r--r-- | sci-mathematics/fricas/fricas-1.3.11-r1.ebuild | 94 |
2 files changed, 106 insertions, 0 deletions
diff --git a/sci-mathematics/fricas/files/fricas-1.3.11-doc.patch b/sci-mathematics/fricas/files/fricas-1.3.11-doc.patch new file mode 100644 index 000000000000..fa38eef84dcc --- /dev/null +++ b/sci-mathematics/fricas/files/fricas-1.3.11-doc.patch @@ -0,0 +1,12 @@ +diff '--color=auto' -r -U3 fricas-1.3.11.orig/src/doc/Makefile.in fricas-1.3.11/src/doc/Makefile.in +--- fricas-1.3.11.orig/src/doc/Makefile.in 2024-06-30 04:17:46.000000000 +0700 ++++ fricas-1.3.11/src/doc/Makefile.in 2024-06-30 22:46:39.519468947 +0700 +@@ -666,7 +666,7 @@ + tmp/vp-knot3.input: knot3.input ${INPUT_EXTRA_INPUT} + cp $< $@ + +-${HTEX_VIEWPORTS_STAMP}: tmp/stamp-%: tmp/vp-%.input ++${HTEX_VIEWPORTS_STAMP}: tmp/stamp-%: tmp/vp-%.input ${INPUT_EXTRA_INPUT} + unset DAASE; FRICAS=${FRICAS}; export FRICAS; \ + echo ")read $<" | FRICAS_INITFILE='' ${XVFB} \ + ${FRICAS}/bin/fricas -noht -noclef > /dev/null diff --git a/sci-mathematics/fricas/fricas-1.3.11-r1.ebuild b/sci-mathematics/fricas/fricas-1.3.11-r1.ebuild new file mode 100644 index 000000000000..41d8808bf5a8 --- /dev/null +++ b/sci-mathematics/fricas/fricas-1.3.11-r1.ebuild @@ -0,0 +1,94 @@ +# 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}" + +# 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 +} |