aboutsummaryrefslogtreecommitdiffstats
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/hdf5/APKBUILD78
1 files changed, 78 insertions, 0 deletions
diff --git a/community/hdf5/APKBUILD b/community/hdf5/APKBUILD
new file mode 100644
index 00000000000..b5865f2fbf1
--- /dev/null
+++ b/community/hdf5/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
+#
+# HDF5 depends on zlib and provides a C interface by default.
+# Optionally, it can be built with szip (which has limitations on
+# commercial use and thus is non-free), MPI, and C++ and Fortran bindings.
+# C++ and Fortran bindings may not be thread-safe:
+# building either and passing --enable-threadsafe is unsupported.
+# Additionally, the 'high-level' bindings are incompatible with threadsafe
+# builds, due to inadequate locking.
+
+pkgname=hdf5
+pkgver=1.10.6
+pkgrel=1
+pkgdesc="HDF5 is a data model, library, and file format for storing and managing data"
+url="https://www.hdfgroup.org/solutions/hdf5/"
+arch="all"
+license="custom"
+options="!check" # test suite takes a very long time
+depends_dev="zlib-dev"
+makedepends="cmake $depends_dev perl"
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
+source="http://www.hdfgroup.org/ftp/HDF5/current18/src/hdf5-$pkgver.tar.bz2"
+source="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${pkgver%.*}/hdf5-$pkgver/src/hdf5-$pkgver.tar.bz2"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+
+ # Crazy workaround: run CMake to generate pkg-config file
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DHDF5_BUILD_HL_LIB=ON \
+ -DHDF5_BUILD_CPP_LIB=ON \
+ -DHDF5_BUILD_FORTRAN=OFF \
+ -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
+ -DHDF5_ENABLE_SZIP_SUPPORT=OFF \
+ -DHDF5_ENABLE_SZIP_ENCODING=OFF \
+ ${CMAKE_CROSSOPTS} .
+
+ # But don’t build with it, it’s quite broken
+ ./configure \
+ --prefix=/usr \
+ --docdir=/usr/share/doc/hdf5/ \
+ --enable-static \
+ --disable-sharedlib-rpath \
+ --enable-build-mode=production \
+ --enable-hl \
+ --enable-cxx \
+ --disable-fortran \
+ --with-pic \
+ --with-zlib \
+ --without-szlib
+ make
+}
+
+check() {
+ 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() {
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 COPYING "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING
+
+}
+
+sha512sums="821392718605e3f7a287d4729d022a55fd7b91ddaa2e9a3f35ab8fce3d3d4871a0cc88215be3052887cbac3615cc8953569c7f131217962103c98151c0ab58d4 hdf5-1.10.6.tar.bz2"