summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2012-10-26 18:27:13 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2012-10-26 18:27:13 +0000
commit8760466380fe810c594c2f4fdcfaf750743b5084 (patch)
tree60eeb5d53c2b8ad0a34b8de2aeca39eafa79be7e /sci-mathematics/octave
parentadd proxy maintainer Olivier Laurantin (diff)
downloadgentoo-2-8760466380fe810c594c2f4fdcfaf750743b5084.tar.gz
gentoo-2-8760466380fe810c594c2f4fdcfaf750743b5084.tar.bz2
gentoo-2-8760466380fe810c594c2f4fdcfaf750743b5084.zip
Version bump
(Portage version: 2.2.01.21165-prefix/cvs/Linux x86_64)
Diffstat (limited to 'sci-mathematics/octave')
-rw-r--r--sci-mathematics/octave/ChangeLog9
-rw-r--r--sci-mathematics/octave/files/octave-3.4.3-pkgbuilddir.patch3
-rw-r--r--sci-mathematics/octave/files/octave-3.6.3-rcond.patch210
-rw-r--r--sci-mathematics/octave/octave-3.6.3.ebuild122
4 files changed, 343 insertions, 1 deletions
diff --git a/sci-mathematics/octave/ChangeLog b/sci-mathematics/octave/ChangeLog
index 1cc4beb25435..c0f41bceeb08 100644
--- a/sci-mathematics/octave/ChangeLog
+++ b/sci-mathematics/octave/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sci-mathematics/octave
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.129 2012/10/25 06:20:56 naota Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.130 2012/10/26 18:27:13 bicatali Exp $
+
+*octave-3.6.3 (26 Oct 2012)
+
+ 26 Oct 2012; Sébastien Fabbro <bicatali@gentoo.org>
+ files/octave-3.4.3-pkgbuilddir.patch, +octave-3.6.3.ebuild,
+ +files/octave-3.6.3-rcond.patch:
+ Version bump
25 Oct 2012; <naota@gentoo.org> octave-3.6.2-r1.ebuild:
Add ~x86-fbsd. #303915
diff --git a/sci-mathematics/octave/files/octave-3.4.3-pkgbuilddir.patch b/sci-mathematics/octave/files/octave-3.4.3-pkgbuilddir.patch
index 895fa4932a12..5340c9a19b92 100644
--- a/sci-mathematics/octave/files/octave-3.4.3-pkgbuilddir.patch
+++ b/sci-mathematics/octave/files/octave-3.4.3-pkgbuilddir.patch
@@ -1,3 +1,6 @@
+Description: Allow installation of already extracted packages with pkg.m
+Forwarded: not-needed
+Author: Thomas Weber <tweber@debian.org>
--- scripts/pkg/pkg.m.orig 2011-02-08 03:00:51.000000000 -0700
+++ scripts/pkg/pkg.m 2011-03-18 09:31:24.670165643 -0600
@@ -644,7 +644,14 @@
diff --git a/sci-mathematics/octave/files/octave-3.6.3-rcond.patch b/sci-mathematics/octave/files/octave-3.6.3-rcond.patch
new file mode 100644
index 000000000000..45dcecc07f00
--- /dev/null
+++ b/sci-mathematics/octave/files/octave-3.6.3-rcond.patch
@@ -0,0 +1,210 @@
+Description: Fix rcond function
+ Use new copy of data for full factorization if positive definite cholesky
+ factorization fails.
+Origin: upstream, http://hg.savannah.gnu.org/hgweb/octave/rev/197774b411ec
+Bug: http://savannah.gnu.org/bugs/?37336
+Applied-Upstream: version, 3.6.4
+Last-Update: 2012-09-14
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/liboctave/CMatrix.cc b/liboctave/CMatrix.cc
+--- a/liboctave/CMatrix.cc
++++ b/liboctave/CMatrix.cc
+@@ -1786,13 +1786,15 @@
+ else if (typ == MatrixType::Full || typ == MatrixType::Hermitian)
+ {
+ double anorm = -1.0;
+- ComplexMatrix atmp = *this;
+- Complex *tmp_data = atmp.fortran_vec ();
+
+ if (typ == MatrixType::Hermitian)
+ {
+ octave_idx_type info = 0;
+ char job = 'L';
++
++ ComplexMatrix atmp = *this;
++ Complex *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().
+ row(static_cast<octave_idx_type>(0)).max();
+
+@@ -1829,6 +1831,9 @@
+ {
+ octave_idx_type info = 0;
+
++ ComplexMatrix atmp = *this;
++ Complex *tmp_data = atmp.fortran_vec ();
++
+ Array<octave_idx_type> ipvt (dim_vector (nr, 1));
+ octave_idx_type *pipvt = ipvt.fortran_vec ();
+
+@@ -2098,8 +2103,10 @@
+ {
+ info = 0;
+ char job = 'L';
++
+ ComplexMatrix atmp = *this;
+ Complex *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().row(static_cast<octave_idx_type>(0)).max();
+
+ F77_XFCN (zpotrf, ZPOTRF, (F77_CONST_CHAR_ARG2 (&job, 1), nr,
+diff --git a/liboctave/dMatrix.cc b/liboctave/dMatrix.cc
+--- a/liboctave/dMatrix.cc
++++ b/liboctave/dMatrix.cc
+@@ -1454,13 +1454,15 @@
+ else if (typ == MatrixType::Full || typ == MatrixType::Hermitian)
+ {
+ double anorm = -1.0;
+- Matrix atmp = *this;
+- double *tmp_data = atmp.fortran_vec ();
+
+ if (typ == MatrixType::Hermitian)
+ {
+ octave_idx_type info = 0;
+ char job = 'L';
++
++ Matrix atmp = *this;
++ double *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().
+ row(static_cast<octave_idx_type>(0)).max();
+
+@@ -1495,6 +1497,9 @@
+ {
+ octave_idx_type info = 0;
+
++ Matrix atmp = *this;
++ double *tmp_data = atmp.fortran_vec ();
++
+ Array<octave_idx_type> ipvt (dim_vector (nr, 1));
+ octave_idx_type *pipvt = ipvt.fortran_vec ();
+
+@@ -1760,8 +1765,10 @@
+ {
+ info = 0;
+ char job = 'L';
++
+ Matrix atmp = *this;
+ double *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().row(static_cast<octave_idx_type>(0)).max();
+
+ F77_XFCN (dpotrf, DPOTRF, (F77_CONST_CHAR_ARG2 (&job, 1), nr,
+@@ -1838,6 +1845,7 @@
+
+ Matrix atmp = *this;
+ double *tmp_data = atmp.fortran_vec ();
++
+ if(anorm < 0.)
+ anorm = atmp.abs().sum().row(static_cast<octave_idx_type>(0)).max();
+
+diff --git a/liboctave/fCMatrix.cc b/liboctave/fCMatrix.cc
+--- a/liboctave/fCMatrix.cc
++++ b/liboctave/fCMatrix.cc
+@@ -1782,13 +1782,15 @@
+ else if (typ == MatrixType::Full || typ == MatrixType::Hermitian)
+ {
+ float anorm = -1.0;
+- FloatComplexMatrix atmp = *this;
+- FloatComplex *tmp_data = atmp.fortran_vec ();
+
+ if (typ == MatrixType::Hermitian)
+ {
+ octave_idx_type info = 0;
+ char job = 'L';
++
++ FloatComplexMatrix atmp = *this;
++ FloatComplex *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().
+ row(static_cast<octave_idx_type>(0)).max();
+
+@@ -1825,6 +1827,9 @@
+ {
+ octave_idx_type info = 0;
+
++ FloatComplexMatrix atmp = *this;
++ FloatComplex *tmp_data = atmp.fortran_vec ();
++
+ Array<octave_idx_type> ipvt (dim_vector (nr, 1));
+ octave_idx_type *pipvt = ipvt.fortran_vec ();
+
+@@ -2094,8 +2099,10 @@
+ {
+ info = 0;
+ char job = 'L';
++
+ FloatComplexMatrix atmp = *this;
+ FloatComplex *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().row(static_cast<octave_idx_type>(0)).max();
+
+ F77_XFCN (cpotrf, CPOTRF, (F77_CONST_CHAR_ARG2 (&job, 1), nr,
+diff --git a/liboctave/fMatrix.cc b/liboctave/fMatrix.cc
+--- a/liboctave/fMatrix.cc
++++ b/liboctave/fMatrix.cc
+@@ -1454,13 +1454,15 @@
+ else if (typ == MatrixType::Full || typ == MatrixType::Hermitian)
+ {
+ float anorm = -1.0;
+- FloatMatrix atmp = *this;
+- float *tmp_data = atmp.fortran_vec ();
+
+ if (typ == MatrixType::Hermitian)
+ {
+ octave_idx_type info = 0;
+ char job = 'L';
++
++ FloatMatrix atmp = *this;
++ float *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().
+ row(static_cast<octave_idx_type>(0)).max();
+
+@@ -1495,6 +1497,9 @@
+ {
+ octave_idx_type info = 0;
+
++ FloatMatrix atmp = *this;
++ float *tmp_data = atmp.fortran_vec ();
++
+ Array<octave_idx_type> ipvt (dim_vector (nr, 1));
+ octave_idx_type *pipvt = ipvt.fortran_vec ();
+
+@@ -1760,8 +1765,10 @@
+ {
+ info = 0;
+ char job = 'L';
++
+ FloatMatrix atmp = *this;
+ float *tmp_data = atmp.fortran_vec ();
++
+ anorm = atmp.abs().sum().row(static_cast<octave_idx_type>(0)).max();
+
+ F77_XFCN (spotrf, SPOTRF, (F77_CONST_CHAR_ARG2 (&job, 1), nr,
+@@ -1838,6 +1845,7 @@
+
+ FloatMatrix atmp = *this;
+ float *tmp_data = atmp.fortran_vec ();
++
+ if(anorm < 0.)
+ anorm = atmp.abs().sum().row(static_cast<octave_idx_type>(0)).max();
+
+diff --git a/src/DLD-FUNCTIONS/rcond.cc b/src/DLD-FUNCTIONS/rcond.cc
+--- a/src/DLD-FUNCTIONS/rcond.cc
++++ b/src/DLD-FUNCTIONS/rcond.cc
+@@ -93,4 +93,12 @@
+ %!assert( rcond ([1 1; 2 1]), 1/9)
+ %!assert( rcond (magic (4)), 0, eps)
+
++%!shared x, sx
++%! x = [-5.25, -2.25; -2.25, 1] * eps () + ones (2) / 2;
++%! sx = [-5.25, -2.25; -2.25, 1] * eps ("single") + ones (2) / 2;
++%!assert (rcond (x) < eps ());
++%!assert (rcond (sx) < eps ('single'));
++%!assert (rcond (x*i) < eps ());
++%!assert (rcond (sx*i) < eps ('single'));
++
+ */
+
diff --git a/sci-mathematics/octave/octave-3.6.3.ebuild b/sci-mathematics/octave/octave-3.6.3.ebuild
new file mode 100644
index 000000000000..cee10e1f77a5
--- /dev/null
+++ b/sci-mathematics/octave/octave-3.6.3.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.6.3.ebuild,v 1.1 2012/10/26 18:27:13 bicatali Exp $
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils toolchain-funcs fortran-2
+
+DESCRIPTION="High-level interactive language for numerical computations"
+LICENSE="GPL-3"
+HOMEPAGE="http://www.octave.org/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+IUSE="curl doc fftw +glpk gnuplot hdf5 +imagemagick opengl +qhull +qrupdate
+ readline +sparse static-libs X zlib"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-fbsd ~x86-linux"
+
+RDEPEND="dev-libs/libpcre
+ app-text/ghostscript-gpl
+ sys-libs/ncurses
+ virtual/lapack
+ curl? ( net-misc/curl )
+ fftw? ( sci-libs/fftw:3.0 )
+ glpk? ( sci-mathematics/glpk )
+ gnuplot? ( sci-visualization/gnuplot )
+ hdf5? ( sci-libs/hdf5 )
+ imagemagick? ( || (
+ media-gfx/graphicsmagick[cxx]
+ media-gfx/imagemagick[cxx] ) )
+ opengl? (
+ media-libs/freetype:2
+ media-libs/fontconfig
+ >=x11-libs/fltk-1.3:1[opengl] )
+ qhull? ( media-libs/qhull )
+ qrupdate? ( sci-libs/qrupdate )
+ readline? ( sys-libs/readline )
+ sparse? (
+ sci-libs/arpack
+ sci-libs/camd
+ sci-libs/ccolamd
+ sci-libs/cholmod
+ sci-libs/colamd
+ sci-libs/cxsparse
+ sci-libs/umfpack )
+ X? ( x11-libs/libX11 )
+ zlib? ( sys-libs/zlib )"
+
+DEPEND="${RDEPEND}
+ doc? (
+ virtual/latex-base
+ dev-texlive/texlive-genericrecommended
+ sys-apps/texinfo )
+ dev-util/gperf
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.4.3-{pkgbuilddir,help,texi}.patch )
+
+src_prepare() {
+ # nasty prefix hack for fltk:1 linking
+ if use prefix && use opengl; then
+ sed -i \
+ -e "s:ldflags\`:ldflags\` -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/fltk-1:" \
+ configure.ac
+ fi
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # occasional fail on install, force regeneration (bug #401189)
+ rm doc/interpreter/contributors.texi || die
+
+ local myconf="--without-magick"
+ if use imagemagick; then
+ if has_version media-gfx/graphicsmagick[cxx]; then
+ myconf="--with-magick=GraphicsMagick"
+ else
+ myconf="--with-magick=ImageMagick"
+ fi
+ fi
+
+ # unfortunate dependency on mpi from hdf5 (bug #302621)
+ use hdf5 && has_version sci-libs/hdf5[mpi] && \
+ export CXX=mpicxx CC=mpicc FC=mpif77 F77=mpif77
+
+ local myeconfargs+=(
+ --localstatedir="${EPREFIX}/var/state/octave"
+ --with-blas="$(pkg-config --libs blas)"
+ --with-lapack="$(pkg-config --libs lapack)"
+ $(use_enable doc docs)
+ $(use_enable readline)
+ $(use_with curl)
+ $(use_with fftw fftw3)
+ $(use_with fftw fftw3f)
+ $(use_with glpk)
+ $(use_with hdf5)
+ $(use_with opengl)
+ $(use_with qhull)
+ $(use_with qrupdate)
+ $(use_with sparse arpack)
+ $(use_with sparse umfpack)
+ $(use_with sparse colamd)
+ $(use_with sparse ccolamd)
+ $(use_with sparse cholmod)
+ $(use_with sparse cxsparse)
+ $(use_with X x)
+ $(use_with zlib z)
+ ${myconf}
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dodoc $(find doc -name \*.pdf)
+ [[ -e test/fntests.log ]] && dodoc test/fntests.log
+ echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/${P}" > 99octave
+ doenvd 99octave
+}