From c0dffcdb5f794ef4104696da64a0cc5fcc3ca039 Mon Sep 17 00:00:00 2001 From: Sebastien Fabbro Date: Wed, 30 Apr 2008 11:00:50 +0000 Subject: Include imaxima, and blocks old imaxima, thanks Andrey Grozin. (Portage version: 2.1.5_rc6) --- sci-mathematics/maxima/ChangeLog | 8 +- sci-mathematics/maxima/files/50maxima-gentoo.el | 4 + sci-mathematics/maxima/maxima-5.15.0-r1.ebuild | 231 ++++++++++++++++++++++++ 3 files changed, 242 insertions(+), 1 deletion(-) create mode 100644 sci-mathematics/maxima/maxima-5.15.0-r1.ebuild (limited to 'sci-mathematics') diff --git a/sci-mathematics/maxima/ChangeLog b/sci-mathematics/maxima/ChangeLog index cdaaefaba02a..9f55706b9640 100644 --- a/sci-mathematics/maxima/ChangeLog +++ b/sci-mathematics/maxima/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sci-mathematics/maxima # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/ChangeLog,v 1.53 2008/04/29 08:54:24 bicatali Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/ChangeLog,v 1.54 2008/04/30 11:00:50 bicatali Exp $ + +*maxima-5.15.0-r1 (30 Apr 2008) + + 30 Apr 2008; Sébastien Fabbro + files/50maxima-gentoo.el, +maxima-5.15.0-r1.ebuild: + Include imaxima, and blocks old imaxima, thanks Andrey Grozin. *maxima-5.15.0 (29 Apr 2008) diff --git a/sci-mathematics/maxima/files/50maxima-gentoo.el b/sci-mathematics/maxima/files/50maxima-gentoo.el index cbba83115f8f..829c705aadcd 100644 --- a/sci-mathematics/maxima/files/50maxima-gentoo.el +++ b/sci-mathematics/maxima/files/50maxima-gentoo.el @@ -10,3 +10,7 @@ ;; emaxima mode (autoload 'emaxima-mode "emaxima" "EMaxima" t) (add-hook 'emaxima-mode-hook 'emaxima-mark-file-as-emaxima) + +;; imaxima +(autoload 'imaxima "imaxima" "Image support for Maxima." t) +(autoload 'imath-mode "imath" "Interactive Math minor mode." t) diff --git a/sci-mathematics/maxima/maxima-5.15.0-r1.ebuild b/sci-mathematics/maxima/maxima-5.15.0-r1.ebuild new file mode 100644 index 000000000000..da5ba4aac63c --- /dev/null +++ b/sci-mathematics/maxima/maxima-5.15.0-r1.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/maxima-5.15.0-r1.ebuild,v 1.1 2008/04/30 11:00:50 bicatali Exp $ +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" +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 + +# >=maxima-5.15.0 includes imaxima; it depends on dev-tex/mh +RDEPEND="!app-emacs/imaxima + X? ( x11-misc/xdg-utils + sci-visualization/gnuplot + tk? ( dev-lang/tk ) ) + latex? ( || ( dev-texlive/texlive-latexrecommended + >=app-text/tetex-3 + app-text/ptex ) ) + emacs? ( virtual/emacs + latex? ( app-emacs/auctex + || ( dev-tex/mh dev-texlive/texlive-mathextra ) ) ) + xemacs? ( virtual/xemacs + latex? ( app-emacs/auctex + || ( dev-tex/mh dev-texlive/texlive-mathextra ) ) )" + + +# create lisp dependencies +for LISP in ${SUPP_LISPS}; do + RDEPEND="${RDEPEND} ${LISP}? ( dev-lisp/${LISP} )" + 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" + +pkg_setup() { + LISPS="" + + for LISP in ${SUPP_LISPS}; do + use ${LISP} && LISPS="${LISPS} ${LISP}" + done + + if [ -z "${LISPS}" ]; then + ewarn "No lisp specified in USE flags, choosing ${DEF_LISP} as default" + LISPS="${DEF_LISP}" + fi + + RL="" + + for LISP in ${SUPP_NORL}; do + use ${LISP} && RL="yes" + done + + if use gcl; then + if ! built_with_use dev-lisp/gcl ansi; then + eerror "gcl must be emerged with the USE flag ansi" + die "This package needs gcl with USE=ansi" + fi + # gcl in the main tree is broken (bug #205803) + ewarn "Please use gcl from http://repo.or.cz/w/gentoo-lisp-overlay.git" + fi + + # Calculating MAXIMA_TEXMFDIR + if use latex; then + local TEXMFPATH="$(kpsewhich -var-value=TEXMFSITE)" + local TEXMFCONFIGFILE="$(kpsewhich texmf.cnf)" + + if [ -z "${TEXMFPATH}" ]; then + eerror "You haven't defined the TEXMFSITE variable in your TeX config." + eerror "Please do so in the file ${TEXMFCONFIGFILE:-/var/lib/texmf/web2c/texmf.cnf}" + die "Define TEXMFSITE in TeX configuration!" + else + # go through the colon separated list of directories + # (maybe only one) provided in the variable + # TEXMFPATH (generated from TEXMFSITE from TeX's config) + # and choose only the first entry. + # All entries are separated by colons, even when defined + # with semi-colons, kpsewhich changes + # the output to a generic format, so IFS has to be redefined. + local IFS="${IFS}:" + + for strippedpath in ${TEXMFPATH}; do + if [ -d ${strippedpath} ]; then + MAXIMA_TEXMFDIR="${strippedpath}" + break + fi + done + + # verify if an existing path was chosen to prevent from + # installing into the wrong directory + if [ -z ${MAXIMA_TEXMFDIR} ]; then + eerror "TEXMFSITE does not contain any existing directory." + eerror "Please define an existing directory in your TeX config file" + eerror "${TEXMFCONFIGFILE:-/var/lib/texmf/web2c/texmf.cnf} or create at least one of the there specified directories" + die "TEXMFSITE variable did not contain an existing directory" + fi + fi + fi + + if use X && ! built_with_use sci-visualization/gnuplot gd; then + elog "To benefit full plotting capability of maxima," + elog "enable the gd USE flag for sci-visualization/gnuplot" + elog "Then re-emerge maxima" + epause 5 + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + # use xdg-open to view ps, pdf + epatch "${FILESDIR}"/${PN}-xdg-utils.patch + epatch "${FILESDIR}"/${PN}-no-init-files.patch + # remove rmaxima if neither cmucl nor sbcl + if [ -z "${RL}" ]; then + sed -i \ + -e '/^@WIN32_FALSE@bin_SCRIPTS/s/rmaxima//' \ + "${S}"/src/Makefile.in \ + || die "sed for rmaxima failed" + fi +} + +src_compile() { + 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} || die "econf failed" + emake || die "emake failed" +} + +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 "${MAXIMA_TEXMFDIR}"/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} + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/50maxima-gentoo.el + # imaxima docs + cd interfaces/emacs/imaxima + insinto /usr/share/${PN}/${PV}/doc/imaxima + doins ChangeLog NEWS README || die "installing imaxima docs failed" + insinto /usr/share/${PN}/${PV}/doc/imaxima/imath-example + doins imath-example/*.txt || die "installing imaxima docs failed" + 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 +} -- cgit v1.2.3-65-gdbad