[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