diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-python/mpi4py | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-python/mpi4py')
-rw-r--r-- | dev-python/mpi4py/Manifest | 1 | ||||
-rw-r--r-- | dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch | 24 | ||||
-rw-r--r-- | dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch | 81 | ||||
-rw-r--r-- | dev-python/mpi4py/metadata.xml | 19 | ||||
-rw-r--r-- | dev-python/mpi4py/mpi4py-1.3.1.ebuild | 50 |
5 files changed, 175 insertions, 0 deletions
diff --git a/dev-python/mpi4py/Manifest b/dev-python/mpi4py/Manifest new file mode 100644 index 000000000000..db920f5b1d0c --- /dev/null +++ b/dev-python/mpi4py/Manifest @@ -0,0 +1 @@ +DIST mpi4py-1.3.1.tar.gz 1046580 SHA256 e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507 SHA512 15e81f2a1e6f6af7a54f0e8ec43ddf36cc565b7fe9e3dd35603c9d128199c5acd1584757ffca999c8826c0bbccf371175d40a7a24c85d3369efd77da5b3b603f WHIRLPOOL e32fef50c8cd8f866e40fb29f90775736cf0ea31c8a3fc4d460cded8b2056bae0c8d847b304c3222d3e5ffc913ca5cc722425e496d35bf41624f9b5ccdf3ead2 diff --git a/dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch b/dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch new file mode 100644 index 000000000000..ae1eade0de2d --- /dev/null +++ b/dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch @@ -0,0 +1,24 @@ +# HG changeset patch +# User Christoph Junghans <junghans@votca.org> +# Date 1407773183 21600 +# Mon Aug 11 10:06:23 2014 -0600 +# Node ID ee313041ba5d7f0706f8140b4e965179e807ef56 +# Parent c66c1be9d40ae69aa61c45572fbe14ef3209378e +Fix usage of LDSHARED + +- LDSHARED contain the linker, too +- was used as it would only contain the options in the latter part +- use split_linker_cmd to throw away the linker cmd +- see https://bugs.gentoo.org/show_bug.cgi?id=514288 + +diff -r c66c1be9d40a -r ee313041ba5d conf/mpidistutils.py +--- a/conf/mpidistutils.py Wed Sep 04 22:40:25 2013 +0300 ++++ b/conf/mpidistutils.py Mon Aug 11 10:06:23 2014 -0600 +@@ -176,6 +176,7 @@ + opt = environ.get('OPT', opt ) + ccshared = environ.get('CCSHARED', ccshared) + ldshared = environ.get('LDSHARED', ldshared) ++ _, ldshared = split_linker_cmd(ldshared) + cflags = ' '.join((basecflags, opt, cflags)) + cxxflags = ' '.join((basecflags, opt, cxxflags)) + cxxflags = cxxflags.replace('-Wstrict-prototypes', '') diff --git a/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch b/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch new file mode 100644 index 000000000000..f92639f5be5f --- /dev/null +++ b/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch @@ -0,0 +1,81 @@ + test/test_win.py | 48 +++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 37 insertions(+), 11 deletions(-) + +diff --git a/test/test_win.py b/test/test_win.py +index 6da5c1f..7127e56 100644 +--- a/test/test_win.py ++++ b/test/test_win.py +@@ -1,6 +1,30 @@ + import sys + from mpi4py import MPI + import mpiunittest as unittest ++try: ++ from sys import getrefcount ++except ImportError: ++ class getrefcount(object): ++ def __init__(self, arg): ++ pass ++ def __eq__(self, other): ++ return True ++ def __add__(self, other): ++ return self ++ def __sub__(self, other): ++ return self ++ ++def memzero(m): ++ n = len(m) ++ if n == 0: return ++ try: ++ zero = '\0'.encode('ascii') ++ m[0] = zero ++ except TypeError: ++ zero = 0 ++ m[0] = zero ++ for i in range(n): ++ m[i] = zero + + class BaseTestWin(object): + +@@ -11,29 +35,31 @@ class BaseTestWin(object): + try: + self.mpi_memory = MPI.Alloc_mem(10) + self.memory = self.mpi_memory +- try: +- zero = bytearray([0]) +- except NameError: +- zero = str('\0') +- self.memory[:] = zero * len(self.memory) ++ memzero(self.memory) + except MPI.Exception: + from array import array + self.mpi_memory = None + self.memory = array('B',[0]*10) +- refcnt = sys.getrefcount(self.memory) ++ refcnt = getrefcount(self.memory) + self.WIN = MPI.Win.Create(self.memory, 1, self.INFO, self.COMM) + if type(self.memory).__name__ == 'buffer': +- self.assertEqual(sys.getrefcount(self.memory), refcnt+1) ++ self.assertEqual(getrefcount(self.memory), refcnt+1) + else: +- self.assertEqual(sys.getrefcount(self.memory), refcnt) ++ if sys.version_info[:3] < (3, 3): ++ self.assertEqual(getrefcount(self.memory), refcnt) ++ else: ++ self.assertEqual(getrefcount(self.memory), refcnt+1) + + def tearDown(self): +- refcnt = sys.getrefcount(self.memory) ++ refcnt = getrefcount(self.memory) + self.WIN.Free() + if type(self.memory).__name__ == 'buffer': +- self.assertEqual(sys.getrefcount(self.memory), refcnt-1) ++ self.assertEqual(getrefcount(self.memory), refcnt-1) + else: +- self.assertEqual(sys.getrefcount(self.memory), refcnt) ++ if sys.version_info[:3] < (3, 3): ++ self.assertEqual(getrefcount(self.memory), refcnt) ++ else: ++ self.assertEqual(getrefcount(self.memory), refcnt-1) + if self.mpi_memory: + MPI.Free_mem(self.mpi_memory) + diff --git a/dev-python/mpi4py/metadata.xml b/dev-python/mpi4py/metadata.xml new file mode 100644 index 000000000000..5bbdad7d34f1 --- /dev/null +++ b/dev-python/mpi4py/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>python</herd> + <longdescription lang="en">MPI for Python (mpi4py) provides bindings of the Message Passing + Interface (MPI) standard for the Python programming language, + allowing any Python program to exploit multiple processors. + This package is constructed on top of the MPI-1/MPI-2 specification + and provides an object oriented interface which closely follows + MPI-2 C++ bindings. It supports point-to-point (sends, receives) and + collective (broadcasts, scatters, gathers) communications of any + picklable Python object as well as optimized communications of + Python object exposing the single-segment buffer interface (NumPy + arrays, builtin bytes/string/array objects). +</longdescription> + <upstream> + <remote-id type="google-code">mpi4py</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-python/mpi4py/mpi4py-1.3.1.ebuild b/dev-python/mpi4py/mpi4py-1.3.1.ebuild new file mode 100644 index 000000000000..635ea933d259 --- /dev/null +++ b/dev-python/mpi4py/mpi4py-1.3.1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit distutils-r1 + +DESCRIPTION="Message Passing Interface for Python" +HOMEPAGE="http://code.google.com/p/mpi4py/ http://pypi.python.org/pypi/mpi4py" +SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux" +IUSE="doc examples test" + +RDEPEND="virtual/mpi" +DEPEND="${RDEPEND} + test? ( dev-python/nose[${PYTHON_USEDEP}] + virtual/mpi[romio] )" +DISTUTILS_IN_SOURCE_BUILD=1 + +PATCHES=( "${FILESDIR}"/${P}-py3-test-backport-1.patch "${FILESDIR}"/${P}-ldshared.patch ) + +python_prepare_all() { + # not needed on install + rm -r docs/source || die + distutils-r1_python_prepare_all +} + +src_compile() { + export FAKEROOTKEY=1 + distutils-r1_src_compile +} + +python_test() { + echo "Beginning test phase" + pushd "${BUILD_DIR}"/../ &> /dev/null + mpiexec -n 2 "${PYTHON}" ./test/runtests.py -v || die "Testsuite failed under ${EPYTHON}" + popd &> /dev/null +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/. ) + use examples && local EXAMPLES=( demo/. ) + distutils-r1_python_install_all +} |