sci-mathematics/fricas: bump to 1.3.0
authorAndrey Grozin <grozin@gentoo.org>
Wed, 31 Aug 2016 11:40:05 +0000 (18:40 +0700)
committerAndrey Grozin <grozin@gentoo.org>
Wed, 31 Aug 2016 11:40:05 +0000 (18:40 +0700)
Package-Manager: portage-2.3.0

sci-mathematics/fricas/Manifest
sci-mathematics/fricas/fricas-1.3.0.ebuild [new file with mode: 0644]

index bf6cc815779dd4345f8e31e9fa79a68afc1c67e6..af10b4c675653db7aa856c165450741c362c4ba2 100644 (file)
@@ -1 +1,2 @@
 DIST fricas-1.2.7-full.tar.bz2 10289500 SHA256 f23d892c17fca850726ab6f1f03061bbced6c487d2eed23e86037672b7473e1b SHA512 1e6e34dc0e4b535bf937ebdefb5099629b2893e6db0dba8b84f259e2a3b7244692ab704dd04aa24f257089661f6747d8f367d0f58bb8cebd652469cb58c72897 WHIRLPOOL 41934d03203b6b6ca51ab0f54d3c7087de67366bba5794785360cbb61fc7cb18a6d4b489c176d75815bdb7b68b4aba31d0724bb5be94f1bfa6cb01e930af7991
+DIST fricas-1.3.0-full.tar.bz2 10459788 SHA256 d4ceb6bcf4049196130d463dc7442dd206fd9cde0634f3e2f70add2e2c774f03 SHA512 fd084c3d3ada76424b0159eff76660872da63c1e25f392d98bc7175b37c05fe23a117587addc89828ff38a368f5161d34febcc269f530710ff7da6b53860653f WHIRLPOOL c334c42ee83f676ce9640870e4ddf42a2a3c034570c173ec633c6eecf45d3e2d14f9e6e9fa4240d4f090fa0b1ddfaa3e4b117d530dc6f3c9d70a9b1a399cd188
diff --git a/sci-mathematics/fricas/fricas-1.3.0.ebuild b/sci-mathematics/fricas/fricas-1.3.0.ebuild
new file mode 100644 (file)
index 0000000..5d18967
--- /dev/null
@@ -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.6" . . . . . )
+# 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
+}