# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: György Balló <ballogy@freestart.hu>

pkgname=geoclue
pkgver=2.5.7
pkgrel=4
pkgdesc="Modular geoinformation service built on the D-Bus messaging system"
arch=(x86_64)
url="https://www.freedesktop.org/wiki/Software/GeoClue/"
license=(LGPL)
depends=(libsoup json-glib libmm-glib avahi geocode-glib)
makedepends=(systemd gobject-introspection git vala meson gtk-doc libnotify)
optdepends=('libnotify: Demo Agent')
provides=("geoclue2=$pkgver-$pkgrel")
conflicts=(geoclue2)
replaces=(geoclue2)
backup=(etc/geoclue/geoclue.conf)
_commit=3bb60dd600a8b247fd6049e7e5b1c73c2c5fc0e8  # tags/2.5.7
source=("git+https://gitlab.freedesktop.org/geoclue/geoclue.git#commit=$_commit")
sha256sums=('SKIP')

# Mozilla API keys (see https://location.services.mozilla.com/api)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact heftig@archlinux.org for
# more information.
_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a

pkgver() {
  cd $pkgname
  git describe --tags | sed 's/-/+/g'
}

prepare() {
  cd $pkgname

  # config patches (configurable hardcoded API key)
  git cherry-pick -n 95c9ad4dc176 1a00809a0d89

  # https://sources.debian.org/patches/geoclue-2.0/2.5.7-3/ 0003 0004
  git cherry-pick -n f9347ca7d51b c3eba034eb03 12445fb134ee

  # https://sources.debian.org/patches/geoclue-2.0/2.5.7-3/fix-nowifi-query.patch/
  git revert -n 194529c7e712 715cfbf5bec8

  # https://sources.debian.org/patches/geoclue-2.0/2.5.7-3/ 0006
  git cherry-pick -n 91e17382521e

  # don't claim the compass sensor when not needed
  git cherry-pick -n 34a67b676d24
}

build() {
  arch-meson $pkgname build \
    -D dbus-srv-user=geoclue \
    -D dbus-sys-dir=/usr/share/dbus-1/system.d \
    -D mozilla-api-key="$_mozilla_api_key"
  meson compile -C build
}

check() {
  meson test -C build --print-errorlogs
}

package() {
  meson install -C build --destdir "$pkgdir"

  echo 'u geoclue - "Geoinformation service" /var/lib/geoclue' |
    install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"

  echo 'd /var/lib/geoclue 0755 geoclue geoclue' |
    install -Dm644 /dev/stdin "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
}

# vim:set sw=2 et:
