diff options
author | Andrey Grozin <grozin@gentoo.org> | 2017-01-22 23:21:22 +0700 |
---|---|---|
committer | Andrey Grozin <grozin@gentoo.org> | 2017-01-22 23:22:13 +0700 |
commit | 24aa0d498d7b03abaea2ceb5ce3b2a3570187638 (patch) | |
tree | b4811a4d245e57836049c6b0757dcba910046b34 /sci-mathematics | |
parent | x11-wm/stumpwm: Reset XDG environment. (diff) | |
download | gentoo-24aa0d498d7b03abaea2ceb5ce3b2a3570187638.tar.gz gentoo-24aa0d498d7b03abaea2ceb5ce3b2a3570187638.tar.bz2 gentoo-24aa0d498d7b03abaea2ceb5ce3b2a3570187638.zip |
sci-mathematics/fricas: sbcl must be <1.3.13
Bug: 605596
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/fricas/fricas-1.3.0-r1.ebuild | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/sci-mathematics/fricas/fricas-1.3.0-r1.ebuild b/sci-mathematics/fricas/fricas-1.3.0-r1.ebuild new file mode 100644 index 000000000000..9bab3ea52d82 --- /dev/null +++ b/sci-mathematics/fricas/fricas-1.3.0-r1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ +EAPI=5 +inherit multilib elisp-common + +DESCRIPTION="FriCAS is a fork of Axiom computer algebra system" +HOMEPAGE="http://${PN}.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}-full.tar.bz2" +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# Supported lisps, number 0 is the default +LISPS=( sbcl cmucl gcl ecls clisp clozurecl ) +# Version restrictions, . means no restrictions +REST=( ">=dev-lisp/sbcl-1.3.6:= <dev-lisp/sbcl-1.3.13" . . . . . ) +# command name: . means just ${LISP} +COMS=( . lisp . ecl . ccl ) + +IUSE="${LISPS[*]} X emacs gmp" +RDEPEND="X? ( x11-libs/libXpm x11-libs/libICE ) + emacs? ( virtual/emacs ) + gmp? ( dev-libs/gmp:= )" + +# Generating lisp deps +n=${#LISPS[*]} +for ((n--; n > 0; n--)); do + LISP=${LISPS[$n]} + if [ "${REST[$n]}" = "." ]; then + DEP="dev-lisp/${LISP}" + else + DEP="${REST[$n]}" + fi + RDEPEND="${RDEPEND} ${LISP}? ( ${DEP}:= ) !${LISP}? (" +done +if [ "${REST[0]}" = "." ]; then + DEP="dev-lisp/${LISPS[0]}" +else + DEP="${REST[0]}" +fi +RDEPEND="${RDEPEND} ${DEP}:=" +n=${#LISPS[*]} +for ((n--; n > 0; n--)); do + RDEPEND="${RDEPEND} )" +done + +DEPEND="${RDEPEND}" + +# necessary for clisp and gcl +RESTRICT="strip" + +src_configure() { + local LISP n + LISP=sbcl + n=${#LISPS[*]} + for ((n--; n > 0; n--)); do + if use ${LISPS[$n]}; then + LISP=${COMS[$n]} + if [ "${LISP}" = "." ]; then + LISP=${LISPS[$n]} + fi + fi + done + einfo "Using lisp: ${LISP}" + + # aldor is not yet in portage + econf --disable-aldor --with-lisp=${LISP} $(use_with X x) $(use_with gmp) +} + +src_compile() { + # bug #300132 + emake -j1 +} + +src_test() { + emake -j1 all-input +} + +src_install() { + emake -j1 DESTDIR="${D}" install + dodoc README 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-site-file-install "${FILESDIR}"/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" +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |