Date: Saturday, October 31, 2020 @ 15:41:14 Author: archange Revision: 737839
upgpkg: python-h5py-openmpi 3.0.0-1 Switch to new way on enabling MPI. Remove upstreamed patches. Modified: python-h5py-openmpi/trunk/PKGBUILD Deleted: python-h5py-openmpi/trunk/h5py-2.10.0-hdf5-v1.12-h5i.patch python-h5py-openmpi/trunk/python-h5py-hd5-1.12.patch ----------------------------------+ PKGBUILD | 41 +++++++++++++++++++------------------ h5py-2.10.0-hdf5-v1.12-h5i.patch | 23 -------------------- python-h5py-hd5-1.12.patch | 37 --------------------------------- 3 files changed, 22 insertions(+), 79 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-10-31 15:39:25 UTC (rev 737838) +++ PKGBUILD 2020-10-31 15:41:14 UTC (rev 737839) @@ -4,51 +4,54 @@ _pkg=h5py _mpi=openmpi pkgname=python-${_pkg}-${_mpi} -pkgver=2.10.0 -pkgrel=2 +pkgver=3.0.0 +pkgrel=1 pkgdesc="General-purpose Python bindings for the HDF5 library (${_mpi} version)" arch=(x86_64) url="https://www.h5py.org/" license=(BSD) -depends=(hdf5-${_mpi} python-numpy python-six python-mpi4py) +depends=(hdf5-${_mpi} liblzf python-numpy python-mpi4py) makedepends=(cython python-pkgconfig) -checkdepends=(inetutils python-pytest) +checkdepends=(inetutils python-pytest python-pytest-mpi python-pytables) conflicts=(python-h5py) provides=(python-h5py) source=(https://files.pythonhosted.org/packages/source/h/${_pkg}/${_pkg}-${pkgver}.tar.gz - python-h5py-hd5-1.12.patch - h5py-2.10.0-hdf5-v1.12-h5i.patch) -sha256sums=('84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d' - '0533a13f65de73ea9b61220cdb367038b441a61ac7468ebcda549a15c47f879b' - 'b8686225d69b3bb103b5153a4783569eec98ca49be136623bcad18d140427e64') + h5py-system-lzf.patch::https://github.com/h5py/h5py/commit/da96e2b8b9f73fc67c128c9b65787b3527be119c.patch + h5py-py3.8-cached_property.patch::https://github.com/h5py/h5py/commit/a87984f0bc2b2596948880d2ec38196017e275fc.patch) +sha256sums=('7d3803be1b530c68c2955faba726dc0f591079b68941a0c0269b5384a42ab519' + '665c15ffc714788749f4e0d731775cb927593fed496097e4abf2174612d9a747' + '4d5cdf7af4ea5d79ec0ac39f178ef55fe6f571efb76a008e553c4b3030730372') validpgpkeys=(AC47F71DB275ECD0B3DA46E857FA4540DD4EFCF7 # Thomas A Caswell (Brookhaven National Lab) <tcasw...@bnl.gov> 96B7334D7610EE3E68AFFE589E027116943D6A8B) # Thomas A Caswell <tcasw...@bnl.gov> (new key) # See https://github.com/h5py/h5py/issues/1299 about lack of GPG sigs for recent releases prepare() { + cd ${_pkg}-${pkgver} # Remove RPATH - sed -i "s/settings\\['runtime_library_dirs'\\] = settings\\['library_dirs'\\]/pass/" ${_pkg}-${pkgver}/setup_build.py - cd ${_pkg}-${pkgver} - patch -p1 -i ../h5py-2.10.0-hdf5-v1.12-h5i.patch - patch -p1 -i ../python-h5py-hd5-1.12.patch + sed -i "s/settings\\['runtime_library_dirs'\\] = settings\\['library_dirs'\\]/pass/" setup_build.py + # Build against system lzf + patch -Np1 -i ../h5py-system-lzf.patch + # cached_property is included in python 3.8 + patch -Np1 -i ../h5py-py3.8-cached_property.patch } build() { export CC=mpicc cd ${_pkg}-${pkgver} - python setup.py configure --mpi - python setup.py build + HDF5_MPI="ON" H5PY_SYSTEM_LZF=1 python setup.py build } check() { cd ${_pkg}-${pkgver} - # Ongoing issues with hdf5 1.12 https://github.com/h5py/h5py/pull/1536 - python setup.py test || warning "Tests failed" +# local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') +# PYTHONPATH="$PWD/build/lib.linux-$CARCH-${python_version}" mpirun -n {env:MPI_N_PROCS:2} python -m pytest --pyargs h5py -rxXs --with-mpi +# PYTHONPATH="$PWD/build/lib.linux-$CARCH-${python_version}" mpirun python -m pytest --pyargs h5py -rxXs --with-mpi + HDF5_MPI="ON" python setup.py test + } package() { cd ${_pkg}-${pkgver} - python setup.py install --root="${pkgdir}" --skip-build --optimize=1 - + HDF5_MPI="ON" python setup.py install --root="${pkgdir}" --skip-build --optimize=1 install -Dm644 licenses/license.txt -t "${pkgdir}"/usr/share/licenses/${pkgname}/ } Deleted: h5py-2.10.0-hdf5-v1.12-h5i.patch =================================================================== --- h5py-2.10.0-hdf5-v1.12-h5i.patch 2020-10-31 15:39:25 UTC (rev 737838) +++ h5py-2.10.0-hdf5-v1.12-h5i.patch 2020-10-31 15:41:14 UTC (rev 737839) @@ -1,23 +0,0 @@ -diff --git a/h5py/api_types_hdf5.pxd b/h5py/api_types_hdf5.pxd -index a282ecc..5bc76fa 100644 ---- a/h5py/api_types_hdf5.pxd -+++ b/h5py/api_types_hdf5.pxd -@@ -297,7 +297,6 @@ cdef extern from "hdf5.h": - H5I_DATASPACE, # group ID for Dataspace objects - H5I_DATASET, # group ID for Dataset objects - H5I_ATTR, # group ID for Attribute objects -- H5I_REFERENCE, # group ID for Reference objects - H5I_VFL, # group ID for virtual file layer - H5I_GENPROP_CLS, # group ID for generic property list classes - H5I_GENPROP_LST, # group ID for generic property lists -diff --git a/h5py/h5i.pyx b/h5py/h5i.pyx -index 9033d50..bb5867c 100644 ---- a/h5py/h5i.pyx -+++ b/h5py/h5i.pyx -@@ -23,6 +23,5 @@ DATASPACE = H5I_DATASPACE - DATASET = H5I_DATASET - ATTR = H5I_ATTR --REFERENCE = H5I_REFERENCE - GENPROP_CLS = H5I_GENPROP_CLS - GENPROP_LST = H5I_GENPROP_LST - DATATYPE = H5I_DATATYPE Deleted: python-h5py-hd5-1.12.patch =================================================================== --- python-h5py-hd5-1.12.patch 2020-10-31 15:39:25 UTC (rev 737838) +++ python-h5py-hd5-1.12.patch 2020-10-31 15:41:14 UTC (rev 737839) @@ -1,37 +0,0 @@ -diff --git a/h5py/_conv.pyx b/h5py/_conv.pyx -index 9bc8f5cf8..93cc6fdf4 100644 ---- a/h5py/_conv.pyx -+++ b/h5py/_conv.pyx -@@ -400,7 +400,7 @@ cdef int conv_regref2pyref(void* ipt, void* opt, void* bkg, void* priv) except - - cdef PyObject* bkg_obj0 - - memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0)); -- memcpy(ref.ref.reg_ref, buf_ref, sizeof(hdset_reg_ref_t)) -+ memcpy(ref.ref.reg_ref.data, buf_ref, sizeof(hdset_reg_ref_t)) - - ref.typecode = H5R_DATASET_REGION - -@@ -430,7 +430,7 @@ cdef int conv_pyref2regref(void* ipt, void* opt, void* bkg, void* priv) except - - if not isinstance(obj, RegionReference): - raise TypeError("Can't convert incompatible object to HDF5 region reference") - ref = <RegionReference>(buf_obj0) -- memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t)) -+ memcpy(buf_ref, ref.ref.reg_ref.data, sizeof(hdset_reg_ref_t)) - else: - memset(buf_ref, c'\0', sizeof(hdset_reg_ref_t)) - -diff --git a/h5py/h5r.pxd b/h5py/h5r.pxd -index 53bbaf496..825b798fa 100644 ---- a/h5py/h5r.pxd -+++ b/h5py/h5r.pxd -@@ -13,7 +13,9 @@ from .defs cimport * - cdef extern from "hdf5.h": - - ctypedef haddr_t hobj_ref_t -- ctypedef unsigned char hdset_reg_ref_t[12] -+ -+cdef struct hdset_reg_ref_t: -+ uint8_t data[12] # sizeof(haddr_t) + 4 == sizeof(signed long long) + 4 - - cdef union ref_u: - hobj_ref_t obj_ref