# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Maintainer: Fabian Bornschein <fabiscafe@archlinux.org>

pkgbase=localsearch
pkgname=(
  localsearch
  localsearch-testutils
)
pkgver=3.10.1
pkgrel=2
pkgdesc="Filesystem indexer and metadata extractor"
url="https://gnome.pages.gitlab.gnome.org/localsearch/"
arch=(x86_64 aarch64)
license=(GPL-2.0-or-later)
depends=(
  dconf
  exempi
  ffmpeg
  gcc-libs
  gexiv2
  giflib
  glib2
  glibc
  gst-plugins-base-libs
  gstreamer
  gupnp-dlna
  icu
  libcue
  libexif
  libgsf
  libgudev
  libgxps
  libiptcdata
  libjpeg-turbo
  libosinfo
  libpng
  libseccomp
  libtiff
  libwebp
  libxml2
  poppler-glib
  tinysparql
  totem-plparser
  upower
)
makedepends=(
  asciidoc
  bash
  git
  glib2-devel
  gobject-introspection
  meson
  python
  python-dbusmock
  python-gobject
)
source=("git+https://gitlab.gnome.org/GNOME/localsearch.git#tag=${pkgver/[a-z]/.&}")
b2sums=('836a02130ece328722e8d453af2ebf38374049e9d80c6435955276a8ff27b2ab1826ee252ecaa1322a0a3ab30de964825c481f3be9e0948fceae3fc809cdf864')

prepare() {
  cd localsearch
}

build() {
  local meson_options=(
    -D landlock=enabled
    -D tests_tap_protocol=true
  )

  arch-meson localsearch build "${meson_options[@]}"
  meson compile -C build
}

_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_localsearch() {
  depends+=(libtinysparql-3.0.so)
  provides=("tracker3-miners=$pkgver")
  replaces=('tracker3-miners<=3.7.3-2')
  conflicts=('tracker3-miners<=3.7.3-2')

  meson install -C build --destdir "$pkgdir"

  _pick testutils "$pkgdir"/usr/lib/localsearch-3.0/trackertestutils
}

package_localsearch-testutils() {
  pkgdesc+=" (test utilities)"
  depends=(
    bash
    glib2
    python
    python-gobject
    tinysparql
  )
  mv testutils/* "$pkgdir"
}

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