| # Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net> |
| |
| _realname=pegtl |
| pkgbase=mingw-w64-${_realname} |
| pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| pkgver=2.8.1 |
| pkgrel=2 |
| pkgdesc="Parsing Expression Grammar (PEG) Template Library (mingw-w64)" |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') |
| url='https://github.com/ColinH/PEGTL/' |
| license=('MIT') |
| depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") |
| makedepends=("${MINGW_PACKAGE_PREFIX}-cmake") |
| options=('strip' 'staticlibs') |
| source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/taocpp/PEGTL/archive/${pkgver}.tar.gz") |
| sha256sums=('d23f81a60896cdd8c2ce0d1b31737fe0e1137915ba3fdb4f366ae1a997a1bce6') |
| |
| # Helper macros to help make tasks easier # |
| apply_patch_with_msg() { |
| for _patch in "$@" |
| do |
| msg2 "Applying $_patch" |
| patch -Nbp1 -i "${srcdir}/$_patch" |
| done |
| } |
| |
| del_file_exists() { |
| for _fname in "$@" |
| do |
| if [ -f $_fname ]; then |
| rm -rf $_fname |
| fi |
| done |
| } |
| # =========================================== # |
| |
| prepare() { |
| cd "${srcdir}"/${_realname}-${pkgver} |
| |
| # Remove Werror flag |
| sed -i 's/-Werror=/-W/g;s/-Werror//g' src/test/pegtl/CMakeLists.txt |
| } |
| |
| build() { |
| cd "${srcdir}"/${_realname}-${pkgver} |
| [[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH} |
| mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${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} \ |
| "${extra_config[@]}" \ |
| -DBUILD_{SHARED,STATIC}_LIBS=ON \ |
| -DPEGTL_INSTALL_DOC_DIR=share/doc/${_realname} \ |
| -DPEGTL_INSTALL_CMAKE_DIR=lib/cmake/${_realname} \ |
| ../${_realname}-${pkgver} |
| |
| make |
| } |
| |
| package() { |
| cd "${srcdir}"/build-${CARCH} |
| make install DESTDIR="${pkgdir}" |
| |
| install -Dm644 ${srcdir}/${_realname}-${pkgver}/LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE |
| } |