# Based on https://aur.archlinux.org/packages/mingw-w64-capnproto/ # # Maintainer: Igor Matuszewski # Contributors: Dave Reisner # Matthias Blaicher # Severen Redwood # Igor Matuszewski _realname=capnproto pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.10.4 pkgrel=1 pkgdesc="Cap'n Proto serialization/RPC system (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url='https://capnproto.org/' msys2_references=( "cpe: cpe:/a:capnproto:capnproto" ) license=('spdx:MIT') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-openssl" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "unzip") source=("https://github.com/capnproto/capnproto/archive/v${pkgver}/${_realname}-${pkgver}.zip") noextract=("${_realname}-${pkgver}.zip") sha512sums=('4ead9093ae6716adee79703d374ac7028a94f0b0030afd4d0fc1118c40b2833791eb6f5e73120b2f921caf44d9fde43e747d00b86bfdaa8381253960b6d07034') prepare() { unzip -q "${_realname}-${pkgver}.zip" cd "${srcdir}/${_realname}-${pkgver}" } build() { mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ -G "Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON \ ../${_realname}-${pkgver} # Help capnpc to find libkj.dll PATH=$PWD/c++/src/kj:$PATH ${MINGW_PREFIX}/bin/cmake.exe --build ./ } check() { cd "${srcdir}/build-${MSYSTEM}" # Help capnp-tests to find DLLs PATH=$PWD/c++/src/capnp:$PWD/c++/src/kj:$PATH ${MINGW_PREFIX}/bin/ctest.exe ./ || warning "Tests failed" } package() { cd "${srcdir}/build-${MSYSTEM}" DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ local PREFIX_WIN="$(cygpath -wm ${MINGW_PREFIX})" for cmkfile in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/CapnProto/*.cmake; do sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i "${cmkfile}" done for pcfile in "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/*.pc; do sed -s "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i "${pcfile}" done install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" }