diff options
author | Georgios Eleftheriou | 2018-10-04 01:03:09 +0200 |
---|---|---|
committer | Georgios Eleftheriou | 2018-10-04 01:03:09 +0200 |
commit | 94ba9a897d2cce512938aad78e560d5b3df62c40 (patch) | |
tree | 377693c0bc86931ec2e84bde2e837cd36dbcc2b6 /PKGBUILD | |
parent | 65a4a165751fe61d0918ca4f4f8d5d2d3479e4a3 (diff) | |
download | aur-94ba9a897d2cce512938aad78e560d5b3df62c40.tar.gz |
safer mpi patch / pkgconfig addition / conflict-provides removal
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 72 |
1 files changed, 52 insertions, 20 deletions
@@ -11,23 +11,23 @@ _pkgname=hdf5 _mpi=mpich pkgname=${_pkgname}-${_mpi} +_prefix=/opt/${pkgname} pkgver=1.10.3 -pkgrel=1 +pkgrel=2 pkgdesc="General purpose library and file format for storing scientific data (${_mpi} version) (full version including its Java Native Interfaces)" arch=('x86_64') url="https://portal.hdfgroup.org/display/support" license=('custom') -depends=('zlib' 'libaec' "${_mpi}") -makedepends=('time' 'gcc-fortran' 'java-environment') -provides=('hdf5' 'hdf5-openmpi' 'hdf5-openmpi-java') -conflicts=('hdf5' 'hdf5-openmpi' 'hdf5-openmpi-java') +depends=('bash' 'libaec' "${_mpi}" 'java-runtime') + makedepends=('cmake' 'time' 'java-environment') +options=('staticlibs') source=("https://support.hdfgroup.org/ftp/HDF5/releases/${_pkgname}-${pkgver:0:4}/${_pkgname}-${pkgver}/src/${_pkgname}-${pkgver}.tar.bz2" 'mpi.patch') md5sums=('56c5039103c51a40e493b43c504ce982' - 'dfa8dd50b8a7ebb3ad7249c627156cf9') + '63b43e3d4a5bbea4bcecc84874e08913') prepare() { - [ ! -d build ] && mkdir -p build + mkdir -p build cd "${_pkgname}-${pkgver}" # FS#33343 @@ -37,15 +37,47 @@ prepare() { build() { cd build + # Crazy workaround: run CMake to generate pkg-config file + RUNPARALLEL="/opt/mpich/bin/mpirun" \ + JAVADOC='javadoc -Xdoclint:none' \ + cmake ../${_pkgname}-${pkgver} \ + -DCMAKE_CXX_COMPILER=/opt/mpich/bin/mpicxx \ + -DCMAKE_C_COMPILER=/opt/mpich/bin/mpicc \ + -DCMAKE_Fortran_COMPILER=/opt/mpich/bin/mpif90 \ + -DCMAKE_C_FLAGS="${CPPFLAGS} ${CFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CPPFLAGS} ${CXXFLAGS}" \ + -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ + -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \ + -DCMAKE_MODULE_LINKER_FLAGS="${LDFLAGS}" \ + -DCMAKE_INSTALL_RPATH="" \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${_prefix}" \ + -DALLOW_UNSUPPORTED=ON \ + -DHDF5_BUILD_HL_LIB=ON \ + -DHDF5_BUILD_CPP_LIB=ON \ + -DHDF5_BUILD_FORTRAN=ON \ + -DHDF5_BUILD_JAVA=ON \ + -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \ + -DHDF5_ENABLE_SZIP_SUPPORT=ON \ + -DHDF5_ENABLE_SZIP_ENCODING=ON \ + -DHDF5_ENABLE_PARALLEL=ON \ + -DBUILD_TESTING=OFF + + # But don’t build with it, it’s quite broken "${srcdir}/${_pkgname}-${pkgver}"/configure \ CXX="/opt/mpich/bin/mpicxx" \ CC="/opt/mpich/bin/mpicc" \ FC="/opt/mpich/bin/mpif90" \ F9X="/opt/mpich/bin/mpif90" \ + MPICH_MPICC_FLAGS="${CFLAGS}" \ + MPICH_MPICXX_FLAGS="${CXXFLAGS}" \ + MPICH_LDFLAGS="${LDFLAGS}" \ RUNPARALLEL="/opt/mpich/bin/mpirun" \ JAVADOC='javadoc -Xdoclint:none' \ - --prefix=/usr \ - --disable-static \ + --prefix="${_prefix}" \ + --docdir="${_prefix}/share/doc/${_pkgname}" \ + --enable-static \ --disable-sharedlib-rpath \ --enable-build-mode=production \ --enable-hl \ @@ -61,21 +93,21 @@ build() { make } -check() { +package() { cd build - # This is a parallel build, there will always be some MPI bugs, - # so skip failures and don't kill the entire packaging process - make check || warning "Some tests failed" -} + make DESTDIR="${pkgdir}" install -package() { - cd build + # Remove leftover test files + rm "${pkgdir}${_prefix}"/include/tst{ds,image,lite,table}{,_tests}.mod - make -j1 DESTDIR="${pkgdir}" install + # Move examples to a proper place + install -dm755 "${pkgdir}${_prefix}/share/doc/${_pkgname}" + mv "${pkgdir}${_prefix}"/share/{hdf5_examples,doc/${_pkgname}/examples} - install -dm755 "${pkgdir}/usr/share/doc/${_pkgname}" - mv "${pkgdir}"/usr/share/{hdf5_examples,doc/${_pkgname}/examples} + install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/COPYING" \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/COPYING" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE" + install -Dm644 CMakeFiles/hdf5{,_hl}{,_cpp}-${pkgver}.pc \ + -t "${pkgdir}${_prefix}"/lib/pkgconfig } |