aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/octave/octave-2.1.57-r1.ebuild')
-rw-r--r--sci-mathematics/octave/octave-2.1.57-r1.ebuild122
1 files changed, 122 insertions, 0 deletions
diff --git a/sci-mathematics/octave/octave-2.1.57-r1.ebuild b/sci-mathematics/octave/octave-2.1.57-r1.ebuild
new file mode 100644
index 000000000..1c15c23d2
--- /dev/null
+++ b/sci-mathematics/octave/octave-2.1.57-r1.ebuild
@@ -0,0 +1,122 @@
+# 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.57-r1.ebuild,v 1.8 2006/01/29 19:40:31 cryos Exp $
+
+inherit flag-o-matic
+
+DESCRIPTION="GNU Octave is a high-level language (MatLab compatible) intended for numerical computations"
+HOMEPAGE="http://www.octave.org/"
+SRC_URI="ftp://ftp.octave.org/pub/octave/bleeding-edge/${P}.tar.bz2
+ ftp://ftp.math.uni-hamburg.de/pub/soft/math/octave/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86 ppc alpha ~sparc amd64"
+IUSE="emacs static readline zlib tetex hdf5 mpi ifc blas"
+
+DEPEND="virtual/libc
+ >=sys-libs/ncurses-5.2-r3
+ >=sci-visualization/gnuplot-3.7.1-r3
+ >=sci-libs/fftw-2.1.3
+ >=dev-util/gperf-2.7.2
+ zlib? ( sys-libs/zlib )
+ hdf5? ( sci-libs/hdf5 )
+ tetex? ( virtual/tetex )
+ x86? ( ifc? ( dev-lang/ifc ) )
+ blas? ( virtual/blas )"
+
+# NOTE: octave supports blas/lapack from intel but this is not open
+# source nor is it free (as in beer OR speech) Check out...
+# http://developer.intel.com/software/products/mkl/mkl52/index.htm for
+# more information
+
+pkg_setup() {
+ use ifc || if [ -z `which g77` ]; then
+ #if ifc is defined then the dep was already checked
+ eerror "No fortran compiler found on the system!"
+ eerror "Please add fortran to your USE flags and reemerge gcc!"
+ die
+ fi
+}
+
+src_compile() {
+ filter-flags -ffast-math
+
+ local myconf
+
+ use static || myconf="--disable-static --enable-shared --enable-dl"
+ use readline || myconf="${myconf} --disable-readline"
+ use hdf5 || myconf="${myconf} --without-hdf5"
+ use mpi || myconf="${myconf} --without-mpi"
+
+ # Only add -lz to LDFLAGS if we have zlib in USE !
+ # BUG #52604
+ # Danny van Dyk 2004/08/26
+ use zlib && LDFLAGS="${LDFLAGS} -lz"
+
+ # NOTE: This version actually works with gcc-3.x
+ ./configure ${myconf} --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var/state/octave \
+ --infodir=/usr/share/info \
+ --mandir=/usr/share/man \
+ --host=${CHOST} \
+ --build=${CHOST} \
+ --target=${CHOST} \
+ --enable-rpath \
+ --enable-lite-kernel \
+ LDFLAGS="${LDFLAGS}" || die "configure failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ make \
+ prefix=${D}/usr \
+ mandir=${D}/usr/share/man \
+ infodir=${D}/usr/share/info \
+ install || die "make install failed"
+ use tetex && octave-install-doc
+ if use emacs; then
+ cd emacs
+ exeinto /usr/bin
+ doexe otags
+ doman otags.1
+ for emacsdir in /usr/share/emacs/site-lisp /usr/lib/xemacs/site-lisp; do
+ insinto ${emacsdir}
+ doins *.el
+ done
+ cd ..
+ fi
+ dodir /etc/env.d
+ echo "LDPATH=/usr/lib/octave-${PV}" > ${D}/etc/env.d/99octave
+}
+
+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.dvi
+ doins doc/interpreter/octave.dvi
+ doins doc/liboctave/liboctave.dvi
+ doins doc/refcard/refcard-a4.dvi
+ doins doc/refcard/refcard-legal.dvi
+ doins doc/refcard/refcard-letter.dvi
+}