diff options
Diffstat (limited to 'dev-python/numpy/numpy-1.1.0.ebuild')
-rw-r--r-- | dev-python/numpy/numpy-1.1.0.ebuild | 127 |
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 +} |