# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Maintainer: Fabian Bornschein <fabiscafe@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Adam Hani Schakaki (krzd) <krzd@krzd.net>

pkgbase=gsettings-desktop-schemas-unstable
pkgname=(
  gsettings-desktop-schemas-unstable
  gsettings-system-schemas-unstable
)
pkgver=51.beta
pkgrel=1
pkgdesc="GSettings schemas for GNOME: unstable version"
url="https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas"
arch=(any)
license=(LGPL-2.1-or-later)
makedepends=(
  adwaita-fonts
  dconf
  git
  glib2-devel
  gobject-introspection
  meson
)
source=("git+$url.git#tag=${pkgver}")
b2sums=('4c83b8ece3c6a1ba2f061ce0111bcb73fd6723c06fb4fd52d12bcb855fa1041068892c0f30528a048557e268fa8f33d8cfda6ea429a4ce85c00a4d2d24be6acc')

prepare() {
  cd gsettings-desktop-schemas
}

build() {
  arch-meson gsettings-desktop-schemas build
  meson compile -C build
}

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

_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_gsettings-desktop-schemas-unstable() {
  provides+=(gsettings-desktop-schemas)
  conflicts+=(gsettings-desktop-schemas)
  pkgdesc+=" desktop components"
  depends=(
    "gsettings-system-schemas-unstable=$pkgver-$pkgrel"
    adwaita-fonts
    dconf
  )

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

  cd "$pkgdir"
  _pick system usr/share/glib-2.0/schemas/org.gnome.desktop.enums.xml
  _pick system usr/share/glib-2.0/schemas/org.gnome.system.*.gschema.xml
}

package_gsettings-system-schemas-unstable() {
  provides+=(gsettings-system-schemas)
  conflicts+=(gsettings-system-schemas)
  pkgdesc+=" system components"
  depends=(dconf)

  mv system/* "$pkgdir"
}