summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2009-01-14 18:11:57 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2009-01-14 18:11:57 +0000
commit5a8c652eb65daa2360830fa90f40622b1e772df2 (patch)
tree1419c89fdba0ee03c1f34cfb0b728d159d37f597 /sci-libs
parentFixes to pkg-config with lapack when atlas is selected (diff)
downloadgentoo-2-5a8c652eb65daa2360830fa90f40622b1e772df2.tar.gz
gentoo-2-5a8c652eb65daa2360830fa90f40622b1e772df2.tar.bz2
gentoo-2-5a8c652eb65daa2360830fa90f40622b1e772df2.zip
PIC for all arches when FFLAGS are set, and some fixes for atlas.
(Portage version: 2.2_rc20/cvs/Linux 2.6.25-gentoo-r7 x86_64)
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/scipy/ChangeLog10
-rw-r--r--sci-libs/scipy/scipy-0.6.0-r6.ebuild147
2 files changed, 155 insertions, 2 deletions
diff --git a/sci-libs/scipy/ChangeLog b/sci-libs/scipy/ChangeLog
index 94ff745f1fc3..60ce7e767242 100644
--- a/sci-libs/scipy/ChangeLog
+++ b/sci-libs/scipy/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-libs/scipy
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/scipy/ChangeLog,v 1.37 2008/12/11 23:43:53 bicatali Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/scipy/ChangeLog,v 1.38 2009/01/14 18:11:57 bicatali Exp $
+
+*scipy-0.6.0-r6 (14 Jan 2009)
+
+ 14 Jan 2009; Sébastien Fabbro <bicatali@gentoo.org>
+ +scipy-0.6.0-r6.ebuild:
+ PIC for all arches when FFLAGS are set, and some fixes for atlas.
11 Dec 2008; Sébastien Fabbro <bicatali@gentoo.org>
scipy-0.6.0-r5.ebuild, scipy-0.7.0_beta1.ebuild:
diff --git a/sci-libs/scipy/scipy-0.6.0-r6.ebuild b/sci-libs/scipy/scipy-0.6.0-r6.ebuild
new file mode 100644
index 000000000000..53f06d2a4f0d
--- /dev/null
+++ b/sci-libs/scipy/scipy-0.6.0-r6.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/scipy/scipy-0.6.0-r6.ebuild,v 1.1 2009/01/14 18:11:57 bicatali Exp $
+
+EAPI=2
+NEED_PYTHON=2.3
+inherit eutils distutils fortran flag-o-matic
+
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="http://www.scipy.org/"
+LICENSE="BSD"
+
+SLOT="0"
+
+IUSE="fftw umfpack sandbox"
+
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+CDEPEND="dev-python/numpy
+ virtual/cblas
+ virtual/lapack
+ fftw? ( sci-libs/fftw:2.1 )
+ umfpack? ( sci-libs/umfpack )
+ sandbox? ( >=sci-libs/netcdf-3.6 x11-libs/libX11 )"
+
+DEPEND="${CDEPEND}
+ dev-util/pkgconfig
+ umfpack? ( dev-lang/swig[python] )"
+
+RDEPEND="${CDEPEND}
+ dev-python/imaging"
+
+# test still buggy on lapack with 2 failures on check_syevr
+# (lapack float). check every version bump.
+#RESTRICT="test"
+
+DOCS="THANKS.txt DEVELOPERS.txt LATEST.txt TOCHANGE.txt FORMAT_GUIDELINES.txt"
+
+scipy_fortran_setup() {
+ append-ldflags -shared
+ FORTRAN="gfortran g77 ifc"
+ fortran_pkg_setup
+ local fc=
+ case ${FORTRANC} in
+ gfortran) fc=gnu95 ;;
+ g77) fc=gnu ;;
+ ifc|ifort)
+ if use ia64; then
+ fc=intele
+ elif use amd64; then
+ fc=intelem
+ else
+ fc=intel
+ fi
+ ;;
+ *) eerror "Unknown fortran compiler: ${FORTRANC}"
+ die "scipy_fortran_setup failed" ;;
+ esac
+ export SCIPY_FCONFIG="config_fc --fcompiler=${fc} --noopt --noarch"
+}
+
+pkg_setup() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use fftw && unset FFTW
+ use umfpack && unset UMFPACK
+ use sandbox && elog "Warning: using sandbox modules at your own risk!"
+ scipy_fortran_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-implicit.patch
+ epatch "${FILESDIR}"/${P}-randomkit.patch
+ epatch "${FILESDIR}"/${P}-cdf.patch
+ epatch "${FILESDIR}"/${P}-fftw-fix.patch
+ epatch "${FILESDIR}"/${P}-ndimage.patch
+ epatch "${FILESDIR}"/${P}-python-2.6-c_abs.patch
+ epatch "${FILESDIR}"/${P}-stsci.patch
+ cat > site.cfg <<-EOF
+ [DEFAULT]
+ library_dirs = /usr/$(get_libdir)
+ include_dirs = /usr/include
+ [atlas]
+ 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 lapack| sed -e \
+ 's/^-L//' -e 's/ -L/:/g' -e 's/ //g'):/usr/$(get_libdir)
+ atlas_libs = $(pkg-config --libs-only-l \
+ cblas blas | sed -e 's/^-l//' -e 's/ -l/, /g' -e 's/,.pthread//g')
+ lapack_libs = $(pkg-config --libs-only-l \
+ lapack | sed -e 's/^-l//' -e 's/ -l/, /g' -e 's/,.pthread//g')
+ [blas_opt]
+ 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'):/usr/$(get_libdir)
+ libraries = $(pkg-config --libs-only-l \
+ cblas blas | sed -e 's/^-l//' -e 's/ -l/, /g' -e 's/,.pthread//g')
+ [lapack_opt]
+ library_dirs = $(pkg-config --libs-only-L \
+ lapack | sed -e 's/^-L//' -e 's/ -L/:/g' \
+ -e 's/ //g'):/usr/$(get_libdir)
+ libraries = $(pkg-config --libs-only-l \
+ lapack | sed -e 's/^-l//' -e 's/ -l/, /g' -e 's/,.pthread//g')
+ EOF
+ if use sandbox; then
+ cd scipy/sandbox
+ ls -1 */__init__.py \
+ | sed -e 's:/__init__.py::' \
+ | grep -v exmplpackage \
+ > enabled_packages.txt \
+ || die "sandbox listing failed"
+ fi
+}
+
+src_compile() {
+ # when fortran flags are set, pic is removed.
+ [[ -n ${FFLAGS} ]] && FFLAGS="${FFLAGS} -fPIC"
+ distutils_src_compile ${SCIPY_FCONFIG}
+}
+
+src_test() {
+ "${python}" setup.py install \
+ --home="${S}"/test \
+ --no-compile \
+ ${SCIPY_FCONFIG} || die "install test failed"
+ pushd "${S}"/test/lib*/python
+ PYTHONPATH=. "${python}" -c \
+ "import scipy as s;import sys;sys.exit(s.test(10,3))" \
+ 2>&1 | tee test.log
+ grep -q OK test.log || die "test failed"
+ popd
+ rm -rf test
+}
+
+src_install() {
+ distutils_src_install ${SCIPY_FCONFIG}
+}
+
+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"
+}