summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/numpy/numpy-1.1.0.ebuild')
-rw-r--r--dev-python/numpy/numpy-1.1.0.ebuild127
1 files changed, 127 insertions, 0 deletions
diff --git a/dev-python/numpy/numpy-1.1.0.ebuild b/dev-python/numpy/numpy-1.1.0.ebuild
new file mode 100644
index 000000000000..5b5d852e4cbb
--- /dev/null
+++ b/dev-python/numpy/numpy-1.1.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/numpy/numpy-1.1.0.ebuild,v 1.1 2008/06/22 11:13:01 bicatali Exp $
+
+NEED_PYTHON=2.4
+
+inherit distutils eutils flag-o-matic fortran
+
+DESCRIPTION="Fast array and numerical python library"
+SRC_URI="mirror://sourceforge/numpy/${P}.tar.gz"
+HOMEPAGE="http://numeric.scipy.org/"
+
+RDEPEND="!dev-python/f2py
+ lapack? ( virtual/cblas virtual/lapack )"
+
+DEPEND="${RDEPEND}
+ lapack? ( dev-util/pkgconfig )"
+
+IUSE="lapack"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+LICENSE="BSD"
+
+# whatever LDFLAGS set will break linking
+# see progress in http://projects.scipy.org/scipy/numpy/ticket/573
+if [ -n "${LDFLAGS}" ]; then
+ append-ldflags -shared
+else
+ LDFLAGS="-shared"
+fi
+
+pkg_setup() {
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ use lapack || return
+ 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 "numpy_fortran_setup failed" ;;
+ esac
+
+ # when fortran flags are set, pic is removed.
+ use amd64 && FFLAGS="${FFLAGS} -fPIC"
+ export NUMPY_FCONFIG="config_fc --fcompiler=${fc}"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Fix some paths and docs in f2py
+ epatch "${FILESDIR}"/${P}-f2py.patch
+
+ if use lapack; then
+ append-ldflags "$(pkg-config --libs-only-other cblas lapack)"
+ # cblas and lapack libraries under the name of atlas
+ # otherwise fast _dotblas is not built
+ cat >> site.cfg <<-EOF
+ [atlas]
+ include_dirs = $(pkg-config --cflags-only-I cblas lapack \
+ | sed -e 's/^-I//' -e 's/ -I/:/g')
+ library_dirs = $(pkg-config --libs-only-L cblas lapack \
+ | sed -e 's/^-L//' -e 's/ -L/:/g')
+ atlas_libs = $(pkg-config --libs-only-l cblas \
+ | 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')
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+}
+
+src_compile() {
+ # when fortran flags are set, pic is removed but unfortunately needed
+ distutils_src_compile ${NUMPY_FCONFIG}
+}
+
+src_test() {
+ "${python}" setup.py ${NUMPY_FCONFIG} install \
+ --home="${S}"/test \
+ --no-compile \
+ || die "install test failed"
+
+ pushd "${S}"/test/lib*/python
+ PYTHONPATH=. "${python}" -c "import numpy; numpy.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 ${NUMPY_FCONFIG}
+
+ docinto numpy
+ dodoc numpy/doc/*txt || die "dodoc failed"
+
+ docinto f2py
+ dodoc numpy/f2py/docs/*txt || die "dodoc f2py failed"
+ doman numpy/f2py/f2py.1 || die "doman failed"
+}
+
+pkg_postinst() {
+ if ! built_with_use sys-devel/gcc fortran &&
+ ! has_version dev-lang/ifc
+ then
+ ewarn "To use numpy's f2py you need a fortran compiler."
+ ewarn "You can either set USE=fortran flag and re-install gcc,"
+ ewarn "or install dev-lang/ifc"
+ fi
+}