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

Bruno Pagani archange at gemini.archlinux.org
Wed Jul 21 17:48:37 UTC 2021


    Date: Wednesday, July 21, 2021 @ 17:48:37
  Author: archange
Revision: 982506

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 982505, hdf5-openmpi/trunk/PKGBUILD)

----------+
 PKGBUILD |   96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

Copied: hdf5-openmpi/repos/community-staging-x86_64/PKGBUILD (from rev 982505, hdf5-openmpi/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2021-07-21 17:48:37 UTC (rev 982506)
@@ -0,0 +1,96 @@
+# 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.1
+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 java-environment)
+provides=(hdf5 hdf5-${_mpi}-java)
+conflicts=(hdf5 hdf5-${_mpi}-java)
+replaces=(hdf5-${_mpi}-java)
+source=(https://support.hdfgroup.org/ftp/HDF5/releases/${_pkgname}-${pkgver:0:4}/${_pkgname}-${pkgver/_/-}/src/${_pkgname}-${pkgver/_/-}.tar.bz2)
+sha256sums=('aaf9f532b3eda83d3d3adc9f8b40a9b763152218fa45349c3bc77502ca1f8f1c')
+
+build() {
+    # Crazy workaround: run CMake to generate pkg-config file
+    #cmake -B build -S ${pkgname}-${pkgver/_/-} \
+    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_STATIC_LIBS=OFF \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DALLOW_UNSUPPORTED=ON \
+        -DHDF5_BUILD_HL_LIB=ON \
+        -DHDF5_BUILD_CPP_LIB=ON \
+        -DHDF5_BUILD_FORTRAN=ON \
+        -DHDF5_BUILD_JAVA=ON \
+        -DHDF5_ENABLE_PARALLEL=ON \
+        -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
+        -DHDF5_ENABLE_SZIP_SUPPORT=ON \
+        -DHDF5_ENABLE_SZIP_ENCODING=ON \
+        -DUSE_LIBAEC=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=/usr/share/doc/hdf5/examples/ \
+        --disable-static \
+        --disable-sharedlib-rpath \
+        --enable-build-mode=production \
+        --enable-hl \
+        --enable-cxx \
+        --enable-fortran \
+        --enable-java \
+        --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 || echo "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,_fortran}.pc -t "${pkgdir}"/usr/lib/pkgconfig/
+}




More information about the arch-commits mailing list