freebsd-ports/math/py-numpy/Makefile
Dmitry Sivachenko 2d92e2e4e5 Allow to use OpenBLAS implementation of BLAS.
Based on the work done by Eijiro Shibusawa <phd_kimberlite@yahoo.co.jp>,
OpenBLAS port maintainer.

Hide py-nose dependency under new TESTS option.
Convert to USES=blaslapack.

Differential Revision:	D2060
Reviewed by:	koobs, thierry
2015-03-28 19:41:43 +00:00

96 lines
3.1 KiB
Makefile

# Created by: Tony Maher
# $FreeBSD$
PORTNAME= numpy
PORTVERSION= 1.9.2
PORTEPOCH= 1
CATEGORIES= math python
MASTER_SITES= http://docs.scipy.org/doc/${PORTNAME}/:doc \
SF/${PORTNAME}/NumPy/${PORTVERSION}:source
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTFILES= numpy-${PORTVERSION:S/r/rc/}${EXTRACT_SUFX}:source \
numpy-ref-${DOCVERSION}.pdf:doc \
numpy-user-${DOCVERSION}.pdf:doc
EXTRACT_ONLY= numpy-${PORTVERSION:S/r/rc/}${EXTRACT_SUFX}
MAINTAINER= python@FreeBSD.org
COMMENT= The New Numeric Extension to Python
LICENSE= BSD3CLAUSE
USES= fortran python
USE_PYTHON= concurrent distutils py3kplist
LDFLAGS+= -shared
OPTIONS_DEFINE= DOCS SUITESPARSE TESTS
OPTIONS_SINGLE= BLASLIB
OPTIONS_DEFAULT= NETLIB SUITESPARSE
OPTIONS_SINGLE_BLASLIB= ATLAS NETLIB OPENBLAS
SUITESPARSE_DESC= Use AMD and UMFPACK in SuiteSparse
TESTS_DESC= Install test suite requirements
PYDISTUTILS_CONFIGUREARGS+= --fcompiler=gnu95
PYDISTUTILS_BUILDARGS+= --fcompiler=gnu95
PORTDOCS= *
WRKSRC= ${WRKDIR}/${DISTNAME:S/r/rc/}
DOCVERSION= 1.9.1
ATLAS_USES= blaslapack:atlas
NETLIB_USES= blaslapack:netlib
OPENBLAS_USES= blaslapack:openblas
SUITESPARSE_LIB_DEPENDS=libumfpack.so:${PORTSDIR}/math/suitesparse
TESTS_RUN_DEPENDS= nosetests:${PORTSDIR}/devel/py-nose
.include <bsd.port.pre.mk>
PLIST_SUB+= PYTHON_VER=${PYTHON_VER}
.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION}
PLIST_FILES+= man/man1/f2py.1.gz
.endif
post-patch:
${REINPLACE_CMD} -e "s+%%FC%%+${FC}+" ${WRKSRC}/numpy/distutils/fcompiler/gnu.py
${CP} ${FILESDIR}/site.cfg ${WRKSRC}/site.cfg
GCCLIBDIR_CMDS= ${FC} -print-file-name=libgfortran.so|${SED} -e s/libgfortran.so//
pre-configure:
.if ${PORT_OPTIONS:MOPENBLAS}
@${REINPLACE_CMD} -e "s+%%BLASNAME%%+openblas+" \
-e "s+%%LIBRARIES%%+libraries+" \
-e "s+%%LAPACKLIBS%%+%%BLASLIBS%%+" \
-e "s+%%BLASLIBS%%+openblasp, gfortran+" \
${WRKSRC}/site.cfg
.elif ${PORT_OPTIONS:MATLAS}
@${REINPLACE_CMD} -e "s+%%BLASNAME%%+atlas+" \
-e "s+%%LIBRARIES%%+atlas_libs+" \
-e "s+%%BLASLIBS%%+%%ATLASLIBS%%+" \
-e "s+%%LAPACKLIBS%%+alapack+" \
-e "s+%%ATLASLIBS%%+ptf77blas, ptcblas+" \
${WRKSRC}/site.cfg
.else
@${REINPLACE_CMD} -e "s+%%BLASNAME%%+atlas+" \
-e "s+%%LIBRARIES%%+atlas_libs+" \
-e "s+%%BLASLIBS%%+blas+" \
-e "s+%%LAPACKLIBS%%+lapack+" \
${WRKSRC}/site.cfg
.endif
.if !${PORT_OPTIONS:MSUITESPARSE}
@${REINPLACE_CMD} -e "s+:%%LOCALBASE%%/include/suitesparse++" ${WRKSRC}/site.cfg
.endif
@${REINPLACE_CMD} -e "s+%%GCCLIBDIR%%+$$(${GCCLIBDIR_CMDS})+" \
-e "s+%%LOCALBASE%%+${LOCALBASE}+g" \
${WRKSRC}/site.cfg
@${REINPLACE_CMD} -e "s+%%GCCLIBDIR%%+$$(${GCCLIBDIR_CMDS})+" ${WRKSRC}/numpy/distutils/system_info.py
post-install:
${INSTALL_MAN} ${WRKSRC}/doc/f2py/f2py.1 ${STAGEDIR}${MANPREFIX}/man/man1/f2py-${PYTHON_VER}.1
.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION}
${LN} -sf ${MANPREFIX}/man/man1/f2py-${PYTHON_VER}.1 ${STAGEDIR}${MANPREFIX}/man/man1/f2py.1
.endif
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${DISTDIR}/numpy-ref-${DOCVERSION}.pdf ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${DISTDIR}/numpy-user-${DOCVERSION}.pdf ${STAGEDIR}${DOCSDIR}
.include <bsd.port.post.mk>