diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2012-10-26 18:27:13 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2012-10-26 18:27:13 +0000 |
commit | 8760466380fe810c594c2f4fdcfaf750743b5084 (patch) | |
tree | 60eeb5d53c2b8ad0a34b8de2aeca39eafa79be7e /sci-mathematics/octave | |
parent | add proxy maintainer Olivier Laurantin (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | sci-mathematics/octave/files/octave-3.4.3-pkgbuilddir.patch | 3 | ||||
-rw-r--r-- | sci-mathematics/octave/files/octave-3.6.3-rcond.patch | 210 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-3.6.3.ebuild | 122 |
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 +} |