diff options
Diffstat (limited to 'community/hdf5/APKBUILD')
-rw-r--r-- | community/hdf5/APKBUILD | 92 |
1 files changed, 70 insertions, 22 deletions
diff --git a/community/hdf5/APKBUILD b/community/hdf5/APKBUILD index 1237211c013..8ba01ff5480 100644 --- a/community/hdf5/APKBUILD +++ b/community/hdf5/APKBUILD @@ -10,19 +10,37 @@ # builds, due to inadequate locking. pkgname=hdf5 -pkgver=1.12.1 +pkgver=1.14.3 +_pkgver=${pkgver/_p/-} pkgrel=0 pkgdesc="HDF5 is a data model, library, and file format for storing and managing data" url="https://www.hdfgroup.org/solutions/hdf5/" -arch="all !mips64 !riscv64" # blocked by java-jdk +arch="all" license="custom" -options="!check" # test suite takes a very long time depends_dev="zlib-dev" -makedepends="cmake $depends_dev gfortran java-jdk perl" -subpackages="$pkgname-fortran java-$pkgname:java $pkgname-static $pkgname-doc $pkgname-dev" -source="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${pkgver%.*}/hdf5-$pkgver/src/hdf5-$pkgver.tar.bz2" +makedepends="cmake $depends_dev gfortran libaec-dev perl" +checkdepends="diffutils" +subpackages="$pkgname-tools $pkgname-fortran $pkgname-cpp $pkgname-hl $pkgname-hl-fortran:hl_fortran $pkgname-hl-cpp:hl_cpp $pkgname-static $pkgname-doc $pkgname-dev" +source="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${pkgver%.*}/hdf5-${pkgver%_*}/src/hdf5-$_pkgver.tar.bz2" +builddir=$srcdir/$pkgname-$_pkgver + +# Optional dependency java-jdk is not available on riscv64 +# Tests fail on s390x and x86 +_with_java="" +_enable_java="" +case "$CARCH" in + riscv64 | s390x | x86) ;; + *) + makedepends="$makedepends openjdk8" + subpackages="$subpackages java-$pkgname:java" + _with_java="-DHDF5_BUILD_JAVA=ON -DJAVA_HOME=/usr/lib/jvm/default-jvm" + _enable_java="--enable-java" + ;; +esac # secfixes: +# 1.12.2-r0: +# - CVE-2018-17432 # 1.12.1-r0: # - CVE-2018-11206 # - CVE-2018-13869 @@ -36,8 +54,8 @@ source="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${pkgver%.*}/hdf5-$p prepare() { default_prepare - update_config_sub - update_config_guess + # Don't mess with build flags + sed -e '/-Werror/d' -i configure } build() { @@ -60,30 +78,30 @@ build() { -DHDF5_BUILD_HL_LIB=ON \ -DHDF5_BUILD_CPP_LIB=ON \ -DHDF5_BUILD_FORTRAN=ON \ - -DHDF5_BUILD_JAVA=ON \ - -DJAVA_HOME=/usr/lib/jvm/default-jvm/ \ + $_with_java \ -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \ - -DHDF5_ENABLE_SZIP_SUPPORT=OFF \ - -DHDF5_ENABLE_SZIP_ENCODING=OFF \ + -DHDF5_ENABLE_SZIP_SUPPORT=ON \ + -DHDF5_ENABLE_SZIP_ENCODING=ON \ + -DUSE_LIBAEC=ON \ -DDEFAULT_API_VERSION=v18 \ - ${CMAKE_CROSSOPTS} .. + $CMAKE_CROSSOPTS .. cd $builddir # But don’t build with it, it’s quite broken ./configure \ --prefix=/usr \ --docdir=/usr/share/doc/hdf5/ \ - --with-examplesdir='${prefix}/share/doc/hdf5/examples' \ + --with-examplesdir='/usr/share/doc/hdf5/examples' \ --enable-static \ --disable-sharedlib-rpath \ --enable-build-mode=production \ --enable-hl \ --enable-cxx \ --enable-fortran \ - --enable-java \ + $_enable_java \ --with-pic \ --with-zlib \ - --without-szlib \ + --with-szlib \ --with-default-api-version=v18 make } @@ -105,23 +123,53 @@ package() { install -Dm0644 COPYING "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING # Install pkg-config files from CMake tree - install -Dm644 build/CMakeFiles/hdf5*.pc -t "${pkgdir}"/usr/lib/pkgconfig/ + install -Dm644 build/CMakeFiles/hdf5*.pc -t "$pkgdir"/usr/lib/pkgconfig/ +} + +tools() { + pkgdesc="Runtime tools for HDF5 library" + amove usr/bin/* } fortran() { - pkgdesc="Fortran bindings for HDF5 library" - amove usr/lib/libhdf5*fortran.so.* + pkgdesc="Fortran runtime files for serial platforms for HDF5 library" + amove usr/lib/libhdf5_fortran.so.* +} + +cpp() { + pkgdesc="C++ runtime files for serial platforms for HDF5 library" + amove usr/lib/libhdf5_cpp.so.* +} + +hl() { + pkgdesc="High Level C API runtime files for serial platforms for HDF5 library" + amove usr/lib/libhdf5_hl.so.* +} + +hl_fortran() { + pkgdesc="High Level Fortran runtime files for serial platforms for HDF5 library" + amove usr/lib/libhdf5hl_fortran.so.* +} + +hl_cpp() { + pkgdesc="High Level C++ runtime files for serial platforms for HDF5 library" + amove usr/lib/libhdf5_hl_cpp.so.* } java() { pkgdesc="Java bindings for HDF5 library" mkdir -p "$subpkgdir"/usr/share/java/ mkdir -p "$subpkgdir"/usr/lib/jni/ - mv "$pkgdir"/usr/lib/jarhdf5-$pkgver.jar "$subpkgdir"/usr/share/java/ - ln -s jarhdf5-$pkgver.jar "$subpkgdir"/usr/share/java/jarhdf5.jar + mv "$pkgdir"/usr/lib/jarhdf5-$_pkgver.jar "$subpkgdir"/usr/share/java/ + ln -s jarhdf5-$_pkgver.jar "$subpkgdir"/usr/share/java/jarhdf5.jar mv "$pkgdir"/usr/lib/libhdf5_java.so "$subpkgdir"/usr/lib/jni/ } +dev() { + default_dev + amove usr/lib/libhdf5.settings +} + sha512sums=" -158a067ee284ccb9e2c4db12e9d37cf187d90d9ef1bed7a6303e2c3a2fd216d7b13a46c5f46018b097511281c4246156b6f917633ca88872f10f0ad04be285fd hdf5-1.12.1.tar.bz2 +06d51638a56f387f6d0ef484b72e182509c15ab639315052be9821adeed6ad08551c50d7fe84d2b550b64211f68484cf3022a4660c8004cd0afd90eaa83c1bb1 hdf5-1.14.3.tar.bz2 " |