[arch-commits] Commit in hdf5-openmpi/repos (3 files)

Bruno Pagani archange at archlinux.org
Wed May 23 14:56:09 UTC 2018


    Date: Wednesday, May 23, 2018 @ 14:56:08
  Author: archange
Revision: 328322

archrelease: copy trunk to community-staging-x86_64

Added:
  hdf5-openmpi/repos/community-staging-x86_64/
  hdf5-openmpi/repos/community-staging-x86_64/PKGBUILD
    (from rev 328321, hdf5-openmpi/trunk/PKGBUILD)
  hdf5-openmpi/repos/community-staging-x86_64/mpi.patch
    (from rev 328321, hdf5-openmpi/trunk/mpi.patch)

-----------+
 PKGBUILD  |   87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 mpi.patch |   18 ++++++++++++
 2 files changed, 105 insertions(+)

Copied: hdf5-openmpi/repos/community-staging-x86_64/PKGBUILD (from rev 328321, hdf5-openmpi/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2018-05-23 14:56:08 UTC (rev 328322)
@@ -0,0 +1,87 @@
+# $Id$
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
+# Contributor: damir <damir at archlinux.org>
+# Contributor: Tom K <tomk at runbox.com>
+# Contributor: Jed Brown <jed at 59A2.org>
+# Contributor: Simone Pezzuto <junki.gnu at gmail.com>
+
+_pkgname=hdf5
+_mpi=openmpi
+pkgname=${_pkgname}-${_mpi}
+pkgver=1.10.2
+pkgrel=2
+pkgdesc="General purpose library and file format for storing scientific data (${_mpi} version)"
+arch=('x86_64')
+url="https://www.hdfgroup.org/HDF5/"
+license=('custom')
+depends=('zlib' 'libaec' 'bash' 'openmpi')
+makedepends=('time' 'gcc-fortran')
+provides=('hdf5' 'hdf5-cpp-fortran' "hdf5-fortran-${_mpi}")
+conflicts=('hdf5')
+replaces=("hdf5-fortran-${_mpi}")
+source=("https://support.hdfgroup.org/ftp/HDF5/releases/${_pkgname}-${pkgver:0:4}/${_pkgname}-${pkgver/_/-}/src/${_pkgname}-${pkgver/_/-}.tar.bz2"
+        'mpi.patch')
+md5sums=('41fb9347801b546fba323523a1c1af51'
+         'dfa8dd50b8a7ebb3ad7249c627156cf9')
+sha256sums=('1cad5b7bfdf128dfc53cd16fba48f6e7ae4e93c75c371d9ec8dfc4df0c1fcb71'
+            '603006358175b7a8b35fa44c484cddf45c0381cf50db4fb7c50ea5969d361eca')
+
+prepare() {
+    cd ${_pkgname}-${pkgver/_/-}
+    # Fix building with GCC 8.1
+    sed 's/\(.*\)(void) HDF_NO_UBSAN/HDF_NO_UBSAN \1(void)/' -i src/H5detect.c
+
+    # FS#33343
+    patch -p1 -i ../mpi.patch
+}
+
+build() {
+    cd ${_pkgname}-${pkgver/_/-}
+    ./configure \
+        CXX="mpicxx" \
+        CC="mpicc" \
+        FC="mpif90" \
+        F9X="mpif90" \
+        RUNPARALLEL="mpirun" \
+        OMPI_MCA_disable_memory_allocator=1 \
+        --prefix=/usr \
+        --docdir=/usr/share/doc/hdf5/ \
+        --disable-static \
+        --disable-sharedlib-rpath \
+        --enable-build-mode=production \
+        --enable-hl \
+        --enable-cxx \
+        --enable-fortran \
+        --enable-parallel \
+        --enable-unsupported \
+        --with-pic \
+        --with-zlib \
+        --with-szlib
+    make
+}
+
+check() {
+    cd ${_pkgname}-${pkgver/_/-}
+    # Without this, checks are failing with messages like “error while loading shared libraries: libhdf5.so.101: cannot open shared object file: No such file or directory”
+    export LD_LIBRARY_PATH="${srcdir}"/${pkgname}-${pkgver/_/-}/src/.libs/
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/c++/src/.libs/
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/fortran/src/.libs/
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/src/.libs/
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/c++/src/.libs/
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/fortran/src/.libs/
+    # This is a parallel build, they are always OpenMPI bugs
+    make check || warning "Tests failed"
+}
+
+package() {
+    cd ${_pkgname}-${pkgver/_/-}
+
+    make DESTDIR="${pkgdir}" install
+
+    install -dm755 "${pkgdir}"/usr/share/doc/${_pkgname}
+    mv "${pkgdir}"/usr/share/{hdf5_examples,doc/${_pkgname}/examples}
+
+    install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${_pkgname}/LICENSE
+}

Copied: hdf5-openmpi/repos/community-staging-x86_64/mpi.patch (from rev 328321, hdf5-openmpi/trunk/mpi.patch)
===================================================================
--- community-staging-x86_64/mpi.patch	                        (rev 0)
+++ community-staging-x86_64/mpi.patch	2018-05-23 14:56:08 UTC (rev 328322)
@@ -0,0 +1,18 @@
+Prevent accidental inclusion of mpi c++ headers 
+when hdf5.h is included third party library
+
+https://bugs.gentoo.org/show_bug.cgi?id=420777
+https://bugs.archlinux.org/task/33343
+
+--- a/src/H5public.h
++++ b/src/H5public.h
+@@ -58,6 +58,8 @@
+ #   include <stddef.h>
+ #endif
+ #ifdef H5_HAVE_PARALLEL
++#   define OMPI_SKIP_MPICXX   /* Make sure that cxx specific headers are not included */
++#   define MPICH_SKIP_MPICXX
+ #   include <mpi.h>
+ #ifndef MPI_FILE_NULL		/*MPIO may be defined in mpi.h already       */
+ #   include <mpio.h>
+



More information about the arch-commits mailing list