From a3a33eff2d1d158a16fdc491ce75fd0523d8d573 Mon Sep 17 00:00:00 2001 From: Hernan Martinez Date: Sun, 4 May 2025 21:59:24 -0700 Subject: [PATCH] precice: Update to 3.2.0 and enable aarch64 builds (#24179) --- .../002-fix-build-with-libxml2-2.12.patch | 11 --- mingw-w64-precice/PKGBUILD | 70 ++++++------------- 2 files changed, 23 insertions(+), 58 deletions(-) delete mode 100644 mingw-w64-precice/002-fix-build-with-libxml2-2.12.patch diff --git a/mingw-w64-precice/002-fix-build-with-libxml2-2.12.patch b/mingw-w64-precice/002-fix-build-with-libxml2-2.12.patch deleted file mode 100644 index 4b507bcbe0..0000000000 --- a/mingw-w64-precice/002-fix-build-with-libxml2-2.12.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/xml/ConfigParser.cpp -+++ b/src/xml/ConfigParser.cpp -@@ -82,7 +82,7 @@ - pParser->OnTextSection(std::string(reinterpret_cast(ch), len)); - } - --void OnStructuredErrorFunc(void *userData, xmlError *error) -+void OnStructuredErrorFunc(void *userData, const xmlError *error) - { - const std::string message{error->message}; - diff --git a/mingw-w64-precice/PKGBUILD b/mingw-w64-precice/PKGBUILD index cb21cfeb72..536139768c 100644 --- a/mingw-w64-precice/PKGBUILD +++ b/mingw-w64-precice/PKGBUILD @@ -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 }