diff options
Diffstat (limited to 'dev-python/numpy/numpy-1.5.0.ebuild')
-rw-r--r-- | dev-python/numpy/numpy-1.5.0.ebuild | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/dev-python/numpy/numpy-1.5.0.ebuild b/dev-python/numpy/numpy-1.5.0.ebuild new file mode 100644 index 0000000..1620c75 --- /dev/null +++ b/dev-python/numpy/numpy-1.5.0.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/numpy/numpy-1.5.0.ebuild,v 1.1 2010/09/02 13:25:02 djc Exp $ + +EAPI="3" +PYTHON_DEPEND="2" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.*" + +inherit distutils eutils flag-o-matic toolchain-funcs versionator + +NP="${PN}-1.3" + +DESCRIPTION="Fast array and numerical python library" +HOMEPAGE="http://numpy.scipy.org/ http://pypi.python.org/pypi/numpy" +SRC_URI="mirror://sourceforge/numpy/${P}.tar.gz + doc? ( + http://docs.scipy.org/doc/${NP}.x/numpy-html.zip -> ${NP}-html.zip + http://docs.scipy.org/doc/${NP}.x/numpy-ref.pdf -> ${NP}-ref.pdf + http://docs.scipy.org/doc/${NP}.x/numpy-user.pdf -> ${NP}-user.pdf + )" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 -ppc -ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +IUSE="doc lapack test" + +RDEPEND="dev-python/setuptools + lapack? ( virtual/cblas virtual/lapack )" +DEPEND="${RDEPEND} + lapack? ( dev-util/pkgconfig ) + test? ( >=dev-python/nose-0.10 ) + doc? ( app-arch/unzip )" + +pkg_setup() { + # See progress in http://projects.scipy.org/scipy/numpy/ticket/573 + # with the subtle difference that we don't want to break Darwin where + # -shared is not a valid linker argument + if [[ ${CHOST} != *-darwin* ]] ; then + append-ldflags -shared + fi + + # 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 + [[ -z ${FC} ]] && FC=$(tc-getFC) + # when fortran flags are set, pic is removed. + FFLAGS="${FFLAGS} -fPIC" + NUMPY_FCONFIG="config_fc --noopt --noarch" + # workaround bug 335908 + [[ ${FC} == *gfortran* ]] && NUMPY_FCONFIG="${NUMPY_FCONFIG} --fcompiler=gnu95" + export NUMPY_FCONFIG +} + +src_unpack() { + unpack ${P}.tar.gz + if use doc; then + unzip -qo "${DISTDIR}"/${NP}-html.zip -d html || die + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.1.0-f2py.patch + epatch "${FILESDIR}"/${PN}-1.3.0-fenv-freebsd.patch # bug 279487 + + # Gentoo patch for ATLAS library names + sed -i \ + -e "s:'f77blas':'blas':g" \ + -e "s:'ptf77blas':'blas':g" \ + -e "s:'ptcblas':'cblas':g" \ + -e "s:'lapack_atlas':'lapack':g" \ + numpy/distutils/system_info.py \ + || die "sed system_info.py failed" + + if use lapack; then + append-ldflags "$(pkg-config --libs-only-other cblas lapack)" + sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die + local libdir="${EPREFIX}"/usr/$(get_libdir) + cat >> site.cfg <<-EOF + [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'):${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'):${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'):${libdir} + libraries = $(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 + + epatch "${FILESDIR}"/${PN}-1.4.0-interix.patch +} + +src_compile() { + distutils_src_compile ${NUMPY_FCONFIG} +} + +src_test() { + testing() { + "$(PYTHON)" setup.py ${NUMPY_FCONFIG} build -b "build-${PYTHON_ABI}" install \ + --home="${S}/test-${PYTHON_ABI}" --no-compile || die "install test failed" + pushd "${S}/test-${PYTHON_ABI}/"lib* > /dev/null + PYTHONPATH=python "$(PYTHON)" -c "import numpy; numpy.test()" 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() { + [[ -z ${ED} ]] && local ED=${D} + distutils_src_install ${NUMPY_FCONFIG} + dodoc THANKS.txt DEV_README.txt COMPATIBILITY + rm -f "${ED}"/usr/lib/python*/site-packages/numpy/*.txt || die + docinto f2py + dodoc numpy/f2py/docs/*.txt || die "dodoc f2py failed" + doman numpy/f2py/f2py.1 || die "doman failed" + if use doc; then + insinto /usr/share/doc/${PF} + doins -r "${WORKDIR}"/html || die + doins "${DISTDIR}"/${NP}*pdf || die + fi +} |