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

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - remove makedepends on pandoc
#  - set gtk_doc=false, comment doc build
#  - use github mirror, more reliable

pkgbase=gtk4
pkgname=(gtk4 gtk-update-icon-cache)
pkgver=4.0.3
pkgrel=1
epoch=1
pkgdesc="GObject-based multi-platform GUI toolkit"
arch=(x86_64)
url="https://www.gtk.org/"
depends=(glib2 cairo pango fribidi gdk-pixbuf2 libepoxy libgl libegl harfbuzz
         libxkbcommon graphene iso-codes tracker3 colord wayland libxrandr
         libx11 libxrender libxi libxext libxcursor libxdamage libxfixes
         libxcomposite fontconfig libxinerama vulkan-icd-loader vulkan-headers
         libcloudproviders libcups rest json-glib ffmpeg gst-plugins-bad-libs
         librsvg dconf shared-mime-info desktop-file-utils adwaita-icon-theme
         cantarell-fonts)
makedepends=(git meson gtk-doc glib2-docs wayland-protocols sysprof python
             shaderc sassc gobject-introspection)
license=(LGPL)
_commit=463794e9395a7e5701559a67a2072e18bbfacf06  # tags/4.0.3^0
source=("git+https://github.com/GNOME/gtk.git#commit=$_commit"
        gtk-update-icon-cache.{hook,script} gtk4-querymodules.hook)
sha256sums=('SKIP'
            '2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8'
            'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541'
            'cd8e607eddd9941f279084e1d15309941423d26cca1897f43524a02e58e48816')

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

prepare() {
  cd gtk
}

build() {
  CFLAGS+=" -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
  arch-meson gtk build \
    -D broadway_backend=true \
    -D cloudproviders=enabled \
    -D sysprof=enabled \
    -D tracker=enabled \
    -D colord=enabled \
    -D gtk_doc=false \
    -D man-pages=true
  meson compile -C build
  #ninja -C build g{d,s,t}k4-doc
}

package_gtk4() {
  depends+=(gtk-update-icon-cache)
  provides+=(libgtk-4.so)

  DESTDIR="$pkgdir" meson install -C build

  install -Dm644 /dev/stdin "$pkgdir/usr/share/gtk-4.0/settings.ini" <<END
[Settings]
gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = Cantarell 11
END

  install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk4-querymodules.hook

  # gtk-update-icon-cache is also used by other toolkits
  mkdir -p guic/usr/{bin,share/man/man1}
  mv {"$pkgdir",guic}/usr/bin/gtk4-update-icon-cache
  mv {"$pkgdir",guic}/usr/share/man/man1/gtk4-update-icon-cache.1
}

package_gtk-update-icon-cache() {
  pkgdesc="GTK icon cache updater"
  depends=(gdk-pixbuf2 librsvg hicolor-icon-theme)

  mv -t "$pkgdir" guic/*
  ln -s gtk4-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
  ln -s gtk4-update-icon-cache.1 "$pkgdir/usr/share/man/man1/gtk-update-icon-cache.1"

  install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk-update-icon-cache.hook
  install -D gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
}

# vim:set ts=2 sw=2 et: