Several users have reported problems with octave's internal lapack and blas routines...
authorMarkus Dittrich <markusle@gentoo.org>
Wed, 13 Dec 2006 02:44:55 +0000 (02:44 +0000)
committerMarkus Dittrich <markusle@gentoo.org>
Wed, 13 Dec 2006 02:44:55 +0000 (02:44 +0000)
Package-Manager: portage-2.1.2_rc3-r2

sci-mathematics/octave/ChangeLog
sci-mathematics/octave/Manifest
sci-mathematics/octave/files/digest-octave-2.1.73-r2 [new file with mode: 0644]
sci-mathematics/octave/octave-2.1.73-r2.ebuild [new file with mode: 0644]

index 6802de649f43448e54bd1ecd91d3cbf9f65ecc77..5fd8e6cdd2437e533dc617926912f56cebfff075 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for sci-mathematics/octave
 # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.43 2006/11/13 13:42:06 fmccor Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.44 2006/12/13 02:44:55 markusle Exp $
+
+*octave-2.1.73-r2 (12 Dec 2006)
+
+  12 Dec 2006; Markus Dittrich <markusle@gentoo.org>
+  +octave-2.1.73-r2.ebuild:
+  Several users have reported problems with octave's internal lapack
+  and blas routines. Hence, removed the blas USE flag and forced the
+  use of external blas and lapack.
 
   13 Nov 2006; Ferris McCormick <fmccor@gentoo.org> octave-2.1.73-r1.ebuild:
   Stable on sparc --- Bug #141446 --- I am bypassing 2.1.73 for 2.1.73-r1
index 053b4bf01954fd7671849a34fc13ebbadf702360..b0d3d32a573df6a23de53988ac4b5cd7fc5c2f09 100644 (file)
@@ -39,14 +39,18 @@ EBUILD octave-2.1.73-r1.ebuild 4036 RMD160 f119ef4a6da309f75168f91589af28560d1bc
 MD5 81f89fbae4ca6f13cfa48522bc6383f5 octave-2.1.73-r1.ebuild 4036
 RMD160 f119ef4a6da309f75168f91589af28560d1bc1b2 octave-2.1.73-r1.ebuild 4036
 SHA256 bf778f3f0af55e304999a5e1dbff0f051554c44fe6f40cbfddfd42111f9cd0bf octave-2.1.73-r1.ebuild 4036
+EBUILD octave-2.1.73-r2.ebuild 4140 RMD160 ed07375bf5c1fd27c63e4fec5d9e748e2d86d687 SHA1 280d091f926e3ea976a3007b048e8730d1da2385 SHA256 de6aeca9898bc12489ef5d47ae0b7ec307c08b6b86ed76994a065492d8c99b86
+MD5 1c47a5767888b9a053e6e5e638fbf93b octave-2.1.73-r2.ebuild 4140
+RMD160 ed07375bf5c1fd27c63e4fec5d9e748e2d86d687 octave-2.1.73-r2.ebuild 4140
+SHA256 de6aeca9898bc12489ef5d47ae0b7ec307c08b6b86ed76994a065492d8c99b86 octave-2.1.73-r2.ebuild 4140
 EBUILD octave-2.1.73.ebuild 3879 RMD160 63e64c4d07c22372d0b2891a96431e7d4bce65f1 SHA1 fc99da35582332d6f0ebc3eb1d1750ecb8553373 SHA256 38b01d98104be55d60e468869e321db796806fa1cfc695be940af29f91f3722c
 MD5 abefbfaf466e5014729b23ee8c6aa422 octave-2.1.73.ebuild 3879
 RMD160 63e64c4d07c22372d0b2891a96431e7d4bce65f1 octave-2.1.73.ebuild 3879
 SHA256 38b01d98104be55d60e468869e321db796806fa1cfc695be940af29f91f3722c octave-2.1.73.ebuild 3879
-MISC ChangeLog 13612 RMD160 20cd34fc39fdbc815d83df6c4b2466e590df9e51 SHA1 dc89784298b0f7cd740a94aa9fb92f30df6671cb SHA256 8c100c73657ac7a3055eabf3f649771f0a9693d6a77fb1f670d52c854be272e5
-MD5 12d582805b8f13437a81b4d09a505549 ChangeLog 13612
-RMD160 20cd34fc39fdbc815d83df6c4b2466e590df9e51 ChangeLog 13612
-SHA256 8c100c73657ac7a3055eabf3f649771f0a9693d6a77fb1f670d52c854be272e5 ChangeLog 13612
+MISC ChangeLog 13902 RMD160 9b38c7c7aedb2850f3afc045ce9fc5353cbe9aff SHA1 709f73d7937bbcada64e7961d45f33b66663e448 SHA256 75c3b846ce9728e2511a81890b9b3558f668d332c313969536f1075754cb96b1
+MD5 5fa85972a66f58d4d4388e5def8b6fb6 ChangeLog 13902
+RMD160 9b38c7c7aedb2850f3afc045ce9fc5353cbe9aff ChangeLog 13902
+SHA256 75c3b846ce9728e2511a81890b9b3558f668d332c313969536f1075754cb96b1 ChangeLog 13902
 MISC metadata.xml 304 RMD160 9bf8d3764f2f605704497eb920cf7d496ac77fa1 SHA1 f6b8d455b85f4b18b68d152c3e8179b7d6defe60 SHA256 7de312597cc9f943d78b63b27600b43a55cedc90557552f88dc0d73462c2921a
 MD5 235d4f760824f15143cfe730fc1710a8 metadata.xml 304
 RMD160 9bf8d3764f2f605704497eb920cf7d496ac77fa1 metadata.xml 304
@@ -69,3 +73,6 @@ SHA256 f550c0e9363b790830b2eff525d52c4382e65eab89715973c7938df31c65da1f files/di
 MD5 13da45398b2ad0d71c6289ff6a97d651 files/digest-octave-2.1.73-r1 247
 RMD160 f9d3dc093a685264e10f8550380e3882cd20714b files/digest-octave-2.1.73-r1 247
 SHA256 f550c0e9363b790830b2eff525d52c4382e65eab89715973c7938df31c65da1f files/digest-octave-2.1.73-r1 247
+MD5 13da45398b2ad0d71c6289ff6a97d651 files/digest-octave-2.1.73-r2 247
+RMD160 f9d3dc093a685264e10f8550380e3882cd20714b files/digest-octave-2.1.73-r2 247
+SHA256 f550c0e9363b790830b2eff525d52c4382e65eab89715973c7938df31c65da1f files/digest-octave-2.1.73-r2 247
diff --git a/sci-mathematics/octave/files/digest-octave-2.1.73-r2 b/sci-mathematics/octave/files/digest-octave-2.1.73-r2
new file mode 100644 (file)
index 0000000..c9d5dd4
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 c356475aa06d81a10f8bf27f1a1d27a0 octave-2.1.73.tar.bz2 5790133
+RMD160 d34c6ecd8f84c728ad7687d9568b9d69ade6f5db octave-2.1.73.tar.bz2 5790133
+SHA256 8ccaee227c6cad3b5633a904414f17ce73de8eab2abd4d2e6a3972dd878ffbc3 octave-2.1.73.tar.bz2 5790133
diff --git a/sci-mathematics/octave/octave-2.1.73-r2.ebuild b/sci-mathematics/octave/octave-2.1.73-r2.ebuild
new file mode 100644 (file)
index 0000000..2f66dfb
--- /dev/null
@@ -0,0 +1,140 @@
+# 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-r2.ebuild,v 1.1 2006/12/13 02:44:55 markusle Exp $
+
+inherit flag-o-matic fortran autotools
+
+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/octave/bleeding-edge/${P}.tar.bz2
+               ftp://ftp.math.uni-hamburg.de/pub/soft/math/octave/${P}.tar.bz2"
+
+SLOT="0"
+IUSE="emacs static readline zlib doc hdf5 mpi"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="virtual/libc
+       dev-util/dejagnu
+       >=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
+       virtual/blas
+       virtual/lapack
+       zlib? ( sys-libs/zlib )
+       hdf5? ( sci-libs/hdf5 )
+       doc? ( virtual/tetex )
+       mpi? ( virtual/mpi )
+       !=app-text/texi2html-1.70"
+
+# 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
+FORTRAN="gfortran g77 f2c"
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       epatch "${FILESDIR}"/${P}-gcc4.1-gentoo.patch
+       epatch "${FILESDIR}"/${PN}-example-fix.patch
+       epatch "${FILESDIR}"/${P}-f2c-fix.patch
+       eautoconf
+}
+
+
+src_compile() {
+       filter-flags -ffast-math
+
+       local myconf="--localstatedir=/var/state/octave --enable-rpath"
+       myconf="${myconf} --enable-lite-kernel"
+       use static || myconf="${myconf} --disable-static --enable-shared --enable-dl"
+       # Only add -lz to LDFLAGS if we have zlib in USE !
+       # BUG #52604
+       # Danny van Dyk 2004/08/26
+       use zlib && append-ldflags -lz
+
+       # MPI requires the use of gcc/g++ wrappers
+       # mpicc/mpic++
+       # octave links agains -lmpi by default
+       # mpich needs -lmpich instead
+       if use mpi; then
+               CC="mpicc" && CXX="mpiCC"
+               if has_version 'sys-cluster/mpich'; then
+                       myconf="${myconf} --with-mpi=mpich"
+               else
+                       myconf="${myconf} --with-mpi=mpi"
+               fi
+       else
+               CC="$(tc-getCC)"
+               CXX="$(tc-getCXX)"
+               myconf="${myconf} --without-mpi"
+       fi
+
+       # force use of external blas and lapack
+       myconf="${myconf} --with-blas=blas --with-lapack=lapack"
+
+       CC="${CC}" CXX="${CXX}" \
+       econf \
+               $(use_with hdf5) \
+               $(use_enable readline) \
+               ${myconf} \
+               || die "econf failed"
+
+       emake || die "emake failed"
+}
+
+src_install() {
+       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 otags || die
+               doman otags.1 || die
+               for emacsdir in /usr/share/emacs/site-lisp /usr/lib/xemacs/site-lisp; do
+                       insinto ${emacsdir}
+                       doins *.el || die
+               done
+               cd ..
+       fi
+       dodir /etc/env.d || die
+       echo "LDPATH=/usr/lib/octave-${PV}" > "${D}"/etc/env.d/99octave || die
+
+       # Fixes ls-R files to remove /var/tmp/portage references.
+       sed -i -e "s:${D}::g" "${D}"/usr/libexec/${PN}/ls-R || die
+       sed -i -e "s:${D}::g" "${D}"/usr/share/${PN}/ls-R || die
+}
+
+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 || die
+       doins doc/interpreter/octave.dvi || die
+       doins doc/liboctave/liboctave.dvi || die
+       doins doc/refcard/refcard-a4.dvi || die
+       doins doc/refcard/refcard-legal.dvi || die
+       doins doc/refcard/refcard-letter.dvi || die
+}