# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Yosef Or Boczko <yoseforb@gnome.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.og>
#  - remove dependency on fwupd, specify -Dfwupd=false
#  - remove makedepend on valgrind, specify -Dvalgrind=false

pkgbase=gnome-software
pkgname=(gnome-software gnome-software-packagekit-plugin)
pkgver=3.30.1
pkgrel=1
pkgdesc="GNOME Software Tools"
url="https://wiki.gnome.org/Apps/Software/"
arch=(x86_64)
license=(GPL2)
makedepends=(appstream-glib gnome-desktop libpackagekit-glib flatpak ostree
             docbook-xsl git gobject-introspection gtk-doc meson gspell)
_commit=166f43b49f737fa604b835a54eefdd4aff13e082  # tags/3.30.1^0
source=("git+https://gitlab.gnome.org/GNOME/gnome-software.git#commit=$_commit")
sha256sums=('SKIP')

pkgver() {
  cd $pkgbase
  git describe --tags | sed 's/^GNOME_SOFTWARE_//;s/_/./g;s/-/+/g'
}

prepare() {
  cd $pkgbase
}

build() {
  arch-meson $pkgbase build \
    -D ubuntuone=false \
    -D ubuntu_reviews=false \
    -D fwupd=false \
    -D valgrind=false
  ninja -C build
}

check() {
  # build container troubles
  meson test -C build || :
}

package_gnome-software() {
  groups=('gnome')
  depends=(appstream-glib gnome-desktop gsettings-desktop-schemas gtkspell3 libpackagekit-glib gspell)
  optdepends=('flatpak: Flatpak support plugin'
              'fwupd: fwupd support plugin'
              'ostree: OSTree support plugin')

  DESTDIR="$pkgdir" meson install -C build

  # Split out packagekit plugin
  mkdir "$srcdir"/packagekit-plugin
  mv "$pkgdir"/usr/lib/gs-plugins-12/libgs_plugin_{packagekit*,systemd-updates}.so "$srcdir"/packagekit-plugin
}

package_gnome-software-packagekit-plugin() {
  pkgdesc="PackageKit support plugin for GNOME Software"
  depends=(archlinux-appstream-data gnome-software packagekit)

  mkdir -p "$pkgdir"/usr/lib/gs-plugins-12
  mv "$srcdir"/packagekit-plugin/* "$pkgdir"/usr/lib/gs-plugins-12/
}