# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: David Runge <dvzrv@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Alexander Fehr <pizzapunk gmail com>
# Contributor: William Rea <sillywilly@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>

pkgbase=xapian-core
pkgname=(xapian-core{,-docs})
pkgver=1.4.30
pkgrel=2
epoch=1
pkgdesc='Open source search engine library'
arch=('x86_64' 'aarch64')
url="https://www.xapian.org/"
license=('GPL-2.0-or-later')
makedepends=('util-linux' 'zlib')
source=("https://oligarchy.co.uk/xapian/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc})
sha512sums=('42d3f0b5998da363cd03ca38a974862a8d37b24a2177cd6eeaf6d2bf8f688a568f264243c3c694bd345283bbce476cf334c6444e568c215b276ad42e55862cca'
            'SKIP')
b2sums=('75f4893cfccdd47d90d67bfda3525bcda0cbfbd55e0bf579ac8472a3ddf9855097073300d47f91ba2d44c768a6c0e6cc53e3392b39a867a113496f520d629330'
        'SKIP')
validpgpkeys=('08E2400FF7FE8FEDE3ACB52818147B073BAD2B07') # Olly Betts <olly@debian.org>

prepare() {
  cd "${pkgname}-${pkgver}"
  autoreconf -vfi
}

build() {
  cd "${pkgname}-${pkgver}"

  # workaround for test failure in libzim
  #   23/27 search_iterator  FAIL  0.47s  killed by signal 6 SIGABRT
  CXXFLAGS=${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}

  ./configure --prefix=/usr
  make
}

check() {
  make check -C $pkgname-$pkgver
}

_pick() {
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package_xapian-core() {
  depends=(
    'bash'
    'libgcc'
    'libstdc++'
    'glibc'
    'util-linux-libs' 'libuuid.so'
    'zlib' 'libz.so'
  )
  optdepends=(
    'xapian-core-docs: for documentation'
  )
  provides=('libxapian.so')
  # xapian-config requires libxapian.la
  options=('libtool')

  make DESTDIR="${pkgdir}" install -C $pkgname-$pkgver

  (
    cd "$pkgdir"
    _pick $pkgbase-docs usr/share/doc
  )

  install -vDm 644 $pkgname-$pkgver/{AUTHORS,ChangeLog,HACKING,NEWS,README} -t "${pkgdir}/usr/share/doc/${pkgname}"
}

package_xapian-core-docs() {
  pkgdesc+=' - documentation'

  mv -v $pkgname/* "$pkgdir"
}
