From owner-svn-ports-all@freebsd.org Fri Sep 21 03:48:59 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5FFED10B1AE6; Fri, 21 Sep 2018 03:48:59 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 137EC8C3EB; Fri, 21 Sep 2018 03:48:59 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0E64C27645; Fri, 21 Sep 2018 03:48:59 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w8L3mwif055026; Fri, 21 Sep 2018 03:48:58 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w8L3mvtm055019; Fri, 21 Sep 2018 03:48:57 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <201809210348.w8L3mvtm055019@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Fri, 21 Sep 2018 03:48:57 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r480224 - in head/net: . py-mpi4py py-mpi4py/files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/net: . py-mpi4py py-mpi4py/files X-SVN-Commit-Revision: 480224 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Sep 2018 03:48:59 -0000 Author: yuri Date: Fri Sep 21 03:48:57 2018 New Revision: 480224 URL: https://svnweb.freebsd.org/changeset/ports/480224 Log: New port: net/py-mpi4py: Python bindings for MPI PR: 211768 Submitted by: Michael Danilov Added: head/net/py-mpi4py/ head/net/py-mpi4py/Makefile (contents, props changed) head/net/py-mpi4py/distinfo (contents, props changed) head/net/py-mpi4py/files/ head/net/py-mpi4py/files/mpi.cfg (contents, props changed) head/net/py-mpi4py/files/mpi2.cfg (contents, props changed) head/net/py-mpi4py/files/patch-setup.py (contents, props changed) head/net/py-mpi4py/pkg-descr (contents, props changed) Modified: head/net/Makefile Modified: head/net/Makefile ============================================================================== --- head/net/Makefile Fri Sep 21 01:49:09 2018 (r480223) +++ head/net/Makefile Fri Sep 21 03:48:57 2018 (r480224) @@ -1075,6 +1075,7 @@ SUBDIR += py-matrix-synapse-ldap3 SUBDIR += py-maxminddb SUBDIR += py-miniupnpc + SUBDIR += py-mpi4py SUBDIR += py-msrplib SUBDIR += py-ndg_httpsclient SUBDIR += py-netaddr Added: head/net/py-mpi4py/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/py-mpi4py/Makefile Fri Sep 21 03:48:57 2018 (r480224) @@ -0,0 +1,61 @@ +# $FreeBSD$ + +PORTNAME= mpi4py +DISTVERSION= 3.0.0 +CATEGORIES= net parallel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= mike.d.ft402@gmail.com +COMMENT= Python bindings for MPI + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.rst + +USES= python +USE_PYTHON= distutils cython autoplist concurrent + +OPTIONS_DEFINE= DOCS MANPAGES +OPTIONS_SINGLE= MP +OPTIONS_SINGLE_MP= MPICH2 OPENMPI OPENMPI2 +OPTIONS_DEFAULT= OPENMPI # the only non-failing MPI implementation +MP_DESC= MPI Implementation + +MPICH2_USES= fortran +MPICH2_LIB_DEPENDS= libmpich.so:net/mpich2 +MPICH2_LDFLAGS= ${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgcc_s.so + +OPENMPI_LIB_DEPENDS= libmpi.so:net/openmpi + +OPENMPI2_DESC= ${OPENMPI_DESC} 2.x +OPENMPI2_LIB_DEPENDS= libmpi.so:net/openmpi2 + +PORTDOCS= * + +do-patch-OPENMPI-on: + @${CP} ${FILESDIR}/mpi.cfg ${WRKSRC}/ + @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/mpi.cfg + +do-patch-OPENMPI2-on: + @${CP} ${FILESDIR}/mpi2.cfg ${WRKSRC}/mpi.cfg + @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/mpi.cfg + +do-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/README.rst ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} + @${RM} ${STAGEDIR}${DOCSDIR}/${PORTNAME}.1 + +do-install-MANPAGES-on: + ${INSTALL_MAN} ${WRKSRC}/docs/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/man/man1 + @${ECHO} man/man1/mpi4py.1.gz >> ${TMPPLIST} + +post-install: + @cd ${STAGEDIR}${PYTHON_SITELIBDIR}/mpi4py && ${STRIP_CMD} dl.so MPI.so lib-pmpi/libvt-hyb.so lib-pmpi/libvt.so lib-pmpi/libvt-mpi.so lib-pmpi/libmpe.so + +do-test: + # tests fail with MPICH2=on: https://bitbucket.org/mpi4py/mpi4py/issues/110/tests-fail-with-mpich2-on-freebsd-error + # tests fail with OPENMPI2=on: https://bitbucket.org/mpi4py/mpi4py/issues/109/tests-fail-with-openmpi2-on-freebsd + @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test + +.include Added: head/net/py-mpi4py/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/py-mpi4py/distinfo Fri Sep 21 03:48:57 2018 (r480224) @@ -0,0 +1,3 @@ +TIMESTAMP = 1537487949 +SHA256 (mpi4py-3.0.0.tar.gz) = b457b02d85bdd9a4775a097fac5234a20397b43e073f14d9e29b6cd78c68efd7 +SIZE (mpi4py-3.0.0.tar.gz) = 1426843 Added: head/net/py-mpi4py/files/mpi.cfg ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/py-mpi4py/files/mpi.cfg Fri Sep 21 03:48:57 2018 (r480224) @@ -0,0 +1,6 @@ +[mpi] +mpi_dir = %%LOCALBASE%%/mpi/openmpi +mpicc = %(mpi_dir)s/bin/mpicc +mpicxx = %(mpi_dir)s/bin/mpicxx +library_dirs = %(mpi_dir)s/lib +runtime_library_dirs = %(library_dirs)s Added: head/net/py-mpi4py/files/mpi2.cfg ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/py-mpi4py/files/mpi2.cfg Fri Sep 21 03:48:57 2018 (r480224) @@ -0,0 +1,6 @@ +[mpi] +mpi_dir = %%LOCALBASE%%/mpi/openmpi2 +mpicc = %(mpi_dir)s/bin/mpicc +mpicxx = %(mpi_dir)s/bin/mpicxx +library_dirs = %(mpi_dir)s/lib +runtime_library_dirs = %(library_dirs)s Added: head/net/py-mpi4py/files/patch-setup.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/py-mpi4py/files/patch-setup.py Fri Sep 21 03:48:57 2018 (r480224) @@ -0,0 +1,25 @@ +--- setup.py.orig 2017-11-25 07:11:10 UTC ++++ setup.py +@@ -174,10 +174,10 @@ def configure_dl(ext, config_cmd): + log.info("checking for dlopen() availability ...") + ok = config_cmd.check_header('dlfcn.h') + if ok : ext.define_macros += [('HAVE_DLFCN_H', 1)] +- ok = config_cmd.check_library('dl') +- if ok: ext.libraries += ['dl'] ++ #ok = config_cmd.check_library('dl') ++ #if ok: ext.libraries += ['dl'] + ok = config_cmd.check_function('dlopen', +- libraries=['dl'], ++ #libraries=['dl'], + decl=1, call=1) + if ok: ext.define_macros += [('HAVE_DLOPEN', 1)] + +@@ -287,7 +287,7 @@ def configure_libvt(lib, config_cmd): + log_lib = 'vt.ompi' + else: + log_lib = 'vt.mpi' +- dep_libs = ('dl', 'z', 'otf',) ++ dep_libs = ('z', 'otf',) + ok = config_cmd.check_library(log_lib, lib.library_dirs) + if not ok: return + libraries = [] Added: head/net/py-mpi4py/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/py-mpi4py/pkg-descr Fri Sep 21 03:48:57 2018 (r480224) @@ -0,0 +1,5 @@ +This package provides Python bindings for the Message Passing Interface (MPI) +standard. It is implemented on top of the MPI-1/MPI-2 specification and +exposes an API which grounds on the standard MPI-2 C++ bindings + +WWW: https://bitbucket.org/mpi4py/mpi4py/