From fcb672d2acfb80e26a4c4093c788d09617d9f1f8 Mon Sep 17 00:00:00 2001 From: Igor Date: Mon, 24 Jan 2011 19:14:26 +0300 Subject: Use many lisps; add menu entry --- sci-mathematics/open-axiom/Manifest | 4 +- sci-mathematics/open-axiom/files/open-axiom.png | Bin 0 -> 59273 bytes sci-mathematics/open-axiom/files/open-axiom.xcf | Bin 0 -> 188198 bytes sci-mathematics/open-axiom/open-axiom-9999.ebuild | 73 ++++++++++++++++------ 4 files changed, 58 insertions(+), 19 deletions(-) create mode 100644 sci-mathematics/open-axiom/files/open-axiom.png create mode 100644 sci-mathematics/open-axiom/files/open-axiom.xcf diff --git a/sci-mathematics/open-axiom/Manifest b/sci-mathematics/open-axiom/Manifest index 939149a..e17aa62 100644 --- a/sci-mathematics/open-axiom/Manifest +++ b/sci-mathematics/open-axiom/Manifest @@ -1 +1,3 @@ -EBUILD open-axiom-9999.ebuild 1205 RMD160 6bcea1c2233d40ab878b32dd9a607040f955767d SHA1 400596cd65ea83fa8b30a94ef7bfce242425de78 SHA256 036fc2d692da9bb15a6ff7274b768ddf1f89cddfd2f072a18e6c18dba04c497c +AUX open-axiom.png 59273 RMD160 6e5ada74de8fcac8f939320b68e1b8cbf554dbc5 SHA1 037aac8d6f21ce84615a8b48cec7f10fbe639749 SHA256 2c69fbf1f9c22bf2231c1d0d4caf750e957a7b2bd139185c70df27ffbd322e85 +AUX open-axiom.xcf 188198 RMD160 d1ca7e7b3115caca158d2af28f7002560984e123 SHA1 810f5a639529972c2b321ab15c4d48a0dd5f71ad SHA256 53f5efeab237754b8526e8bcd5c2c2ef2def0773cd2cab1976fd9a60a4fe6f3d +EBUILD open-axiom-9999.ebuild 2037 RMD160 d67eb097e592399e7f7f47bdd1e0c848905436b6 SHA1 7f76dd05d5e9dc93e8d520b6e2c4d436a998bfc0 SHA256 d5a8e41e5d0ed34c1431925bd31eb37ed78199100533502491c1b2467bf7d9eb diff --git a/sci-mathematics/open-axiom/files/open-axiom.png b/sci-mathematics/open-axiom/files/open-axiom.png new file mode 100644 index 0000000..7a082a4 Binary files /dev/null and b/sci-mathematics/open-axiom/files/open-axiom.png differ diff --git a/sci-mathematics/open-axiom/files/open-axiom.xcf b/sci-mathematics/open-axiom/files/open-axiom.xcf new file mode 100644 index 0000000..75eb9c9 Binary files /dev/null and b/sci-mathematics/open-axiom/files/open-axiom.xcf differ diff --git a/sci-mathematics/open-axiom/open-axiom-9999.ebuild b/sci-mathematics/open-axiom/open-axiom-9999.ebuild index 6ae9fd2..87a8383 100644 --- a/sci-mathematics/open-axiom/open-axiom-9999.ebuild +++ b/sci-mathematics/open-axiom/open-axiom-9999.ebuild @@ -5,7 +5,7 @@ EAPI=2 inherit eutils autotools subversion -DESCRIPTION="The open scientific computation system (Axiom fork)" +DESCRIPTION="The open computer algebra system (Axiom fork)" HOMEPAGE="http://open-axiom.org" ESVN_REPO_URI="https://open-axiom.svn.sf.net/svnroot/open-axiom/trunk" ESVN_PROJECT="open-axiom" @@ -14,44 +14,81 @@ SRC_URI="" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~x86" -# Failed to build with -static-libs -IUSE="+sbcl -clisp X threads" - -RDEPEND="X? ( x11-libs/libXpm x11-libs/libXau x11-libs/libSM x11-libs/libxcb -x11-libs/libXdmcp x11-libs/libICE ) -sbcl? ( >=dev-lisp/sbcl-1.0.22 ) -clisp? ( >=dev-lisp/clisp-2.47 )" +LISPS=( sbcl clisp gcl ecls clozurecl ) +CONF=( . . . ecl ccl ) +IUSE="${LISPS[*]} X threads" +RDEPEND="X? ( x11-libs/libXpm +x11-libs/libXau +x11-libs/libSM +x11-libs/libxcb +x11-libs/libXdmcp +x11-libs/libICE )" DEPEND="${RDEPEND} -app-text/noweb" +app-text/noweb +sbcl? ( >=dev-lisp/sbcl-1.0.22 !=dev-lisp/sbcl-1.0.29 ) +clisp? ( >=dev-lisp/clisp-1.44 ) +gcl? ( || ( =dev-lisp/gcl-2.6.7 =dev-lisp/gcl-2.6.8 ) ) +ecls? ( >=dev-lisp/ecls-0.9l ) +clozurecl? ( >=dev-lisp/clozurecl-1.3 )" + +choose_lisp() { + if [ 1 != 2 ]; then + echo ${CONF[$1]} + else + echo ${LISPS[$1]} + fi +} + +pkg_setup() { + local l n i + LISP='' + n=${#LISPS[*]} + for ((i=0; i < n; i++)); do + if use ${LISPS[$i]}; then + if [ -z "$LISP" ]; then + l=${LISPS[$i]} + LISP=$(choose_lisp $i) + else + ewarn "Only one lisp can be used and it will be $l." + ewarn "Check your USE flags." + epause 5 + fi + fi + done + if [ -z "$LISP" ]; then + LISP=$(choose_lisp 0) + ewarn "No lisp platform specified." + ewarn "Chosing ${LISPS[0]} as default." + ewarn "Building OpenAxiom may fail due to loosing dependecies." + epause 5 + fi +} src_prepare() { eautoreconf } src_configure() { - if use sbcl && ! use clisp; then - lisp=sbcl - elif use clisp && ! use sbcl; then - lisp=clisp - else - die "Must use sbcl OR clisp" - fi - econf \ $(use_with X x) \ - --with-lisp=$lisp \ + $(use_enable gcl gcl) \ + --with-lisp=$LISP \ $(use_enable threads threads) \ || die "econf failed" } src_compile() { + # Parallel make broken emake -j1 || die "emake failed" + echo } src_install() { emake DESTDIR="${D}" install || die "emake install failed" dodoc ChangeLog* NEWS README AUTHORS MAINTAINERS TODO STYLES INSTALL + doicon ${FILESDIR}/open-axiom.png + make_desktop_entry open-axiom OpenAxiom open-axiom || die } -- cgit v1.2.3