2022-04-21 19:47:01 +00:00
|
|
|
package:
|
|
|
|
name: libhdf5
|
2022-06-10 15:13:36 +00:00
|
|
|
version: 1.12.1
|
2022-04-21 19:47:01 +00:00
|
|
|
|
|
|
|
source:
|
2022-06-10 15:13:36 +00:00
|
|
|
sha256: e6dde173c2d243551922d23a0387a79961205b018502e6a742acb30b61bc2d5f
|
|
|
|
url: https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_12_1.tar.gz
|
2022-09-13 07:17:52 +00:00
|
|
|
patches:
|
|
|
|
- patches/0001-Hardcode-float-precision.patch
|
2022-04-21 19:47:01 +00:00
|
|
|
|
|
|
|
requirements:
|
2022-08-22 04:35:27 +00:00
|
|
|
host:
|
2022-04-21 19:47:01 +00:00
|
|
|
- zlib
|
|
|
|
|
|
|
|
build:
|
2022-09-13 07:17:52 +00:00
|
|
|
sharedlibrary: true
|
2022-04-21 19:47:01 +00:00
|
|
|
script: |
|
2022-09-13 07:17:52 +00:00
|
|
|
mkdir -p dist
|
|
|
|
export DISTDIR=$(pwd)/dist
|
|
|
|
|
2022-04-21 19:47:01 +00:00
|
|
|
mkdir -p build;
|
2022-09-13 07:17:52 +00:00
|
|
|
|
2022-04-21 19:47:01 +00:00
|
|
|
cd build \
|
2022-09-13 07:17:52 +00:00
|
|
|
&& emcmake cmake \
|
2022-05-18 04:14:16 +00:00
|
|
|
-DCMAKE_INSTALL_PREFIX=${WASM_LIBRARY_DIR} \
|
2022-04-21 19:47:01 +00:00
|
|
|
-DH5_HAVE_GETPWUID=0 \
|
|
|
|
-DH5_HAVE_SIGNAL=0 \
|
2022-09-13 07:17:52 +00:00
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
-DBUILD_SHARED_LIBS=1 \
|
|
|
|
-DBUILD_STATIC_LIBS=0 \
|
|
|
|
-DONLY_SHARED_LIBS=1 \
|
2022-04-21 19:47:01 +00:00
|
|
|
-DBUILD_TESTING=0 \
|
2022-09-13 07:17:52 +00:00
|
|
|
-DCMAKE_C_FLAGS="-fPIC -Wno-incompatible-pointer-types-discards-qualifiers" \
|
|
|
|
-DCMAKE_CXX_FLAGS="-fPIC -Wno-incompatible-pointer-types-discards-qualifiers" \
|
|
|
|
-DCMAKE_SHARED_LINKER_FLAGS="${SIDE_MODULE_LDFLAGS} -s NODERAWFS=1 -sFORCE_FILESYSTEM=1" \
|
2022-04-21 19:47:01 +00:00
|
|
|
-DHDF5_BUILD_EXAMPLES=0 \
|
|
|
|
-DHDF5_BUILD_TOOLS=0 \
|
|
|
|
-DHDF5_BUILD_UTILS=0 \
|
|
|
|
-DHDF5_ENABLE_Z_LIB_SUPPORT=1 \
|
2022-09-13 07:17:52 +00:00
|
|
|
-DHDF5_ENABLE_ROS3_VFD=0 \
|
|
|
|
-DZLIB_INCLUDE_DIR=${WASM_LIBRARY_DIR}/include \
|
|
|
|
-DZLIB_LIBRARY=${WASM_LIBRARY_DIR}/lib/libz.a \
|
|
|
|
../
|
|
|
|
|
|
|
|
# TODO(ryanking13): These files need to be generated dynamically during the build process
|
|
|
|
# by running a executable.
|
|
|
|
# However, since we build a side module, the emitted executable is a wasm object
|
|
|
|
# so it is not runnable even with the emulator (node).
|
|
|
|
# I think there should be a proper way to emit a js file which is runnable with node,
|
|
|
|
# But I was to exhausted to find it. So I created these files locally.
|
|
|
|
cp ${PKGDIR}/settings/* src/
|
|
|
|
|
2022-05-18 04:14:16 +00:00
|
|
|
emmake make -j ${PYODIDE_JOBS:-3} install
|
2022-09-13 07:17:52 +00:00
|
|
|
|
|
|
|
cp -P ${WASM_LIBRARY_DIR}/lib/libhdf* ${DISTDIR}
|