# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Mateusz 'mrlemux' Lemusisk mrlemux at gmail dotcom
# Based on the pcre package by Sébastien "Seblu" Luttringer
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>

pkgname=pcre2
pkgver=10.43
pkgrel=3.2
pkgdesc='A library that implements Perl 5-style regular expressions. 2nd version'
url='https://github.com/PCRE2Project/pcre2'
makelicense=('BSD-3-Clause')
ncxfat_makedepends=(binutils bzip2 glibc readline zlib gcc)
ncxfab_makedepends=(base-devel sh patch coreutils make crosspacman)
ncxfah_optdepends=('sh: for pcre2-config')
provides=(libpcre2-{8,16,32,posix}.so)
options=(staticlibs)
source=("$url/releases/download/pcre2-$pkgver/pcre2-$pkgver.tar.bz2"{,.sig}
         56dbde07b05252f0b304b04040a86cfb9f109ae9.patch
         ad89dd8ecd25589d236bd20b36f2abf69f938fd1.patch)
sha512sums=('8ac1520c32e9e5672404aaf6104e23c9ee5c3c28ad28ff101435599d813cbb20e0491a3fd34e012b4411b3e0366a4c6dfa3f02d093acaa6ff0ab25478bb7ade9'
            'SKIP'
            '9f3d864c114116579365d3fdec120192c57773f85d3bdf576cdee38a1ffadd2e940247b5e504854dd8bdbc8e443992d072b10e3fd2a4eb2e9cc171478e341ae5'
            'e7487412f2efcba019a0d192da165466789e0679435784796b9be8548eedf128821d4b867fdc5deea52b156f1fffcd451c59e74406c7eec752d06762dda1bf17'
)
b2sums=('f87f9f36dd6a806cdba1f077f51b53da2583f1898f83e41d594622b28ac8efbc1b2d122b752a9d6cd461fe0e3c7c85ee93358443df518a336da4ee9d72cca808'
        'SKIP'
        'f01c90f32e5f0cc99604f68e5fd30349a7dc5acd0793dc7ea3387206895e14e1d50771fc84e2ad67aafacb117150e2cf5a822f8a3d95a91bbf4ad7add7a77f63'
        'c0538b3f17f219ed9a7b48bc556efe4669d0376634c14f158483c4affc8ef04043191c6a673e59433661e1331b48cd7d567f7e0d4e36adceeeae56cc38983bd5'
)
validpgpkeys=('45F68D54BBE23FB3039B46E59766E084FB0F43D8')  # Philip Hazel <ph10@hermes.cam.ac.uk>

build() {
  cd pcre2-$pkgver
  # Fix AVX detection
  # [PATCH] Add xgetbv feature detection support on x86
  patch -Np2 -i "$srcdir"/56dbde07b05252f0b304b04040a86cfb9f109ae9.patch -d src/sljit

  # Fix thread-safety issue in sljit's allocator
  # [PATCH] Fix locking region in sjlit_malloc_exec
  patch -Np2 -i "$srcdir"/ad89dd8ecd25589d236bd20b36f2abf69f938fd1.patch -d src/sljit

  # use fat LTO objects for static libraries
  CFLAGS+=" -ffat-lto-objects"
  CXXFLAGS+=" -ffat-lto-objects"

  ./configure \
    --prefix=$MPKG_USRPATH \
    --host=$MPKG_TARGETMACHINE \
    --enable-pcre2-16 \
    --enable-pcre2-32 \
    --enable-jit \
    --enable-pcre2grep-libz \
    --enable-pcre2grep-libbz2 \
    --enable-pcre2test-libreadline
  make
}

check() {
  cd pcre2-$pkgver
  make -j1 check
}

package() {
  ncxfat_depends=(bzip2 glibc readline zlib)
  cd pcre2-$pkgver
  make DESTDIR="$pkgdir" install

  install -Dm644 LICENCE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

# vim:set sw=2 sts=-1 et:
