aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/octave/octave-2.9.14.ebuild')
-rw-r--r--sci-mathematics/octave/octave-2.9.14.ebuild119
1 files changed, 119 insertions, 0 deletions
diff --git a/sci-mathematics/octave/octave-2.9.14.ebuild b/sci-mathematics/octave/octave-2.9.14.ebuild
new file mode 100644
index 000000000..f852bf07b
--- /dev/null
+++ b/sci-mathematics/octave/octave-2.9.14.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-2.1.73-r1.ebuild,v 1.2 2006/11/03 15:44:39 markusle Exp $
+
+inherit flag-o-matic fortran autotools
+
+# Copied shamelessly from markusle's devspace at http://dev.gentoo.org/~markusle/octave-overlay/
+
+DESCRIPTION="GNU Octave is a high-level language (MatLab compatible) intended for numerical computations"
+LICENSE="GPL-2"
+HOMEPAGE="http://www.octave.org/"
+SRC_URI="ftp://ftp.octave.org/pub/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+IUSE="emacs readline zlib doc hdf5 curl"
+# KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-util/dejagnu
+ virtual/blas
+ virtual/lapack
+ dev-libs/libpcre
+ virtual/tetex
+ >=sys-libs/ncurses-5.2-r3
+ >=sci-visualization/gnuplot-3.7.1-r3
+ >=sci-libs/fftw-3.1.2
+ >=sci-mathematics/glpk-4.15
+ >=dev-util/gperf-2.7.2
+ zlib? ( sys-libs/zlib )
+ hdf5? ( sci-libs/hdf5 )
+ curl? ( net-misc/curl )
+ !=app-text/texi2html-1.70"
+
+FORTRAN="gfortran g77 f2c"
+
+src_compile() {
+ local myconf="--localstatedir=/var/state/octave --enable-rpath"
+
+ # force use of external blas, lapack, fftw
+ myconf="${myconf} --with-blas=blas --with-lapack=lapack"
+ myconf="${myconf} --with-fftw"
+ myconf="${myconf} --enable-static --enable-shared --enable-dl"
+
+ # disable sparse matrix stuff for now
+ myconf="${myconf} --without-umfpack --without-colamd"
+ myconf="${myconf} --without-ccolamd --without-cholmod --without-cxsparse"
+
+ if [[ "${FORTRANC}" == "g77" ]]; then
+ myconf="${myconf} --with-f77"
+ elif [[ "${FORTRANC}" == "f2c" ]]; then
+ myconf="${myconf} --with-f2c"
+ fi
+
+ econf \
+ $(use_with hdf5) \
+ $(use_with curl) \
+ $(use_with zlib) \
+ $(use_enable readline) \
+ ${myconf} \
+ || die "econf failed"
+
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ cd "${S}"
+ make install DESTDIR="${D}" || die "make install failed"
+ if use doc; then
+ octave-install-doc || die "Octave doc install failed"
+ fi
+ if use emacs; then
+ cd emacs
+ exeinto /usr/bin
+ doexe octave-tags || die "Failed to install octave-tags"
+ doman octave-tags.1 || die "Failed to install octave-tags.1"
+ for emacsdir in /usr/share/emacs/site-lisp /usr/lib/xemacs/site-lisp; do
+ insinto ${emacsdir}
+ doins *.el || die "Failed to install emacs files"
+ done
+ cd ..
+ fi
+ dodir /etc/env.d || die
+ echo "LDPATH=/usr/lib/octave-${PV}" > "${D}"/etc/env.d/99octave \
+ || die "Failed to set up env.d files"
+
+ # Fixes ls-R files to remove /var/tmp/portage references.
+ sed -i -e "s:${D}::g" "${D}"/usr/libexec/${PN}/ls-R && \
+ sed -i -e "s:${D}::g" "${D}"/usr/share/${PN}/ls-R || \
+ die "Failed to fix ls-R files."
+}
+
+pkg_postinst() {
+ echo
+ einfo "Some users have reported failures at running simple tests if"
+ einfo "octave was built with agressive optimisations. You can check if"
+ einfo "your setup is affected by this bug by running the following test"
+ einfo "(inside the octave interpreter):"
+ einfo
+ einfo "octave:1> y = [1 3 4 2 1 5 3 5 6 7 4 5 7 10 11 3];"
+ einfo "octave:2> g = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3];"
+ einfo "octave:3> anova(y, g)"
+ einfo
+ einfo "If these commands complete successfully with no error message,"
+ einfo "your installation should be ok. Otherwise, try recompiling"
+ einfo "octave using less agressive \"CFLAGS\" (combining \"-O3\" and"
+ einfo "\"-march=pentium4\" is known to cause problems)."
+ echo
+}
+
+octave-install-doc() {
+ echo "Installing documentation..."
+ insinto /usr/share/doc/${PF}
+ doins doc/faq/Octave-FAQ.pdf || die
+ doins doc/interpreter/octave.pdf || die
+ doins doc/liboctave/liboctave.pdf || die
+ doins doc/refcard/refcard-a4.pdf || die
+ doins doc/refcard/refcard-legal.pdf || die
+ doins doc/refcard/refcard-letter.pdf || die
+}