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