From 67ef2ef8f7690dea6d347c53cf2fca2ff360cd50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= Date: Sat, 25 Feb 2023 12:38:44 +0100 Subject: [PATCH] libexodus: update to 8.19 --- mingw-w64-libexodus/PKGBUILD | 75 ++++++++++++++++------------- mingw-w64-libexodus/cmake-fix.patch | 32 ++++++++++-- 2 files changed, 69 insertions(+), 38 deletions(-) diff --git a/mingw-w64-libexodus/PKGBUILD b/mingw-w64-libexodus/PKGBUILD index 6e76cba5ed..da097c6098 100644 --- a/mingw-w64-libexodus/PKGBUILD +++ b/mingw-w64-libexodus/PKGBUILD @@ -2,60 +2,69 @@ _realname=libexodus _realname2=seacas -_releases=2021-05-12 +_releases=2023-02-03 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=8.11 -pkgrel=4 +pkgver=8.19 +pkgrel=1 pkgdesc="EXODUS is a model developed to store and retrieve data for finite element analyses (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64') conflicts=("${MINGW_PACKAGE_PREFIX}-seacas" "${MINGW_PACKAGE_PREFIX}-trilinos") -depends=("${MINGW_PACKAGE_PREFIX}-crt" "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran") -makedepends=("unzip" - "${MINGW_PACKAGE_PREFIX}-netcdf" - "${MINGW_PACKAGE_PREFIX}-cc" - "${MINGW_PACKAGE_PREFIX}-gcc-fortran" - "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-cmake") -url="https://gsjaardema.github.io/seacas/" +depends=($([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran") + "${MINGW_PACKAGE_PREFIX}-libwinpthread-git" + "${MINGW_PACKAGE_PREFIX}-netcdf") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-fc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") +url="https://sandialabs.github.io/seacas-docs" license=('BSD') -source=("https://github.com/gsjaardema/seacas/archive/v${_releases}.zip" - "cmake-fix.patch" - "netcdf-4.9.0-fix.patch") -sha256sums=('818f9eff35a4fae682cf3b81897d49736c332cb3549ae2b2fc22678b21ee06ee' - '5248fe9045d203770eb18510b4746c47e10d269db691adc98f43aa419c2b9aa4' - 'c88343e7c943fdd1e8f1d0969b8a3b61b02cbdae936884f66ea97352e0a3219b') -noextract=("v${_releases}.zip") # bsdtar could not unpack this archive +source=("https://github.com/sandialabs/seacas/archive/v${_releases}.tar.gz" + "cmake-fix.patch") +sha256sums=('8076d8efc064ef261bb64bd1d064088586d9197b94cbfb0bba199a78243ca9e8' + '3f9f345dd0474e1e5831fc0ae69fe6fe3ab86eb2a90c52f96fd5c2babe05519f') +noextract=("v${_releases}.tar.gz") -prepare() { - rm -rf "${srcdir}/seacas-${_releases}" - unzip -oq v${_releases}.zip -d ${srcdir} - cd ${_realname2}-${_releases} - sed -i 's:-pedantic:/:g' cmake-exodus +prepare() { + echo "Extracting v${_releases}.tar.gz ..." + tar -xzf v${_releases}.tar.gz || true + + cd "${srcdir}"/${_realname2}-${_releases} + sed -i 's:-pedantic::g' cmake-exodus patch -Np1 -i "${srcdir}/cmake-fix.patch" - # Patch for netcdf-4.9.0 based on - # https://github.com/sandialabs/seacas/commit/5e1b19181110c52b76d13e3f60da2c8cf678c941: - patch -Np1 -i "${srcdir}/netcdf-4.9.0-fix.patch" } build() { - [[ -d "${_realname2}-${_releases}/build-${MINGW_CHOST}" ]] && rm -rf "${_realname2}-${_releases}/build-${MINGW_CHOST}" - mkdir -p "${_realname2}-${_releases}/build-${MINGW_CHOST}" && cd "${_realname2}-${_releases}/build-${MINGW_CHOST}" - + mkdir -p "${_realname2}-${_releases}/build-${MSYSTEM}" && cd "${_realname2}-${_releases}/build-${MSYSTEM}" + + 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=" \ - INSTALL_PATH=${MINGW_PREFIX} THREADSAFE=ON ../cmake-exodus \ + INSTALL_PATH=${MINGW_PREFIX} \ + THREADSAFE=ON \ + COMPILER=$([[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]] && echo "gnu" || echo "clang") \ + FC=$([[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]] && echo "gfortran" || echo "flang") \ + ../cmake-exodus \ -GNinja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_BUILD_TYPE=Release + -DSeacas_ENABLE_TESTS=OFF \ + "${_extra_config[@]}" ${MINGW_PREFIX}/bin/cmake --build . } package() { - cd "${_realname2}-${_releases}/build-${MINGW_CHOST}" - DESTDIR=${pkgdir} cmake --build . --target install + cd "${_realname2}-${_releases}/build-${MSYSTEM}" + DESTDIR=${pkgdir} ${MINGW_PREFIX}/bin/cmake --install . install -Dm644 "${srcdir}/seacas-${_releases}/packages/seacas/libraries/exodus"/COPYRIGHT ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE + # Remove extra files + rm -rf "${pkgdir}"${MINGW_PREFIX}/lib/external_packages } diff --git a/mingw-w64-libexodus/cmake-fix.patch b/mingw-w64-libexodus/cmake-fix.patch index 93713b3ec8..f0a9b31f78 100644 --- a/mingw-w64-libexodus/cmake-fix.patch +++ b/mingw-w64-libexodus/cmake-fix.patch @@ -1,11 +1,33 @@ ---- seacas-2021-05-12/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake.orig 2022-06-19 17:42:59.840715300 +0200 -+++ seacas-2021-05-12/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake 2022-06-19 17:43:03.557464000 +0200 +--- a/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake ++++ b/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake @@ -258,7 +258,7 @@ - endforeach() + endforeach() # Now match all the -I flags -- if (${_cflags}) -+ if ("${_cflags}") +- if (${_cflags}) ++ if ("${_cflags}") string(REGEX MATCHALL "-I([^\" ]+|\"[^\"]+\")" _inc_path_flags ${_cflags}) # Loop through each +--- a/cmake/FortranSettings.cmake ++++ b/cmake/FortranSettings.cmake +@@ -6,6 +6,8 @@ + + IF ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU") + SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fcray-pointer -fdefault-real-8 -fdefault-integer-8 -fno-range-check") ++ELSEIF ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "LLVMFlang") ++ SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdefault-real-8 -fdefault-integer-8") + ELSEIF ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "XL") + SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -qintsize=8 -qrealsize=8") + ELSEIF ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "Cray") +--- a/packages/seacas/cmake/FortranSettings.cmake ++++ b/packages/seacas/cmake/FortranSettings.cmake +@@ -6,6 +6,8 @@ + + IF ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU") + SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fcray-pointer -fdefault-real-8 -fdefault-integer-8 -fno-range-check") ++ELSEIF ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "LLVMFlang") ++ SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdefault-real-8 -fdefault-integer-8") + ELSEIF ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "XL") + SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -qintsize=8 -qrealsize=8") + ELSEIF ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "Cray")