aboutsummaryrefslogtreecommitdiffstats
path: root/community/hdf5/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/hdf5/APKBUILD')
-rw-r--r--community/hdf5/APKBUILD92
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
"