diff options
author | Andrey Grozin <grozin@gentoo.org> | 2016-02-26 20:35:09 +0600 |
---|---|---|
committer | Andrey Grozin <grozin@gentoo.org> | 2016-02-26 20:36:27 +0600 |
commit | b47f220ca983a97792b07dfec9ffc9bd9dab1e44 (patch) | |
tree | 9bcb6954212724333a69cbe9da14472946d5b1e0 /sci-mathematics | |
parent | net-libs/gsoap: Bump (diff) | |
download | gentoo-b47f220ca983a97792b07dfec9ffc9bd9dab1e44.tar.gz gentoo-b47f220ca983a97792b07dfec9ffc9bd9dab1e44.tar.bz2 gentoo-b47f220ca983a97792b07dfec9ffc9bd9dab1e44.zip |
sci-mathematics/fricas: sbcl version must be <=1.3.0
Bug: 575648
Package-Manager: portage-2.2.27
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/fricas/fricas-1.2.7-r3.ebuild | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/sci-mathematics/fricas/fricas-1.2.7-r3.ebuild b/sci-mathematics/fricas/fricas-1.2.7-r3.ebuild new file mode 100644 index 000000000000..60ef380b9d8c --- /dev/null +++ b/sci-mathematics/fricas/fricas-1.2.7-r3.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2016 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.0" . . . . . ) +# 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 +} |