diff --git a/mingw-w64-hdf4/PKGBUILD b/mingw-w64-hdf4/PKGBUILD index a8179704c3..86170ba122 100644 --- a/mingw-w64-hdf4/PKGBUILD +++ b/mingw-w64-hdf4/PKGBUILD @@ -4,7 +4,7 @@ _realname=hdf pkgbase=mingw-w64-${_realname}4 pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}4") pkgver=4.2.15 -pkgrel=6 +pkgrel=7 pkgdesc="Legacy HDF4 driver for GDAL (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -25,12 +25,12 @@ depends=("${MINGW_PACKAGE_PREFIX}-libjpeg-turbo" "${MINGW_PACKAGE_PREFIX}-zlib" $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran") ) -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-cc" - $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran") + $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* && ${MSYSTEM} != *64 ]] || echo \ + "${MINGW_PACKAGE_PREFIX}-fc") ) -options=('strip' 'staticlibs') prepare() { cd ${srcdir}/${_realname}-${pkgver} @@ -44,22 +44,33 @@ prepare() { } build() { - [[ -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 + if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* || ${MSYSTEM} == *64 ]]; then _enable_fortran="ON" - export FFLAGS="-fallow-argument-mismatch" else _enable_fortran="OFF" fi + if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]]; then + export FFLAGS="-fallow-argument-mismatch" + else + CFLAGS+=" -Wno-incompatible-function-pointer-types -Wno-implicit-function-declaration" + fi + + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - cmake \ + ${MINGW_PREFIX}/bin/cmake \ -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_BUILD_TYPE="Release" \ + "${_extra_config[@]}" \ -DBUILD_SHARED_LIBS=ON \ -DHDF4_BUILD_TOOLS=OFF \ -DHDF4_BUILD_UTILS=ON \ @@ -70,13 +81,13 @@ build() { -DHDF4_INSTALL_DATA_DIR="share/docs/hdf4" \ ../${_realname}-${pkgver} - cmake --build . + ${MINGW_PREFIX}/bin/cmake --build . } package() { cd "${srcdir}"/build-${MSYSTEM} - DESTDIR="${pkgdir}" cmake --install . + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install . local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/hdf4/*.cmake; do