hdf5: Fix building and installing.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
||||
# Contributor: Xin Sun <sun.simpson@gmail.com>
|
||||
|
||||
_realname=hdf5
|
||||
@@ -10,22 +11,39 @@ arch=('any')
|
||||
url="http://www.hdfgroup.org/HDF5/"
|
||||
source=(
|
||||
"http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-${pkgver}/src/hdf5-${pkgver}.tar.bz2"
|
||||
"hdf5-ws2_32.patch"
|
||||
"hdf5-link-ws2_32-mingw.patch"
|
||||
"hdf5-default-import-suffix.patch"
|
||||
"hdf5-install.patch"
|
||||
"hdf5-fix-install-docs.patch"
|
||||
)
|
||||
md5sums=(
|
||||
"03ad766d225f5e872eb3e5ce95524a08"
|
||||
"c1aa1d0306fdefe435f35bc3dc7f860b"
|
||||
"50e4241f7c977e180da866cd43e571c3"
|
||||
)
|
||||
depends=("${_mingw_suff}-gcc-libs" "${_mingw_suff}-zlib" "${_mingw_suff}-szip")
|
||||
makedepends=("${_mingw_suff}-gcc" "${_mingw_suff}-cmake" "patch")
|
||||
md5sums=('03ad766d225f5e872eb3e5ce95524a08'
|
||||
'c2eae0fa98e1b0f15c70d6ac65f8f7fb'
|
||||
'ff88f8dac682af32181ca801f25b12aa'
|
||||
'66314208fdeb6e6456ab003e1ae837e5'
|
||||
'f41dd4f98034fbdd3e15e0800ce79407')
|
||||
depends=("${_mingw_suff}-gcc-libs" "${_mingw_suff}-gcc-libgfortran" "${_mingw_suff}-zlib" "${_mingw_suff}-szip")
|
||||
makedepends=("${_mingw_suff}-gcc" "${_mingw_suff}-gcc-fortran" "${_mingw_suff}-cmake" "patch")
|
||||
options=('staticlibs' 'strip')
|
||||
|
||||
prepare() {
|
||||
cd ${srcdir}/${_realname}-${pkgver}
|
||||
patch -p0 -i ${srcdir}/hdf5-ws2_32.patch
|
||||
patch -p0 -i ${srcdir}/hdf5-install.patch
|
||||
patch -p1 -i ${srcdir}/hdf5-link-ws2_32-mingw.patch
|
||||
patch -p1 -i ${srcdir}/hdf5-install.patch
|
||||
patch -p1 -i ${srcdir}/hdf5-default-import-suffix.patch
|
||||
patch -p1 -i ${srcdir}/hdf5-fix-install-docs.patch
|
||||
|
||||
# rename X.dll to X-0.dll
|
||||
echo "IF (BUILD_SHARED_LIBS)" >> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_HL_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_CPP_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_HL_CPP_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_TOOLS_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_F90_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_F90_C_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_HL_F90_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "SET_TARGET_PROPERTIES (\${HDF5_HL_F90_C_LIB_TARGET} PROPERTIES SUFFIX -0.dll)">> CMakeLists.txt
|
||||
echo "ENDIF ()" >> CMakeLists.txt
|
||||
}
|
||||
|
||||
build() {
|
||||
@@ -39,7 +57,8 @@ build() {
|
||||
-DCMAKE_SKIP_RPATH=ON \
|
||||
-DHDF5_BUILD_HL_LIB=ON \
|
||||
-DHDF5_BUILD_CPP_LIB=ON \
|
||||
-DHDF5_BUILD_FORTRAN=OFF \
|
||||
-DHDF5_BUILD_FORTRAN=ON \
|
||||
-DHDF5_BUILD_TOOLS=ON \
|
||||
-DHDF5_ENABLE_DEPRECATED_SYMBOLS=OFF \
|
||||
-DHDF5_ENABLE_SZIP_SUPPORT=ON \
|
||||
-DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
|
||||
@@ -50,19 +69,4 @@ build() {
|
||||
package() {
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
make -j1 install
|
||||
|
||||
# clear README, licenses, etc. or shall we move them to another place?
|
||||
for f in ${pkgdir}${MINGW_PREFIX}/share/*
|
||||
do
|
||||
[[ -f $f ]] && rm -f $f
|
||||
done
|
||||
|
||||
mv ${pkgdir}${MINGW_PREFIX}/lib/hdf5.lib ${pkgdir}${MINGW_PREFIX}/lib/libhdf5.dll.a
|
||||
mv ${pkgdir}${MINGW_PREFIX}/lib/hdf5_hl.lib ${pkgdir}${MINGW_PREFIX}/lib/libhdf5_hl.dll.a
|
||||
mv ${pkgdir}${MINGW_PREFIX}/lib/hdf5_cpp.lib ${pkgdir}${MINGW_PREFIX}/lib/libhdf5_cpp.dll.a
|
||||
mv ${pkgdir}${MINGW_PREFIX}/lib/hdf5_hl_cpp.lib ${pkgdir}${MINGW_PREFIX}/lib/libhdf5_hl_cpp.dll.a
|
||||
sed -s "s|hdf5.lib|libhdf5.dll.a|g" -i ${pkgdir}${MINGW_PREFIX}/share/cmake/hdf5/hdf5-targets-release.cmake
|
||||
sed -s "s|hdf5_cpp.lib|libhdf5_cpp.dll.a|g" -i ${pkgdir}${MINGW_PREFIX}/share/cmake/hdf5/hdf5-targets-release.cmake
|
||||
sed -s "s|hdf5_hl.lib|libhdf5_hl.dll.a|g" -i ${pkgdir}${MINGW_PREFIX}/share/cmake/hdf5/hdf5-targets-release.cmake
|
||||
sed -s "s|hdf5_hl_cpp.lib|libhdf5_hl_cpp.dll.a|g" -i ${pkgdir}${MINGW_PREFIX}/share/cmake/hdf5/hdf5-targets-release.cmake
|
||||
}
|
||||
|
||||
20
mingw-w64-hdf5/hdf5-default-import-suffix.patch
Normal file
20
mingw-w64-hdf5/hdf5-default-import-suffix.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
diff -ur hdf5-1.8.12.orig/config/cmake/HDFMacros.cmake hdf5-1.8.12/config/cmake/HDFMacros.cmake
|
||||
--- hdf5-1.8.12.orig/config/cmake/HDFMacros.cmake 2013-11-22 22:35:38.454236491 +0100
|
||||
+++ hdf5-1.8.12/config/cmake/HDFMacros.cmake 2013-11-22 22:37:27.717130034 +0100
|
||||
@@ -108,16 +108,6 @@
|
||||
RELWITHDEBINFO_OUTPUT_NAME ${LIB_RELEASE_NAME}
|
||||
)
|
||||
|
||||
- #----- Use MSVC Naming conventions for Shared Libraries
|
||||
- IF (MINGW AND ${libtype} MATCHES "SHARED")
|
||||
- SET_TARGET_PROPERTIES (${libtarget}
|
||||
- PROPERTIES
|
||||
- IMPORT_SUFFIX ".lib"
|
||||
- IMPORT_PREFIX ""
|
||||
- PREFIX ""
|
||||
- )
|
||||
- ENDIF (MINGW AND ${libtype} MATCHES "SHARED")
|
||||
-
|
||||
ENDMACRO (HDF_SET_LIB_OPTIONS)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
20
mingw-w64-hdf5/hdf5-fix-install-docs.patch
Normal file
20
mingw-w64-hdf5/hdf5-fix-install-docs.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- hdf5-1.8.12/CMakeInstallation.cmake.orig 2013-11-21 19:14:04.000000000 +0400
|
||||
+++ hdf5-1.8.12/CMakeInstallation.cmake 2014-04-30 12:23:14.248200000 +0400
|
||||
@@ -144,7 +144,7 @@
|
||||
FILES
|
||||
${HDF5_SOURCE_DIR}/ACKNOWLEDGMENTS
|
||||
${HDF5_SOURCE_DIR}/COPYING
|
||||
- DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}/doc/hdf5
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
|
||||
@@ -188,7 +188,7 @@
|
||||
ENDIF (HDF5_PACK_INSTALL_DOCS)
|
||||
INSTALL (
|
||||
FILES ${release_files}
|
||||
- DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}/doc/hdf5
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
|
||||
29
mingw-w64-hdf5/hdf5-link-ws2_32-mingw.patch
Normal file
29
mingw-w64-hdf5/hdf5-link-ws2_32-mingw.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
diff -ur hdf5-1.8.12.orig/src/CMakeLists.txt hdf5-1.8.12/src/CMakeLists.txt
|
||||
--- hdf5-1.8.12.orig/src/CMakeLists.txt 2013-11-22 22:01:31.874461256 +0100
|
||||
+++ hdf5-1.8.12/src/CMakeLists.txt 2013-11-22 22:06:19.702407529 +0100
|
||||
@@ -615,9 +615,9 @@
|
||||
#-----------------------------------------------------------------------------
|
||||
ADD_EXECUTABLE (H5detect ${HDF5_SRC_DIR}/H5detect.c)
|
||||
TARGET_C_PROPERTIES (H5detect " " " ")
|
||||
-IF (MSVC)
|
||||
- TARGET_LINK_LIBRARIES (H5detect "ws2_32.lib")
|
||||
-ENDIF (MSVC)
|
||||
+IF (WIN32)
|
||||
+ TARGET_LINK_LIBRARIES (H5detect ws2_32)
|
||||
+ENDIF ()
|
||||
|
||||
SET (CMD $<TARGET_FILE:H5detect>)
|
||||
ADD_CUSTOM_COMMAND (
|
||||
@@ -629,9 +629,9 @@
|
||||
|
||||
ADD_EXECUTABLE (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
|
||||
TARGET_C_PROPERTIES (H5make_libsettings " " " ")
|
||||
-IF (MSVC)
|
||||
- TARGET_LINK_LIBRARIES (H5make_libsettings "ws2_32.lib")
|
||||
-ENDIF (MSVC)
|
||||
+IF (WIN32)
|
||||
+ TARGET_LINK_LIBRARIES (H5make_libsettings ws2_32)
|
||||
+ENDIF ()
|
||||
|
||||
SET (CMD $<TARGET_FILE:H5make_libsettings>)
|
||||
ADD_CUSTOM_COMMAND (
|
||||
@@ -1,22 +0,0 @@
|
||||
--- src/CMakeLists.txt.orig 2013-11-21 23:13:52.000000000 +0800
|
||||
+++ src/CMakeLists.txt 2014-04-29 17:27:57.526688800 +0800
|
||||
@@ -618,6 +618,9 @@
|
||||
IF (MSVC)
|
||||
TARGET_LINK_LIBRARIES (H5detect "ws2_32.lib")
|
||||
ENDIF (MSVC)
|
||||
+IF (MINGW)
|
||||
+ TARGET_LINK_LIBRARIES (H5detect "-lws2_32")
|
||||
+ENDIF (MINGW)
|
||||
|
||||
SET (CMD $<TARGET_FILE:H5detect>)
|
||||
ADD_CUSTOM_COMMAND (
|
||||
@@ -632,6 +635,9 @@
|
||||
IF (MSVC)
|
||||
TARGET_LINK_LIBRARIES (H5make_libsettings "ws2_32.lib")
|
||||
ENDIF (MSVC)
|
||||
+IF (MINGW)
|
||||
+ TARGET_LINK_LIBRARIES (H5make_libsettings "-lws2_32")
|
||||
+ENDIF (MINGW)
|
||||
|
||||
SET (CMD $<TARGET_FILE:H5make_libsettings>)
|
||||
ADD_CUSTOM_COMMAND (
|
||||
Reference in New Issue
Block a user