Fix building HDF on clang subsystems
- Disable Fortran - Enable clang32
This commit is contained in:
@@ -7,7 +7,7 @@ pkgver=4.2.15
|
||||
pkgrel=3
|
||||
pkgdesc="Legacy HDF4 driver for GDAL (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
|
||||
url='https://support.hdfgroup.org/products/hdf4/'
|
||||
license=('GPL2')
|
||||
source=(#"https://support.hdfgroup.org/ftp/HDF/HDF_Current/src/${_realname}-${pkgver}.tar.gz"
|
||||
@@ -18,11 +18,13 @@ sha256sums=('bde035ef5a1cd5fdbd0a7f1fa5c17e98bbd599300189ac4d234f16e9bb7bcb12'
|
||||
'f842fb5efe99b8ad3e4ecb7683af106c4891d994abb44adf8fd34a54cb729a38'
|
||||
'0362725aa964bff6318d37740481e462d77c2d1c39cccc86690773de3d69e94c')
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-libjpeg-turbo"
|
||||
"${MINGW_PACKAGE_PREFIX}-gcc-libgfortran"
|
||||
"${MINGW_PACKAGE_PREFIX}-zlib")
|
||||
"${MINGW_PACKAGE_PREFIX}-zlib"
|
||||
$([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran")
|
||||
)
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja"
|
||||
"${MINGW_PACKAGE_PREFIX}-gcc-fortran")
|
||||
$([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran")
|
||||
)
|
||||
options=('strip' 'staticlibs')
|
||||
|
||||
prepare() {
|
||||
@@ -32,34 +34,39 @@ prepare() {
|
||||
}
|
||||
|
||||
build() {
|
||||
[[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH}
|
||||
mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH}
|
||||
[[ -d "${srcdir}"/build-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-${MSYSTEM}
|
||||
mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
||||
|
||||
local -a _enable_fortran
|
||||
if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]]; then
|
||||
_enable_fortran="ON"
|
||||
export FFLAGS="-fallow-argument-mismatch"
|
||||
else
|
||||
_enable_fortran="OFF"
|
||||
fi
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
${MINGW_PREFIX}/bin/cmake.exe \
|
||||
cmake \
|
||||
-G"Ninja" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
-DCMAKE_BUILD_TYPE="Release" \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DHDF4_BUILD_TOOLS=OFF \
|
||||
-DHDF4_BUILD_UTILS=ON \
|
||||
-DHDF4_BUILD_FORTRAN=ON \
|
||||
-DHDF4_BUILD_FORTRAN=${_enable_fortran} \
|
||||
-DHDF4_NO_PACKAGES=ON \
|
||||
-DHDF4_ENABLE_NETCDF=OFF \
|
||||
-DHDF4_INSTALL_CMAKE_DIR="lib/cmake" \
|
||||
-DHDF4_INSTALL_DATA_DIR="share/docs/hdf4" \
|
||||
../${_realname}-${pkgver}
|
||||
|
||||
${MINGW_PREFIX}/bin/cmake.exe --build ./
|
||||
cmake --build .
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"/build-${CARCH}
|
||||
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
|
||||
cd "${srcdir}"/build-${MSYSTEM}
|
||||
|
||||
DESTDIR="${pkgdir}" cmake --install .
|
||||
|
||||
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
|
||||
for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/hdf4/*.cmake; do
|
||||
|
||||
@@ -10,9 +10,19 @@ pkgver=${_ver}${patch//-/.}
|
||||
pkgrel=4
|
||||
pkgdesc="General purpose library and file format for storing scientific data (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
|
||||
license=("custom")
|
||||
url="https://www.hdfgroup.org/HDF5/"
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
|
||||
"${MINGW_PACKAGE_PREFIX}-libaec"
|
||||
"${MINGW_PACKAGE_PREFIX}-zlib"
|
||||
$([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran")
|
||||
)
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja"
|
||||
$([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran")
|
||||
)
|
||||
options=('staticlibs' 'strip')
|
||||
source=("https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${_ver%.*}/hdf5-${_ver}${patch}/src/hdf5-${_ver}${patch}.tar.bz2"
|
||||
"hdf5-default-import-suffix.patch"
|
||||
"hdf5-proper-library-names-mingw.patch"
|
||||
@@ -25,16 +35,6 @@ sha256sums=('97906268640a6e9ce0cde703d5a71c9ac3092eded729591279bf2e3ca9765f61'
|
||||
'2f4438d780c897e06481231688a61251738ee84550dde7e0153a3d09b9ede1f7'
|
||||
'92322234b82fb47ee1b2a9998955f3e5d944fd0290a7b0016b6c037671571a1e'
|
||||
'76995487009646600c8953e7c568d9050f084924f9a3a3ad7c784d1002d2c5fc')
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
|
||||
"${MINGW_PACKAGE_PREFIX}-gcc-libgfortran"
|
||||
"${MINGW_PACKAGE_PREFIX}-libaec"
|
||||
"${MINGW_PACKAGE_PREFIX}-zlib")
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
|
||||
"${MINGW_PACKAGE_PREFIX}-gcc-fortran"
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja"
|
||||
"patch")
|
||||
options=('staticlibs' 'strip')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_realname}-${_ver}${patch}"
|
||||
@@ -46,11 +46,19 @@ prepare() {
|
||||
}
|
||||
|
||||
build() {
|
||||
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
|
||||
mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
|
||||
[[ -d ${srcdir}/build-${MSYSTEM} ]] && rm -rf ${srcdir}/build-${MSYSTEM}
|
||||
mkdir -p ${srcdir}/build-${MSYSTEM} && cd ${srcdir}/build-${MSYSTEM}
|
||||
|
||||
local -a _enable_fortran
|
||||
if [[ "${MINGW_PACKAGE_PREFIX}" == *-clang-* ]]; then
|
||||
_enable_fortran="OFF"
|
||||
else
|
||||
_enable_fortran="ON"
|
||||
fi
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
SZIP_INSTALL=${MINGW_PREFIX} \
|
||||
${MINGW_PREFIX}/bin/cmake \
|
||||
cmake \
|
||||
-Wno-dev \
|
||||
-GNinja \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
@@ -60,7 +68,7 @@ build() {
|
||||
-DCMAKE_SKIP_RPATH=ON \
|
||||
-DHDF5_BUILD_HL_LIB=ON \
|
||||
-DHDF5_BUILD_CPP_LIB=ON \
|
||||
-DHDF5_BUILD_FORTRAN=ON \
|
||||
-DHDF5_BUILD_FORTRAN=${_enable_fortran} \
|
||||
-DHDF5_BUILD_TOOLS=ON \
|
||||
-DHDF5_ENABLE_DEPRECATED_SYMBOLS=ON \
|
||||
-DHDF5_ENABLE_SZIP_SUPPORT=ON \
|
||||
@@ -69,16 +77,20 @@ build() {
|
||||
-DHDF5_INSTALL_DATA_DIR="share/doc/hdf5" \
|
||||
../${_realname}-${_ver}${patch}
|
||||
|
||||
${MINGW_PREFIX}/bin/cmake --build .
|
||||
cmake --build .
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p ${srcdir}/build-${MINGW_CHOST}/bin/static/Release/
|
||||
mkdir -p ${srcdir}/build-${MINGW_CHOST}/bin/shared/Release/
|
||||
cp ${srcdir}/build-${MINGW_CHOST}/bin/static/*.mod ${srcdir}/build-${MINGW_CHOST}/bin/static/Release
|
||||
cp ${srcdir}/build-${MINGW_CHOST}/bin/shared/*.mod ${srcdir}/build-${MINGW_CHOST}/bin/shared/Release
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build . --target install
|
||||
cd "${srcdir}/build-${MSYSTEM}"
|
||||
|
||||
if [[ "${MINGW_PACKAGE_PREFIX}" != *-clang-* ]]; then
|
||||
mkdir -p ${srcdir}/build-${MSYSTEM}/bin/static/Release/
|
||||
mkdir -p ${srcdir}/build-${MSYSTEM}/bin/shared/Release/
|
||||
cp ${srcdir}/build-${MSYSTEM}/bin/static/*.mod ${srcdir}/build-${MSYSTEM}/bin/static/Release
|
||||
cp ${srcdir}/build-${MSYSTEM}/bin/shared/*.mod ${srcdir}/build-${MSYSTEM}/bin/shared/Release
|
||||
fi
|
||||
|
||||
DESTDIR="${pkgdir}" cmake --install .
|
||||
|
||||
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
|
||||
for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/hdf5/*.cmake; do
|
||||
|
||||
@@ -7,7 +7,7 @@ pkgver=4.7.4
|
||||
pkgrel=2
|
||||
pkgdesc="Interface for scientific data access to large binary data (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
|
||||
license=('custom')
|
||||
url="https://www.unidata.ucar.edu/software/netcdf/"
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-curl"
|
||||
|
||||
Reference in New Issue
Block a user