blob: dffa2cea5d2257d87c56d17ce9fca067abda867e [file] [log] [blame]
# Contributor: Oleg A. Khlybov <fougas@mail.ru>
_realname=parmetis
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=4.0.3
pkgrel=2
pkgdesc="Parallel Graph Partitioning and Fill-reducing Matrix Ordering (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
url='http://glaros.dtc.umn.edu/gkhome/views/parmetis'
license=('Apache')
depends=("${MINGW_PACKAGE_PREFIX}-metis>=5.1.0" "${MINGW_PACKAGE_PREFIX}-msmpi")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake")
options=('strip' 'staticlibs')
source=("http://glaros.dtc.umn.edu/gkhome/fetch/sw/${_realname}/parmetis-${pkgver}.tar.gz"
"0001-mingw-w64-does-not-have-sys-resource-h.patch"
"0002-mingw-w64-do-not-use-reserved-double-underscored-names.patch"
"0003-WIN32-Install-RUNTIME-to-bin.patch"
"0004-METIS-GKLIB-location.patch"
"0005-find-MPI.patch")
sha256sums=('f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f'
'22e62ec7dfbaf01865b1e09e7b3f3bad20188354efbef6e64d102a03c7bf748b'
'141026e4e39f0529a916dce718273875ba12a98b0ebe7c2730e4950866ffc845'
'b384fa51e01b9d3384fd067236e34036b0520f375d16abe575005e518dd5b1fd'
'f1e7a174460ac79732de10d0f076f87b2ed60d185436bda0698bd012e70ea53c'
'642f801967edc196e94e28f7fa3a63759ab33c1a534a5924d404acdcbfea2eb2')
prepare() {
cd "${srcdir}"/${_realname}-${pkgver}
for p in ${srcdir}/*.patch; do
patch -p1 -i "$p"
done
}
build() {
for _shared in OFF ON; do
cd "$srcdir"/${_realname}-${pkgver}
[[ -d "${srcdir}"/build-shared-${_shared}-${CARCH} ]] && rm -rf "${srcdir}"/build-shared-${_shared}-${CARCH}
mkdir -p "${srcdir}"/build-shared-${_shared}-${CARCH} && cd "${srcdir}"/build-shared-${_shared}-${CARCH}
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=" \
${MINGW_PREFIX}/bin/cmake \
-G'MSYS Makefiles' \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_C_FLAGS="${CPPFLAGS} ${CFLAGS}" \
"${extra_config[@]}" \
-DSHARED=${_shared} \
../${_realname}-${pkgver}
make
done
}
package() {
for _shared in OFF ON; do
cd "${srcdir}"/build-shared-${_shared}-${CARCH}
make install DESTDIR="${pkgdir}"
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig"
echo "
prefix=${MINGW_PREFIX}
libdir=\${prefix}/lib
includedir=\${prefix}/include
Name: ${_realname}
URL: ${url}
Version: ${pkgver}
Description: ${pkgdesc}
Requires: metis msmpi
Cflags: -I\${includedir}
Libs: -L\${libdir} -l${_realname}
" | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/${_realname}.pc"
done
mv ${pkgdir}${MINGW_PREFIX}/bin/ptest{,_parmetis}.exe
mv ${pkgdir}${MINGW_PREFIX}/bin/mtest{,_parmetis}.exe
}