summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2011-12-13 14:16:08 +0000
committerJustin Lecher <jlec@gentoo.org>2011-12-13 14:16:08 +0000
commit2a9ba9f1d51a4e97513263b22b4b9f2ba009b71a (patch)
treebf609da374743bdc8f266de4c8b2954582ca7826 /sci-libs/scipy
parentRevision bump add repacked sources from correct branch. (diff)
downloadgentoo-2-2a9ba9f1d51a4e97513263b22b4b9f2ba009b71a.tar.gz
gentoo-2-2a9ba9f1d51a4e97513263b22b4b9f2ba009b71a.tar.bz2
gentoo-2-2a9ba9f1d51a4e97513263b22b4b9f2ba009b71a.zip
Add fix for changes in superlu-4.3, #392227
(Portage version: 2.2.0_alpha80/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs/scipy')
-rw-r--r--sci-libs/scipy/ChangeLog8
-rw-r--r--sci-libs/scipy/files/scipy-0.9.0-superlu-4.3.patch20
-rw-r--r--sci-libs/scipy/scipy-0.9.0-r3.ebuild132
3 files changed, 159 insertions, 1 deletions
diff --git a/sci-libs/scipy/ChangeLog b/sci-libs/scipy/ChangeLog
index 15aac03b867c..bf5987956314 100644
--- a/sci-libs/scipy/ChangeLog
+++ b/sci-libs/scipy/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-libs/scipy
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/scipy/ChangeLog,v 1.71 2011/10/07 15:38:28 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/scipy/ChangeLog,v 1.72 2011/12/13 14:16:08 jlec Exp $
+
+*scipy-0.9.0-r3 (13 Dec 2011)
+
+ 13 Dec 2011; Justin Lecher <jlec@gentoo.org> +scipy-0.9.0-r3.ebuild,
+ +files/scipy-0.9.0-superlu-4.3.patch:
+ Add fix for changes in superlu-4.3, #392227
*scipy-0.9.0-r2 (07 Oct 2011)
diff --git a/sci-libs/scipy/files/scipy-0.9.0-superlu-4.3.patch b/sci-libs/scipy/files/scipy-0.9.0-superlu-4.3.patch
new file mode 100644
index 000000000000..c5b7176572e6
--- /dev/null
+++ b/sci-libs/scipy/files/scipy-0.9.0-superlu-4.3.patch
@@ -0,0 +1,20 @@
+ scipy/sparse/linalg/dsolve/_superluobject.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/scipy/sparse/linalg/dsolve/_superluobject.c b/scipy/sparse/linalg/dsolve/_superluobject.c
+index e9ec0bd..2fde6cc 100644
+--- a/scipy/sparse/linalg/dsolve/_superluobject.c
++++ b/scipy/sparse/linalg/dsolve/_superluobject.c
+@@ -589,9 +589,9 @@ static int iterrefine_cvt(PyObject *input, IterRefine_t *value)
+ {
+ ENUM_CHECK_INIT;
+ ENUM_CHECK(NOREFINE);
+- ENUM_CHECK(SINGLE);
+- ENUM_CHECK(DOUBLE);
+- ENUM_CHECK(EXTRA);
++ ENUM_CHECK(SLU_SINGLE);
++ ENUM_CHECK(SLU_DOUBLE);
++ ENUM_CHECK(SLU_EXTRA);
+ ENUM_CHECK_FINISH("invalid value for 'IterRefine' parameter");
+ }
+
diff --git a/sci-libs/scipy/scipy-0.9.0-r3.ebuild b/sci-libs/scipy/scipy-0.9.0-r3.ebuild
new file mode 100644
index 000000000000..a2002629f13a
--- /dev/null
+++ b/sci-libs/scipy/scipy-0.9.0-r3.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/scipy/scipy-0.9.0-r3.ebuild,v 1.1 2011/12/13 14:16:08 jlec Exp $
+
+EAPI="3"
+
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython"
+
+inherit eutils fortran-2 distutils flag-o-matic toolchain-funcs versionator
+
+SP="${PN}-$(get_version_component_range 1-2)"
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="http://www.scipy.org/ http://pypi.python.org/pypi/scipy/"
+SRC_URI="
+ mirror://sourceforge/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${P}/${PN}-html.zip -> ${SP}-html.zip
+ http://docs.scipy.org/doc/${P}/${PN}-ref.pdf -> ${SP}-ref.pdf
+ )"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc umfpack"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+CDEPEND="
+ >=dev-python/numpy-1.5
+ media-libs/qhull
+ sci-libs/arpack
+ >=sci-libs/superlu-4.3
+ virtual/cblas
+ virtual/lapack
+ umfpack? ( sci-libs/umfpack )"
+
+DEPEND="${CDEPEND}
+ dev-util/pkgconfig
+ doc? ( app-arch/unzip )
+ umfpack? ( dev-lang/swig )"
+
+RDEPEND="
+ virtual/fortran
+ ${CDEPEND}
+ dev-python/imaging"
+
+# buggy test suite - still true for 0.9.0
+#RESTRICT="test"
+
+DOCS="THANKS.txt LATEST.txt TOCHANGE.txt"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use umfpack && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+}
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${SP}-html.zip -d html || die
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-superlu.patch \
+ "${FILESDIR}"/${P}-superlu-4.3.patch \
+ "${FILESDIR}"/${P}-qhull.patch
+ rm -rf ./scipy/sparse/linalg/dsolve/SuperLU ./scipy/spatial/qhull
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pkg-config --cflags-only-I \
+ cblas | sed -e 's/^-I//' -e 's/ -I/:/g')
+ library_dirs = $(pkg-config --libs-only-L \
+ cblas blas | sed -e 's/^-L//' -e 's/ -L/:/g' -e 's/ //g'):${libdir}
+ blas_libs = $(pkg-config --libs-only-l \
+ cblas blas | sed -e 's/^-l//' -e 's/ -l/, /g' -e 's/,.pthread//g')
+ [lapack]
+ library_dirs = $(pkg-config --libs-only-L \
+ lapack | sed -e 's/^-L//' -e 's/ -L/:/g' -e 's/ //g'):${libdir}
+ lapack_libs = $(pkg-config --libs-only-l \
+ lapack | sed -e 's/^-l//' -e 's/ -l/, /g' -e 's/,.pthread//g')
+ EOF
+}
+
+src_compile() {
+ distutils_src_compile ${SCIPY_FCONFIG}
+}
+
+src_test() {
+ testing() {
+ "$(PYTHON)" setup.py build -b "build-${PYTHON_ABI}" install \
+ --home="${S}/test-${PYTHON_ABI}" --no-compile ${SCIPY_FCONFIG} || die "install test failed"
+ pushd "${S}/test-${PYTHON_ABI}/"lib*/python > /dev/null
+ PYTHONPATH=. "$(PYTHON)" -c "import scipy; scipy.test('full')" 2>&1 | tee test.log
+ grep -q ^ERROR test.log && die "test failed"
+ popd > /dev/null
+ rm -fr test-${PYTHON_ABI}
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install ${SCIPY_FCONFIG}
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r "${WORKDIR}"/html || die
+ doins "${DISTDIR}"/${SP}*pdf || die
+ fi
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer if you don't like the default one. Ex:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}