[arch-commits] Commit in hdf5-openmpi/repos (3 files)
Bruno Pagani
archange at archlinux.org
Sat Apr 11 00:29:46 UTC 2020
Date: Saturday, April 11, 2020 @ 00:29:45
Author: archange
Revision: 613201
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 613200, hdf5-openmpi/trunk/PKGBUILD)
hdf5-openmpi/repos/community-staging-x86_64/mpi.patch
(from rev 613200, hdf5-openmpi/trunk/mpi.patch)
-----------+
PKGBUILD | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mpi.patch | 18 +++++++++++
2 files changed, 111 insertions(+)
Copied: hdf5-openmpi/repos/community-staging-x86_64/PKGBUILD (from rev 613200, hdf5-openmpi/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2020-04-11 00:29:45 UTC (rev 613201)
@@ -0,0 +1,93 @@
+# 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.12.0
+pkgrel=1
+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 ${_mpi})
+makedepends=(cmake time gcc-fortran)
+provides=(hdf5 hdf5-cpp-fortran hdf5-fortran-${_mpi})
+conflicts=(hdf5)
+replaces=(hdf5-fortran-${_mpi})
+options=(staticlibs)
+source=("https://support.hdfgroup.org/ftp/HDF5/releases/${_pkgname}-${pkgver:0:4}/${_pkgname}-${pkgver/_/-}/src/${_pkgname}-${pkgver/_/-}.tar.bz2")
+sha256sums=('97906268640a6e9ce0cde703d5a71c9ac3092eded729591279bf2e3ca9765f61')
+
+build() {
+ # Crazy workaround: run CMake to generate pkg-config file
+ mkdir -p build && cd build
+ CXX="mpicxx" \
+ CC="mpicc" \
+ FC="mpif90" \
+ F9X="mpif90" \
+ RUNPARALLEL="mpirun" \
+ OMPI_MCA_disable_memory_allocator=1 \
+ cmake ../${_pkgname}-${pkgver/_/-} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DALLOW_UNSUPPORTED=ON \
+ -DHDF5_BUILD_HL_LIB=ON \
+ -DHDF5_BUILD_CPP_LIB=ON \
+ -DHDF5_BUILD_FORTRAN=ON \
+ -DHDF5_ENABLE_PARALLEL=ON \
+ -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
+ -DHDF5_ENABLE_SZIP_SUPPORT=ON \
+ -DHDF5_ENABLE_SZIP_ENCODING=ON
+ # But don’t build with it, it’s quite broken
+ 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/ \
+ --with-examplesdir='${DESTDIR}/${prefix}/share/doc/hdf5/examples' \
+ --enable-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 -Dm644 COPYING -t "${pkgdir}"/usr/share/licenses/${_pkgname}
+ # Install pkg-config files from CMake tree
+ install -Dm644 ../build/CMakeFiles/hdf5{,_hl}{,_cpp}-${pkgver}.pc -t "${pkgdir}"/usr/lib/pkgconfig/
+}
Copied: hdf5-openmpi/repos/community-staging-x86_64/mpi.patch (from rev 613200, hdf5-openmpi/trunk/mpi.patch)
===================================================================
--- community-staging-x86_64/mpi.patch (rev 0)
+++ community-staging-x86_64/mpi.patch 2020-04-11 00:29:45 UTC (rev 613201)
@@ -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