[arch-commits] Commit in hdf5/trunk (PKGBUILD)

Bruno Pagani archange at archlinux.org
Mon Sep 24 15:51:48 UTC 2018


    Date: Monday, September 24, 2018 @ 15:51:48
  Author: archange
Revision: 384632

Work around autotools and CMake differences

Modified:
  hdf5/trunk/PKGBUILD

----------+
 PKGBUILD |   53 ++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 40 insertions(+), 13 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-09-24 15:24:26 UTC (rev 384631)
+++ PKGBUILD	2018-09-24 15:51:48 UTC (rev 384632)
@@ -1,3 +1,4 @@
+# $Id$
 # Maintainer: Ronald van Haren <ronald.archlinux.org>
 # Maintainer: Bruno Pagani <archange at archlinux.org>
 # Contributor: Stefan Husmann <stefan-husmann at t-online.de>
@@ -6,7 +7,7 @@
 
 pkgname=hdf5
 pkgver=1.10.3
-pkgrel=1
+pkgrel=2
 pkgdesc="General purpose library and file format for storing scientific data"
 arch=('x86_64')
 url="https://www.hdfgroup.org/hdf5"
@@ -21,12 +22,9 @@
 md5sums=('56c5039103c51a40e493b43c504ce982')
 sha256sums=('c65cdcce4724a57fd3f8da9f0d109b497be30092acb9fac634d1291190d905a9')
 
-prepare() {
-    mkdir -p build
-}
-
 build() {
-    cd build
+    # Crazy workaround: run CMake to generate pkg-config file
+    mkdir -p build && cd build
     cmake ../${pkgname}-${pkgver/_/-} \
         -DCMAKE_INSTALL_PREFIX=/usr \
         -DBUILD_SHARED_LIBS=ON \
@@ -37,20 +35,49 @@
         -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
         -DHDF5_ENABLE_SZIP_SUPPORT=ON \
         -DHDF5_ENABLE_SZIP_ENCODING=ON
-    cmake --build . --config Release
+    # But don’t build with it, it’s quite broken
+    cd ../${pkgname}-${pkgver/_/-}
+    ./configure \
+        --prefix=/usr \
+        --docdir=/usr/share/doc/hdf5/ \
+        --enable-static \
+        --disable-sharedlib-rpath \
+        --enable-build-mode=production \
+        --enable-hl \
+        --enable-cxx \
+        --enable-fortran \
+        --with-pic \
+        --with-zlib \
+        --with-szlib
+    make
 }
 
 check() {
-    cd build
-    ctest . -C Release
+    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/
+    make check
 }
 
 package() {
-    cd build
+    cd ${pkgname}-${pkgver/_/-}
 
     make DESTDIR="${pkgdir}" install
 
-    install -d "${pkgdir}"/usr/share/licenses/${pkgname}
-    mv "${pkgdir}"/usr/share/COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/
-    rm "${pkgdir}"/usr/share/{RELEASE,USING_HDF5_CMake}.txt
+    # Remove leftover test files
+    rm "${pkgdir}"/usr/include/tst{ds,image,lite,table}{,_tests}.mod
+
+    # Move examples to a proper place
+    install -dm755 "${pkgdir}"/usr/share/doc/${pkgname}
+    mv "${pkgdir}"/usr/share/{hdf5_examples,doc/${pkgname}/examples}
+
+    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/
 }



More information about the arch-commits mailing list