# 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.29
pkgrel=1
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=('fe368f0b9b840d73f1d550814a8954cf3e0ee1f89206db8b2b00b82ed8abe93b890193f9bf10b801125c87438497640fd10e742b2f616dd69cdcb694757ed38d'
            'SKIP')
b2sums=('5b033038b6d4083716efd8c02ad9a8ce18d8cabd37e719a235db4dd0487024ac49a3d65c0d7c9af0031421b837231ff2b0a88bd7928f9a3b366e94682fb9ed76'
        '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'
    'gcc-libs'
    '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"
}
