From a67121fcfb5742792314da274276b9cefb5690cf Mon Sep 17 00:00:00 2001 From: ImperatorS79 Date: Mon, 21 Oct 2024 18:53:15 +0200 Subject: [PATCH 1/4] Add python-mpi4py package --- mingw-w64-python-mpi4py/PKGBUILD | 52 ++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 mingw-w64-python-mpi4py/PKGBUILD diff --git a/mingw-w64-python-mpi4py/PKGBUILD b/mingw-w64-python-mpi4py/PKGBUILD new file mode 100644 index 0000000000000..8ba14908f1fdf --- /dev/null +++ b/mingw-w64-python-mpi4py/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: ImperatorS79 + +_realname=mpi4py +pkgbase=mingw-w64-python-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") +provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") +conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") +replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") +pkgver=4.0.1 +pkgrel=1 +pkgdesc="Python bindings for the Message Passing Interface (MPI) standard (mingw-w64)" +arch=('any') +mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') +url='https://mpi4py.github.io/stable/' +msys2_references=( + 'pypi: mpi4py' +) +license=('BSD') +depends=("${MINGW_PACKAGE_PREFIX}-python" + "${MINGW_PACKAGE_PREFIX}-msmpi") +makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" + "${MINGW_PACKAGE_PREFIX}-python-installer" + "${MINGW_PACKAGE_PREFIX}-python-build" + "${MINGW_PACKAGE_PREFIX}-cython" + "${MINGW_PACKAGE_PREFIX}-python-wheel") +options=('staticlibs' 'strip' '!debug') +source=(${_realname}-${pkgver}.tar.gz::"https://github.com/mpi4py/mpi4py/releases/download/${pkgver}/mpi4py-${pkgver}.tar.gz") +sha256sums=('f3174b245775d556f4fddb32519a2066ef0592edc810c5b5a59238f9a0a40c89') + +prepare() { + cd "${srcdir}/${_realname}-${pkgver}/" + export MINGW_PATH=$(cygpath -m ${MINGW_PREFIX}) + sed -i 's@## mpi_dir = /usr/local/mpi@mpi_dir = '"${MINGW_PATH}"'@g' mpi.cfg + sed -i 's@## mpicc = %(mpi_dir)s/bin/mpicc@mpicc = %(mpi_dir)s/bin/mpicc.exe@g' mpi.cfg + sed -i 's@## mpicxx = %(mpi_dir)s/bin/mpicxx@mpicxx = %(mpi_dir)s/bin/mpicxx.exe@g' mpi.cfg + sed -i 's@## include_dirs = %(mpi_dir)s/include@include_dirs = %(mpi_dir)s/include@g' mpi.cfg + sed -i 's@## libraries = mpi@libraries = msmpi@g' mpi.cfg + sed -i 's@## library_dirs = %(mpi_dir)s/lib@library_dirs = %(mpi_dir)s/lib@g' mpi.cfg + #sed -i 's@## runtime_library_dirs = %(mpi_dir)s/lib@runtime_library_dirs = %(mpi_dir)s/bin@g' mpi.cfg +} + +build() { + cd "${srcdir}/${_realname}-${pkgver}/" + ${MINGW_PREFIX}/bin/python -m build --wheel --no-isolation +} + +package() { + cd "${srcdir}/${_realname}-${pkgver}/" + MSYS2_ARG_CONV_EXCL="--prefix=" \ + ${MINGW_PREFIX}/bin/python -m installer --prefix=${MINGW_PREFIX} --destdir="${pkgdir}" dist/*.whl + install -Dm644 LICENSE.rst -t "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/" +} From e99d089bdc81c422c50b2e300cd4ee69012507a4 Mon Sep 17 00:00:00 2001 From: ImperatorS79 Date: Tue, 22 Oct 2024 11:28:15 +0200 Subject: [PATCH 2/4] Move msmpi to makedepends --- mingw-w64-python-mpi4py/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-python-mpi4py/PKGBUILD b/mingw-w64-python-mpi4py/PKGBUILD index 8ba14908f1fdf..85344c3a07343 100644 --- a/mingw-w64-python-mpi4py/PKGBUILD +++ b/mingw-w64-python-mpi4py/PKGBUILD @@ -16,13 +16,13 @@ msys2_references=( 'pypi: mpi4py' ) license=('BSD') -depends=("${MINGW_PACKAGE_PREFIX}-python" - "${MINGW_PACKAGE_PREFIX}-msmpi") +depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-python-installer" "${MINGW_PACKAGE_PREFIX}-python-build" "${MINGW_PACKAGE_PREFIX}-cython" - "${MINGW_PACKAGE_PREFIX}-python-wheel") + "${MINGW_PACKAGE_PREFIX}-python-wheel" + "${MINGW_PACKAGE_PREFIX}-msmpi") options=('staticlibs' 'strip' '!debug') source=(${_realname}-${pkgver}.tar.gz::"https://github.com/mpi4py/mpi4py/releases/download/${pkgver}/mpi4py-${pkgver}.tar.gz") sha256sums=('f3174b245775d556f4fddb32519a2066ef0592edc810c5b5a59238f9a0a40c89') From 2a50c3d870d1310bdc32267ebc3678ce6776b27e Mon Sep 17 00:00:00 2001 From: ImperatorS79 Date: Tue, 22 Oct 2024 12:38:09 +0200 Subject: [PATCH 3/4] Fix license --- mingw-w64-python-mpi4py/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-python-mpi4py/PKGBUILD b/mingw-w64-python-mpi4py/PKGBUILD index 85344c3a07343..df11ed2c29d91 100644 --- a/mingw-w64-python-mpi4py/PKGBUILD +++ b/mingw-w64-python-mpi4py/PKGBUILD @@ -15,7 +15,7 @@ url='https://mpi4py.github.io/stable/' msys2_references=( 'pypi: mpi4py' ) -license=('BSD') +license=('spdx:BSD-3-Clause') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-python-installer" From 83cc0d1d9aa493569c5c142c24ec432ed7e5f214 Mon Sep 17 00:00:00 2001 From: ImperatorS79 Date: Tue, 22 Oct 2024 13:19:26 +0200 Subject: [PATCH 4/4] Remove provide, conflict, replace --- mingw-w64-python-mpi4py/PKGBUILD | 3 --- 1 file changed, 3 deletions(-) diff --git a/mingw-w64-python-mpi4py/PKGBUILD b/mingw-w64-python-mpi4py/PKGBUILD index df11ed2c29d91..cf7b0d87e9480 100644 --- a/mingw-w64-python-mpi4py/PKGBUILD +++ b/mingw-w64-python-mpi4py/PKGBUILD @@ -3,9 +3,6 @@ _realname=mpi4py pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") pkgver=4.0.1 pkgrel=1 pkgdesc="Python bindings for the Message Passing Interface (MPI) standard (mingw-w64)"