libexodus: update to 8.19

This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2023-02-25 12:38:44 +01:00
parent d3b00a15e9
commit 67ef2ef8f7
2 changed files with 69 additions and 38 deletions

View File

@@ -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
}

View File

@@ -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")