From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 9DA921384B4 for ; Tue, 17 Nov 2015 09:26:15 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0A475E07D5; Tue, 17 Nov 2015 09:26:15 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8F3E5E07D5 for ; Tue, 17 Nov 2015 09:26:14 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 08DA0340562 for ; Tue, 17 Nov 2015 09:26:12 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 74C3AA94 for ; Tue, 17 Nov 2015 09:26:09 +0000 (UTC) From: "Justin Lecher" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Justin Lecher" Message-ID: <1447752366.3f54a597796ca0ada6dca781c84e83466ca9ce1b.jlec@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/h5py/files/, dev-python/h5py/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/h5py/files/h5py-2.5.0-mpi4py2.backport dev-python/h5py/h5py-2.5.0.ebuild X-VCS-Directories: dev-python/h5py/files/ dev-python/h5py/ X-VCS-Committer: jlec X-VCS-Committer-Name: Justin Lecher X-VCS-Revision: 3f54a597796ca0ada6dca781c84e83466ca9ce1b X-VCS-Branch: master Date: Tue, 17 Nov 2015 09:26:09 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: f32a3506-57f7-4ba7-b0d5-7eac87a96a31 X-Archives-Hash: d05409f51d559a88b7febff1ed9a0c69 commit: 3f54a597796ca0ada6dca781c84e83466ca9ce1b Author: Justin Lecher gentoo org> AuthorDate: Tue Nov 17 09:23:23 2015 +0000 Commit: Justin Lecher gentoo org> CommitDate: Tue Nov 17 09:26:06 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f54a597 dev-python/h5py: Backport support for mpi4py-2 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=563890 Package-Manager: portage-2.2.23 Signed-off-by: Justin Lecher gentoo.org> dev-python/h5py/files/h5py-2.5.0-mpi4py2.backport | 55 +++++++++++++++++++++++ dev-python/h5py/h5py-2.5.0.ebuild | 4 ++ 2 files changed, 59 insertions(+) diff --git a/dev-python/h5py/files/h5py-2.5.0-mpi4py2.backport b/dev-python/h5py/files/h5py-2.5.0-mpi4py2.backport new file mode 100644 index 0000000..06bdb83 --- /dev/null +++ b/dev-python/h5py/files/h5py-2.5.0-mpi4py2.backport @@ -0,0 +1,55 @@ +commit 364a77403199087168786234554f459e7d985063 +Author: Lawrence Mitchell +Date: Tue Nov 3 14:18:48 2015 +0000 + + setup: Support building with current mpi4py version + + mpi4py migrated the mpi4py.mpi_c module to mpi4py.libmpi in April 2014. + After the release of v1.3.1 but before v2. Sniff this in setup + configure and import MPI types from the appropriate module in h5p.pyx, + to allow building with MPI on and modern mpi4py versions. + +diff --git a/h5py/h5p.pyx b/h5py/h5p.pyx +index da175dd..8a1cbb0 100644 +--- a/h5py/h5p.pyx ++++ b/h5py/h5p.pyx +@@ -25,7 +25,11 @@ from h5py import _objects + from ._objects import phil, with_phil + + if MPI: +- from mpi4py.mpi_c cimport MPI_Comm, MPI_Info, MPI_Comm_dup, MPI_Info_dup, \ ++ if MPI4PY_V2: ++ from mpi4py.libmpi cimport MPI_Comm, MPI_Info, MPI_Comm_dup, MPI_Info_dup, \ ++ MPI_Comm_free, MPI_Info_free ++ else: ++ from mpi4py.mpi_c cimport MPI_Comm, MPI_Info, MPI_Comm_dup, MPI_Info_dup, \ + MPI_Comm_free, MPI_Info_free + + # Initialization +diff --git a/setup_build.py b/setup_build.py +index ccc0f27..e49a4e8 100644 +--- a/setup_build.py ++++ b/setup_build.py +@@ -162,14 +162,22 @@ class h5py_build_ext(build_ext): + # Rewrite config.pxi file if needed + if not op.isfile(config_file) or config.rebuild_required: + with open(config_file, 'wb') as f: ++ if config.mpi: ++ import mpi4py ++ from distutils.version import StrictVersion ++ v2 = StrictVersion(mpi4py.__version__) > StrictVersion("1.3.1") ++ else: ++ v2 = False + s = """\ + # This file is automatically generated by the h5py setup script. Don't modify. + + DEF MPI = %(mpi)s ++DEF MPI4PY_V2 = %(mpi4py_v2)s + DEF HDF5_VERSION = %(version)s + DEF SWMR_MIN_HDF5_VERSION = (1,9,178) + """ + s %= {'mpi': bool(config.mpi), ++ 'mpi4py_v2': bool(v2), + 'version': tuple(int(x) for x in config.hdf5_version.split('.'))} + s = s.encode('utf-8') + f.write(s) diff --git a/dev-python/h5py/h5py-2.5.0.ebuild b/dev-python/h5py/h5py-2.5.0.ebuild index 5947f06..f7c87dc 100644 --- a/dev-python/h5py/h5py-2.5.0.ebuild +++ b/dev-python/h5py/h5py-2.5.0.ebuild @@ -31,6 +31,10 @@ DEPEND="${RDEPEND} ) mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )" +PATCHES=( + "${FILESDIR}"/${P}-mpi4py2.backport +) + pkg_setup() { use mpi && export CC=mpicc }