diff options
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/maxima/ChangeLog | 8 | ||||
-rw-r--r-- | sci-mathematics/maxima/files/maxima-5.19.1-no-init-files.patch | 28 | ||||
-rw-r--r-- | sci-mathematics/maxima/maxima-5.19.1.ebuild | 180 | ||||
-rw-r--r-- | sci-mathematics/maxima/metadata.xml | 4 |
4 files changed, 218 insertions, 2 deletions
diff --git a/sci-mathematics/maxima/ChangeLog b/sci-mathematics/maxima/ChangeLog index 08b4359f6037..509f6b39ab78 100644 --- a/sci-mathematics/maxima/ChangeLog +++ b/sci-mathematics/maxima/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sci-mathematics/maxima # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/ChangeLog,v 1.68 2009/08/03 21:38:07 maekke Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/ChangeLog,v 1.69 2009/08/22 07:45:28 grozin Exp $ + +*maxima-5.19.1 (22 Aug 2009) + + 22 Aug 2009; Andrey Grozin <grozin@gentoo.org> +maxima-5.19.1.ebuild, + +files/maxima-5.19.1-no-init-files.patch: + Version bump; added ecl as a supported lisp 03 Aug 2009; Markus Meier <maekke@gentoo.org> maxima-5.18.1.ebuild: amd64 stable, bug #264649 diff --git a/sci-mathematics/maxima/files/maxima-5.19.1-no-init-files.patch b/sci-mathematics/maxima/files/maxima-5.19.1-no-init-files.patch new file mode 100644 index 000000000000..7141d81e91c2 --- /dev/null +++ b/sci-mathematics/maxima/files/maxima-5.19.1-no-init-files.patch @@ -0,0 +1,28 @@ +diff -r -U2 maxima-5.19.1.orig/src/maxima.in maxima-5.19.1/src/maxima.in +--- maxima-5.19.1.orig/src/maxima.in 2009-07-13 17:25:25.000000000 +0200 ++++ maxima-5.19.1/src/maxima.in 2009-08-20 14:43:49.000000000 +0200 +@@ -130,13 +130,13 @@ + if [ "$MAXIMA_LISP" = "clisp" ]; then + if [ "$layout_autotools" = "true" ]; then +- exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CLISP_RUNTIME@" $MAXIMA_LISP_OPTIONS -q -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" ++ exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CLISP_RUNTIME@" $MAXIMA_LISP_OPTIONS -q -norc -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" + else +- exec "@CLISP_NAME@" $MAXIMA_LISP_OPTIONS -q -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" ++ exec "@CLISP_NAME@" $MAXIMA_LISP_OPTIONS -q -norc -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" + fi + elif [ "$MAXIMA_LISP" = "cmucl" ]; then + if [ "$layout_autotools" = "true" ]; then +- exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CMUCL_RUNTIME@" $MAXIMA_LISP_OPTIONS -quiet -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" ++ exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CMUCL_RUNTIME@" $MAXIMA_LISP_OPTIONS -quiet -nositeinit -noinit -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" + else +- exec "@CMUCL_NAME@" $MAXIMA_LISP_OPTIONS -quiet -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" ++ exec "@CMUCL_NAME@" $MAXIMA_LISP_OPTIONS -quiet -nositeinit -noinit -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" + fi + elif [ "$MAXIMA_LISP" = "scl" ]; then +@@ -159,5 +159,5 @@ + exec "$maxima_image_base" $MAXIMA_LISP_OPTIONS -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" + elif [ "$MAXIMA_LISP" = "sbcl" ]; then +- exec "@SBCL_NAME@" --core "$maxima_image_base.core" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --eval '(cl-user::run)' --end-toplevel-options "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" ++ exec "@SBCL_NAME@" --core "$maxima_image_base.core" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --no-sysinit --no-userinit --eval '(cl-user::run)' --end-toplevel-options "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9" + else + echo "$0: lisp=\"$MAXIMA_LISP\" not known. Use --list-avail to see possible options." >&2 diff --git a/sci-mathematics/maxima/maxima-5.19.1.ebuild b/sci-mathematics/maxima/maxima-5.19.1.ebuild new file mode 100644 index 000000000000..62de0f0680f4 --- /dev/null +++ b/sci-mathematics/maxima/maxima-5.19.1.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/maxima-5.19.1.ebuild,v 1.1 2009/08/22 07:45:28 grozin Exp $ +EAPI=2 +inherit eutils elisp-common + +DESCRIPTION="Free computer algebra environment based on Macsyma" +HOMEPAGE="http://maxima.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2 AECA" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +# Supported lisps with readline +SUPP_RL="gcl clisp" +# Supported lisps without readline +SUPP_NORL="cmucl sbcl ecl" +SUPP_LISPS="${SUPP_RL} ${SUPP_NORL}" +# Default lisp if none selected +DEF_LISP="sbcl" + +IUSE="latex emacs tk nls unicode xemacs X ${SUPP_LISPS} ${IUSE}" + +# Languages +LANGS="es pt pt_BR" +for lang in ${LANGS}; do + IUSE="${IUSE} linguas_${lang}" +done + +RDEPEND="X? ( x11-misc/xdg-utils + sci-visualization/gnuplot[gd] + tk? ( dev-lang/tk ) ) + latex? ( virtual/latex-base ) + emacs? ( virtual/emacs + latex? ( app-emacs/auctex ) ) + xemacs? ( app-editors/xemacs + latex? ( app-emacs/auctex ) )" + +PDEPEND="emacs? ( app-emacs/imaxima )" + +# create lisp dependencies +for LISP in ${SUPP_LISPS}; do + if [ "${LISP}" = "gcl" ] + then + RDEPEND="${RDEPEND} gcl? ( >=dev-lisp/gcl-2.6.8_pre[ansi] )" + else if [ "${LISP}" = "ecl" ] + then + RDEPEND="${RDEPEND} ecl? ( >=dev-lisp/ecls-9.8.3 )" + else + RDEPEND="${RDEPEND} ${LISP}? ( dev-lisp/${LISP} )" + fi + fi + DEF_DEP="${DEF_DEP} !${LISP}? ( " +done +DEF_DEP="${DEF_DEP} dev-lisp/${DEF_LISP}" +for LISP in ${SUPP_NORL}; do + RDEPEND="${RDEPEND} ${LISP}? ( app-misc/rlwrap )" + [[ ${LISP} = ${DEF_LISP} ]] && \ + DEF_DEP="${DEF_DEP} app-misc/rlwrap" +done +for LISP in ${SUPP_LISPS}; do + DEF_DEP="${DEF_DEP} )" +done + +RDEPEND="${RDEPEND} + ${DEF_DEP}" + +DEPEND="${RDEPEND} + sys-apps/texinfo" + +TEXMF=/usr/share/texmf-site +NO_INIT_PATCH_PV="5.19.1" + +pkg_setup() { + LISPS="" + + for LISP in ${SUPP_LISPS}; do + use ${LISP} && LISPS="${LISPS} ${LISP}" + done + + RL="" + + for LISP in ${SUPP_NORL}; do + use ${LISP} && RL="yes" + done + + if [ -z "${LISPS}" ]; then + ewarn "No lisp specified in USE flags, choosing ${DEF_LISP} as default" + LISPS="${DEF_LISP}" + RL="yes" + fi +} + +src_prepare() { + # use xdg-open to view ps, pdf + epatch "${FILESDIR}"/${PN}-xdg-utils.patch + epatch "${FILESDIR}"/${PN}-${NO_INIT_PATCH_PV}-no-init-files.patch + # remove rmaxima if neither cmucl nor sbcl + if [ -z "${RL}" ]; then + sed -e '/^@WIN32_FALSE@bin_SCRIPTS/s/rmaxima//' \ + -i "${S}"/src/Makefile.in \ + || die "sed for rmaxima failed" + fi + # don't install imaxima, since we have a separate package for it + sed -i -e '/^SUBDIRS/s/imaxima//' interfaces/emacs/Makefile.in \ + || die "sed for imaxima failed" +} + +src_configure() { + local myconf="" + for LISP in ${LISPS}; do + myconf="${myconf} --enable-${LISP}" + done + + # remove xmaxima if no tk + if use tk; then + myconf="${myconf} --with-wish=wish" + else + myconf="${myconf} --with-wish=none" + sed -i \ + -e '/^SUBDIRS/s/xmaxima//' \ + interfaces/Makefile.in || die "sed for tk failed" + fi + + # enable existing translated doc + if use nls; then + for lang in ${LANGS}; do + if use "linguas_${lang}"; then + myconf="${myconf} --enable-lang-${lang}" + use unicode && myconf="${myconf} --enable-lang-${lang}-utf8" + fi + done + fi + + econf ${myconf} +} + +src_install() { + einstall emacsdir="${D}${SITELISP}/${PN}" || die "einstall failed" + + use tk && make_desktop_entry xmaxima xmaxima \ + /usr/share/${PN}/${PV}/xmaxima/maxima-new.png \ + "Science;Math;Education" + + if use latex; then + insinto ${TEXMF}/tex/latex/emaxima + doins interfaces/emacs/emaxima/emaxima.sty + fi + + # do not use dodoc because interfaces can't read compressed files + # read COPYING before attempt to remove it from dodoc + insinto /usr/share/${PN}/${PV}/doc + doins AUTHORS COPYING README README.lisps || die + dodir /usr/share/doc + dosym ../${PN}/${PV}/doc /usr/share/doc/${PF} || die + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/50maxima-gentoo.el || die + fi +} + +pkg_preinst() { + # some lisps do not read compress info files (bug #176411) + for infofile in "${D}"/usr/share/info/*.bz2 ; do + bunzip2 "${infofile}" + done + for infofile in "${D}"/usr/share/info/*.gz ; do + gunzip "${infofile}" + done +} + +pkg_postinst() { + use emacs && elisp-site-regen + use latex && mktexlsr +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sci-mathematics/maxima/metadata.xml b/sci-mathematics/maxima/metadata.xml index a2363e0a621d..2cde5ed3993c 100644 --- a/sci-mathematics/maxima/metadata.xml +++ b/sci-mathematics/maxima/metadata.xml @@ -13,7 +13,7 @@ and can plot functions and data in two and three dimensions. </longdescription> <use> - <flag name='clisp'>Add support for GNU ANSI Common Lisp + <flag name='clisp'>Add support for GNU CLISP (<pkg>dev-lisp/clisp</pkg>)</flag> <flag name='cmucl'>Add support for CMU Common Lisp (<pkg>dev-lisp/cmucl</pkg>)</flag> @@ -21,5 +21,7 @@ (<pkg>dev-lisp/gcl</pkg>)</flag> <flag name='sbcl'>Add support for Steel Bank Common Lisp (<pkg>dev-lisp/sbcl</pkg>)</flag> + <flag name='ecl'>Add support for Embeddable Common Lisp + (<pkg>dev-lisp/ecls</pkg>)</flag> </use> </pkgmetadata> |