debian/0000775000000000000000000000000012316536304007173 5ustar debian/README.Debian0000664000000000000000000000032512236534322011233 0ustar ATM (as of 1.3.x series) Debian package follows "bleeding" edge development of MPI4Py, and not its stable bugfix branch (release-1.3). For this purpose .orig.tar.gz are generated directly from the HG repository. debian/source/0000775000000000000000000000000012236534322010472 5ustar debian/source/format0000664000000000000000000000001412236534322011700 0ustar 3.0 (quilt) debian/copyright0000664000000000000000000000365412236534322011135 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0 Upstream-Name: mpi4py Upstream-Contact: Lisandro Dalcin Source: http://mpi4py.scipy.org/ Files: * Copyright: 2008-2011, Lisandro Dalcin License: BSD-2 Files: docs/source/slides/SIAM-CSE-2009-Miami/rst2s5.py Copyright: Chris Liechti License: public-domain Trivial code Files: docs/source/slides/*/pygments_support.py Copyright: 2006-2009, Pygments team License: BSD-2 Files: debian/* Copyright: 2010-2012, Yaroslav Halchenko 2012 Bradley M. Froehle License: BSD-2 License: BSD-2 All rights reserved. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. debian/python3-mpi4py.install0000664000000000000000000000003612236534322013405 0ustar usr/lib/python3*/*-packages/* debian/changelog0000664000000000000000000001063512316536304011052 0ustar mpi4py (1.3.1+hg20131106-1build3) trusty; urgency=medium * No change rebuild to drop python3.3 compiled extension. -- Dimitri John Ledkov Tue, 01 Apr 2014 14:19:00 +0100 mpi4py (1.3.1+hg20131106-1build2) trusty; urgency=medium * Rebuild for python3.4 as a supported python version. -- Matthias Klose Sat, 04 Jan 2014 19:32:04 +0000 mpi4py (1.3.1+hg20131106-1build1) trusty; urgency=medium * No-change rebuild for libopenmpi1.3 -> libopenmpi1.6 transition. -- Logan Rosen Sun, 15 Dec 2013 14:23:16 -0500 mpi4py (1.3.1+hg20131106-1) unstable; urgency=low * Fresh upstream snapshot which includes 1.3.1 stable release * debian/rules: - get-orig-dev-source to generate snapshot tarballs out from HG * debian/rules,control: - use dh_autoreconf and rebuild Cython extensions if cython is newer than 0.19.1 - use dh_sphinxdoc (build-depends version for sphinx boosted to 1.0.7+dfsg~) and remove manual symlinking of jquery.js (Closes: #725601) * debian/control - boost policy to 3.9.4 -- Yaroslav Halchenko Wed, 06 Nov 2013 13:22:56 -0500 mpi4py (1.3+hg20130509-1) unstable; urgency=low * Fresh upstream snapshot: - fixes Cython 0.19 compatibility (Closes: #707314) - incorporates patches cython_version_check.patch, up_test_win_python3.3.patch) -- Yaroslav Halchenko Thu, 09 May 2013 12:33:57 -0400 mpi4py (1.3+hg20120611-3) unstable; urgency=medium * Create a suffixed (e.g. python3.2mu) python3 directory matching the one present on the system for the given version of python3 (Closes: #700995) -- Yaroslav Halchenko Wed, 20 Feb 2013 14:51:54 -0500 mpi4py (1.3+hg20120611-2) unstable; urgency=low * Cherry-picked patch from upstream for python3.3 compatibility (failing unittests) (Closes: #691244) -- Yaroslav Halchenko Tue, 23 Oct 2012 10:23:29 -0400 mpi4py (1.3+hg20120611-1) unstable; urgency=low [ Bradley M. Froehle ] * New snapshot from the upstream's release-1.3 branch in HG, revision 4f6ac1ea8b9d. Includes post-release bugfixes for kFreeBSD, pickling etc. -- Yaroslav Halchenko Mon, 11 Jun 2012 21:47:41 -0400 mpi4py (1.3-1) unstable; urgency=low [ Bradley M. Froehle ] * New upstream release (Closes: #675520) * Import "Safer Cython version check" from upstream to allow building against pre-release versions of Cython * Fix FTBFS issues on some platforms where the default MPI implementation is not OpenMPI * python-mpi executables are not packaged; they are not required by OpenMPI or MPICH2 [ Yaroslav Halchenko ] * Boosted mpi-default-bin into Depends from Recommends since according to tireless Bradley otherwise it is useless (Closes: #670768) -- Yaroslav Halchenko Wed, 06 Jun 2012 16:15:51 -0400 mpi4py (1.2.2-4) unstable; urgency=low [ Bradley M. Froehle ] * Build using dh_python2 * Add package for Python 3 (Closes: #673911) [ Yaroslav Halchenko ] * Guard all for loops with 'set -e' to guarantee failure if any iteration fails * up_no_modlibs patch to exclude seems unneeded linking against MODLIBS which carry unnecessary -lffi on recent debian systems preventing correct build * debian/copyright: adjusted for dep5 and list Bradley * Boosted policy to 3.9.3 -- no further changes -- Yaroslav Halchenko Tue, 22 May 2012 13:24:18 -0400 mpi4py (1.2.2-3) unstable; urgency=low [ Bradley M. Froehle ] * Symbolic link /usr/include/mpi4py -> /usr/share/pyshared/mpi4py/include/mpi4py (Closes: #650329) [ Yaroslav Halchenko ] * Boosted policy to 3.9.2 -- no changes * Adjusted gbp.conf to do overlay build * Ajudsted debian/copyright to comply with changes in DEP5 * Added python-support to build-depends (Closes: #642451) * pyshared -> pymodules for -dbg package -- Yaroslav Halchenko Mon, 28 Nov 2011 17:09:46 -0500 mpi4py (1.2.2-2) unstable; urgency=low * Use mpi-default-{dev,bin} as *Depends to allow building on platforms without openmpi implementation available -- Yaroslav Halchenko Thu, 07 Apr 2011 09:26:13 -0400 mpi4py (1.2.2-1) unstable; urgency=low * Initial release (Closes: #604161) -- Yaroslav Halchenko Wed, 06 Apr 2011 15:09:51 -0400 debian/gbp.conf0000664000000000000000000000045512236534322010615 0ustar [DEFAULT] # the default branch for upstream sources: upstream-branch = upstream # the default branch for the debian patch: debian-branch = master # the default tag formats used: upstream-tag = upstream/%(version)s debian-tag = debian/%(version)s pristine-tar = True [git-buildpackage] overlay = True debian/control0000664000000000000000000001212112316536304010573 0ustar Source: mpi4py Section: python Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: NeuroDebian Team Uploaders: Yaroslav Halchenko , Michael Hanke Build-Depends: debhelper (>= 7.0.50~), dh-autoreconf, mpi-default-dev, mpi-default-bin, rsh-client | openssh-client, python-all-dev (>= 2.6.6-3~), python-numpy, python-sphinx (>= 1.0.7+dfsg~), python-nose, cython, python3-all-dev, python3-numpy, python3-nose, Standards-Version: 3.9.4 Homepage: http://code.google.com/p/mpi4py/ Vcs-Git: git://git.debian.org/git/pkg-exppsy/mpi4py.git Vcs-Browser: http://git.debian.org/?p=pkg-exppsy/mpi4py.git Package: python-mpi4py Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, mpi-default-bin Suggests: python-numpy Description: bindings of the Message Passing Interface (MPI) standard 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. . mpi4py 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). Package: python-mpi4py-dbg Section: debug Architecture: any Depends: ${misc:Depends}, python-mpi4py (= ${binary:Version}) Description: bindings of the MPI standard -- debug symbols 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. . mpi4py 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). . This package provides debug symbols. Package: python3-mpi4py Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends} Recommends: mpi-default-bin Suggests: python3-numpy Description: bindings of the Message Passing Interface (MPI) standard 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. . mpi4py 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). Package: python3-mpi4py-dbg Section: debug Architecture: any Depends: ${misc:Depends}, python3-mpi4py (= ${binary:Version}) Description: bindings of the MPI standard -- debug symbols 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. . mpi4py 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). . This package provides debug symbols. Package: python-mpi4py-doc Section: doc Architecture: all Depends: ${misc:Depends}, ${sphinxdoc:Depends} Suggests: python-mpi4py Description: bindings of the MPI standard -- documentation 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. . mpi4py 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). . This package provides HTML rendering of the user's manual. debian/python-mpi4py-doc.doc-base0000664000000000000000000000062012236534322014073 0ustar Document: mpi4py Title: MPI for Python (mpi4py) User Manual Author: Lisandro Dalcin Abstract: This user manual describes the MPI for Python package, its design and interface overview, generic installation instructions, and a tutorial. Section: Programming Format: HTML Index: /usr/share/doc/python-mpi4py-doc/html/index.html Files: /usr/share/doc/python-mpi4py-doc/html/*.html debian/python-mpi4py.links0000664000000000000000000000007412236534322012776 0ustar usr/share/pyshared/mpi4py/include/mpi4py usr/include/mpi4py debian/rules0000775000000000000000000001001212236534322010244 0ustar #!/usr/bin/make -f # -*- makefile -*- PY2 = $(shell pyversions -vd) PY2VERS = $(shell pyversions -vr) PY3VERS = $(shell py3versions -vr) CYTHON_VER := $(shell dpkg -l cython 2>/dev/null | awk '/^ii/{print $$3;}' || echo 0) RECONF = $(shell dpkg --compare-versions $(CYTHON_VER) ge 0.19.1 && echo ",autoreconf" || echo "") # Specify a specific version of MPI to use in the build, otherwise # just use the default. # MPI=.openmpi %: dh $@ --with python2,python3$(RECONF),sphinxdoc --buildsystem python_distutils cythonize: @echo "D: removing previously generated by Cython sources" find -iname *.c | xargs grep -l 'Generated by Cython' | xargs -r rm python setup.py build_src override_dh_autoreconf: dh_autoreconf debian/rules -- cythonize # Enforce distutils build system to build for all supported versions # then build documentation override_dh_auto_build: dh_auto_build $@ -- \ --mpicc=/usr/bin/mpicc$(MPI) --mpicxx=/usr/bin/mpicxx$(MPI) : # Build for Python 3 set -e; for v in $(PY3VERS); do \ python$$v setup.py build \ --mpicc=/usr/bin/mpicc$(MPI) --mpicxx=/usr/bin/mpicxx$(MPI); \ done : # Build documentation now PYTHONPATH=`/bin/ls -d $(CURDIR)/build/lib.*$(PY2)` \ make -C docs/source/usrman/ html override_dh_auto_install: dh_auto_install : # Install for Python 3 set -e; for v in $(PY3VERS); do \ python$$v setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb; \ done : # Remove python-mpi binaries find $(CURDIR)/debian/tmp -name python-mpi -delete find $(CURDIR)/debian/tmp -type d -empty -delete override_dh_install: dh_install : # create symlinks for .h files set -e; for v in $(PY2VERS); do \ [ -d $(CURDIR)/debian/python-mpi4py/usr/include/python$$v ] || \ mkdir -p $(CURDIR)/debian/python-mpi4py/usr/include/python$$v; \ dh_link usr/lib/python$$v/dist-packages/mpi4py/include/mpi4py usr/include/python$$v/mpi4py; \ done : # Python 3 : # Can have python$$v symlink pointing to python3.?m or python3.?mu : # see #700995 for more details. So first look where it points to : # and use that directory set -e; for v in $(PY3VERS); do \ [ -d $(CURDIR)/debian/python3-mpi4py/usr/include/python$$v ] || \ pythonv_inc_dir=$$(readlink -f /usr/include/python$$v); \ mkdir -p $(CURDIR)/debian/python3-mpi4py$$pythonv_inc_dir; \ dh_link -ppython3-mpi4py usr/lib/python3/dist-packages/mpi4py/include/mpi4py $${pythonv_inc_dir#/}/mpi4py; \ done : # share -dbg and normal package doc dirs rm -rf debian/python-mpi4py-dbg/usr/share/doc/python-mpi4py-dbg dh_link -ppython-mpi4py-dbg usr/share/doc/python-mpi4py usr/share/doc/python-mpi4py-dbg rm -rf debian/python3-mpi4py-dbg/usr/share/doc/python3-mpi4py-dbg dh_link -ppython3-mpi4py-dbg usr/share/doc/python3-mpi4py usr/share/doc/python3-mpi4py-dbg override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) set -e; for v in $(PY2VERS) $(PY3VERS); do \ echo "I: testing using python$$v"; \ PYTHONPATH=`/bin/ls -d $(CURDIR)/build/lib.*-$$v` \ /usr/bin/python$$v /usr/bin/nosetests -v --exclude='testPackUnpackExternal'; \ done else : # Skip unittests due to nocheck endif override_dh_sphinxdoc: ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS))) dh_sphinxdoc -ppython-mpi4py-doc endif override_dh_strip: dh_strip -ppython-mpi4py --dbg-package=python-mpi4py-dbg dh_strip -ppython3-mpi4py --dbg-package=python3-mpi4py-dbg override_dh_installchangelogs: dh_installchangelogs HISTORY.txt ## Immediately useable documentation override_dh_compress: dh_compress -X.py -X.html -X.css -X.jpg -X.txt -X.js -X.json -X.rtc -X.par -X.bin -Xobjects.inv override_dh_auto_clean: dh_auto_clean $@ rm -rf `find -name build -type d` rm -rf `find -name _build -type d` : # Remove Cython generated files rm -f src/mpi4py.MPE.c src/mpi4py.MPI.c src/include/mpi4py/mpi4py.MPI_api.h get-orig-dev-source: cd ../mpi4py-hg/; \ uver=`sed -ne "/__version__/s,.*= *'\(.*\)' *$$,\1,gp" src/__init__.py`; \ tarball=../tarballs/mpi4py_$$uver+hg`date +"20%y%m%d"`.orig.tar.gz; \ echo "I: Generating $$tarball"; \ hg archive --exclude 'misc' -t tgz $$tarball; debian/watch0000664000000000000000000000022312236534322010220 0ustar version=3 opts="versionmangle=s/-//,dversionmangle=s/.dfsg$//" \ http://code.google.com/p/mpi4py/downloads/list \ .*/mpi4py-([\d\.]*)\.tar\.gz debian/blends0000664000000000000000000000025412236534322010365 0ustar Source: mpi4py Format: extended Tasks: debian-science/distributedcomputing Suggests: python-mpi4py Pkg-URL: http://neuro.debian.net/pkgs/%(Pkg-Name)s.html Language: Python debian/python-mpi4py.install0000664000000000000000000000003612236534322013322 0ustar usr/lib/python2*/*-packages/* debian/patches/0000775000000000000000000000000012236534322010621 5ustar debian/patches/up_no_modlibs0000664000000000000000000000136712236534322013404 0ustar From: Yaroslav Halchenko Subject: Somewhat blind patch: removing 'MODLIBS' from link_args for exec's As Jakub guessed it seems to help to resolve not only -lffi issues with broken python3.2 pkg in debian sid, but with other build problems as well Needs more verification if this is a safe thing to do ;) Origin: Debian Last-Update: 2012-06-01 --- a/setup.py +++ b/setup.py @@ -329,7 +329,7 @@ def configure_pyexe(exe, config_cmd): for var in ('LIBDIR', 'LIBPL'): library_dirs += split_quoted(cfg_vars.get(var, '')) for var in ('LDFLAGS', - 'LIBS', 'MODLIBS', 'SYSLIBS', + 'LIBS', 'SYSLIBS', 'LDLAST'): link_args += split_quoted(cfg_vars.get(var, '')) debian/patches/series0000664000000000000000000000001612236534322012033 0ustar up_no_modlibs debian/docs0000664000000000000000000000002612236534322010043 0ustar README.txt THANKS.txt debian/compat0000664000000000000000000000000212236534322010370 0ustar 7 debian/python-mpi4py-doc.docs0000664000000000000000000000003712236534322013350 0ustar docs/source/usrman/_build/html debian/TODO0000664000000000000000000000456212236534322007671 0ustar * TESTS ** Failed initially dh_auto_test make -j1 test make[1]: Entering directory `/home/yoh/deb/gits/pkg-exppsy/mpi4py' python /home/yoh/deb/gits/pkg-exppsy/mpi4py/test/runalltest.py < /dev/null ... Running test_environ ..........-------------------------------------------------------------------------- mpiexec was unable to launch the specified application as it could not find an executable: Executable: -pmi_args Node: novo while attempting to start process rank 0. is due to univsz = MPI.COMM_WORLD.Get_attr(MPI.UNIVERSE_SIZE) in testUniverseSize That all was with mpich, building/running with openmpi does not fail on those ** DONE UPSTREAM: exit runalltest.py with non-0 exit code -- using nose and next release will do CLOSED: [2011-04-06 Wed 15:04] ** DONE Failed unittests (on current trunk and release 1.2.2): -- skipped upon upstream recommendation -- need more recent openmpi CLOSED: [2011-04-06 Wed 15:04] ====================================================================== FAIL: testFreePredefined (test_exceptions.TestExcDatatype) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/yoh/deb/gits/pkg-exppsy/mpi4py/test/test_exceptions.py", line 36, in testFreePredefined self.assertRaisesMPI(self.ERR_TYPE, dtype.Free) File "/home/yoh/deb/gits/pkg-exppsy/mpi4py/test/mpiunittest.py", line 30, in assertRaisesMPI IErrClassName, IErrClass,) AssertionError: generated error class is 'ERR_TYPE' (3), but expected 'ERR_INTERN' (17) ====================================================================== FAIL: testPackUnpackExternal (test_pack.TestPackExternal) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/yoh/deb/gits/pkg-exppsy/mpi4py/test/test_pack.py", line 95, in testPackUnpackExternal self.assertTrue(equal(iarray2, oarray2)) AssertionError * Building ** Doesn't build-depends on Cython atm as recommended by upstream (also Cython upstream) rebuilt ones (upstream generated with cython 0.13) would be src/include/mpi4py/mpi4py.MPI.h | 34 +- src/include/mpi4py/mpi4py.MPI_api.h | 6 +- src/mpi4py.MPE.c | 1075 ++- src/mpi4py.MPI.c |16900 +++++++++++++++++++---------------- * Documentation ** Upstream: *** "mod:pickle/cPickle modules" doesn't render nicely ;)