precice: Update to 3.2.0 and enable aarch64 builds (#24179)

This commit is contained in:
Hernan Martinez
2025-05-04 21:59:24 -07:00
committed by GitHub
parent 91caf89c4c
commit a3a33eff2d
2 changed files with 23 additions and 58 deletions

View File

@@ -1,11 +0,0 @@
--- a/src/xml/ConfigParser.cpp
+++ b/src/xml/ConfigParser.cpp
@@ -82,7 +82,7 @@
pParser->OnTextSection(std::string(reinterpret_cast<const char *>(ch), len));
}
-void OnStructuredErrorFunc(void *userData, xmlError *error)
+void OnStructuredErrorFunc(void *userData, const xmlError *error)
{
const std::string message{error->message};

View File

@@ -4,11 +4,11 @@
_realname=precice
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.5.0
pkgrel=10
pkgver=3.2.0
pkgrel=1
pkgdesc='A Coupling Library for Partitioned Multi-Physics Simulations on Massively Parallel Systems (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://www.precice.org'
msys2_repository_url='https://github.com/precice/precice'
license=('spdx:LGPL-3.0-or-later')
@@ -20,7 +20,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-python-numpy")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-msmpi"
$([[ ${CARCH} == aarch64 ]] || echo "${MINGW_PACKAGE_PREFIX}-msmpi")
#"${MINGW_PACKAGE_PREFIX}-ninja"
#"${MINGW_PACKAGE_PREFIX}-petsc-build"
"${MINGW_PACKAGE_PREFIX}-boost"
@@ -28,10 +28,12 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"git")
source=(https://github.com/precice/precice/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz
001-fix-libprecice-dll-installation.patch
002-fix-build-with-libxml2-2.12.patch)
sha256sums=('76ec6ee0d1a66f6f3d3d2d11f03cfc5aa7ef4d9e5deb9b7a4b4455ec7f796c00'
002-fix-export-defs.patch::https://github.com/precice/precice/commit/f7a4723827bbf20062fe004322b837f348374af3.patch
003-add-win32-deps.patch::https://github.com/precice/precice/commit/2d08cf23abe81490f11c2be0e00afd43648ee504.patch)
sha256sums=('93523f1a56e0cfd338d8e190baa06129ee811acdb1c697468a3c85c516d63464'
'49fe04f9e72d1034b8909a7b593ccf42eeaf5203d9188f71706260948a0fb566'
'9704b031c26f5be50a2ba08b3757f26d5c661e707145c1a5b170704002019480')
'8efe809bf94f93d2fa0bcdf6cc95cda4028a469b5bd88c5a1a7b0738e615e05a'
'786d2f0be4e6131192501bf81d574ca5b3839e6de95a78de3ceea0738c7fa81a')
apply_patch_with_msg() {
for _patch in "$@"
@@ -45,7 +47,8 @@ prepare() {
cd ${_realname}-${pkgver}
apply_patch_with_msg \
001-fix-libprecice-dll-installation.patch \
002-fix-build-with-libxml2-2.12.patch
002-fix-export-defs.patch \
003-add-win32-deps.patch
}
build() {
@@ -64,50 +67,31 @@ build() {
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
if [[ ${CARCH} == aarch64 ]]; then
extra_config+=("-DPRECICE_FEATURE_MPI_COMMUNICATION=OFF")
else
extra_config+=("-DPRECICE_FEATURE_MPI_COMMUNICATION=ON")
fi
if [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]]; then
CXXFLAGS+=" -Wno-c++11-narrowing"
else
CXXFLAGS+=" -Wno-narrowing"
fi
#Static Build
mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static"
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G"MSYS Makefiles" \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_CXX_STANDARD_LIBRARIES=-lws2_32 \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_TESTING=OFF \
"${extra_config[@]}" \
-DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
-DPRECICE_MPICommunication=ON \
-DPRECICE_PETScMapping=OFF \
-DPRECICE_PythonActions=ON \
-DPRECICE_BUILD_TOOLS=OFF \
-DPC_PETSc_INCLUDE_DIRS="$PREFIX_WIN/src/petsc/include;$PREFIX_WIN/src/petsc/$PETSC_ARCH/include" \
-Wno-dev \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake --build .
#Shared Build
mkdir -p "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G"MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_CXX_STANDARD_LIBRARIES=-lws2_32 \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
${extra_config[@]} \
-DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
-DPRECICE_MPICommunication=ON \
-DPRECICE_PETScMapping=OFF \
-DPRECICE_PythonActions=ON \
-DPC_PETSc_INCLUDE_DIRS="$PREFIX_WIN/src/petsc/include;$PREFIX_WIN/src/petsc/$PETSC_ARCH/include" \
-DPRECICE_FEATURE_PETSC_MAPPING=OFF \
-DPRECICE_FEATURE_PYTHON_ACTIONS=ON \
-DPRECICE_BUILD_TOOLS=ON \
-Wno-dev \
../${_realname}-${pkgver}
@@ -115,16 +99,8 @@ build() {
}
package() {
#Static Install
cd "${srcdir}/build-${MSYSTEM}-static"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
#Shared Install
cd "${srcdir}/build-${MSYSTEM}-shared"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
# add ".exe" extension to binprecice
mv "${pkgdir}"${MINGW_PREFIX}/bin/binprecice{,.exe}
install -Dm644 "${srcdir}"/${_realname}-${pkgver}/LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}