#!/usr/bin/bash
# JOBoRun		: Jwm OpenBox Obarun RUNit
# Maintainer	: Joe Bo Run <joborun@disroot.org>
# PkgSource		: url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website		: https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------

#pkgbase=gtk3
pkgname=gtk3 # gtk3-docs gtk3-demos)
pkgver=3.24.37
pkgrel=01
epoch=1
pkgdesc="GObject-based multi-platform GUI toolkit"
url="https://www.gtk.org/"
arch=(x86_64)
depends=(adwaita-icon-theme atk cairo cantarell-fonts dconf 
	desktop-file-utils fontconfig fribidi gdk-pixbuf2 glib2 harfbuzz 
	iso-codes libcloudproviders libcolord libcups libegl libepoxy libgl
	librsvg libxcomposite libx11 libxcursor libxdamage libxfixes libxi 
	libxinerama libxkbcommon libxrandr pango shared-mime-info tracker3
	wayland)
#makedepends=(git glib2-docs gobject-introspection gtk-doc meson sassc
makedepends=(     glib2-docs gobject-introspection gtk-doc meson sassc
	 wayland-protocols)
#options=(debug) # uncomment to produce the gtk3-debug pkg
_commit=013b629a2e5420cc01647f859226eb1a37ebe661  # tags/3.24.37^0
source=(
	"git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit"  ## getting impossible on the day of the release to download the entire gtk git 
#	https://gitlab.gnome.org/GNOME/gtk/-/archive/3.24.37/gtk-3.24.37.tar.gz
	gtk-query-immodules-3.0.hook)

pkgver() {
  cd gtk
  git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}


prepare() {
  cd gtk

#  # https://bugs.archlinux.org/task/76018
#  # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4381#note_1465559
#  git revert -n da4066774b926880631af099469d308714b5606c
}

build() {
  local meson_options=(
    -D broadway_backend=true
    -D cloudproviders=true
    -D colord=yes
    -D gtk_doc=false
    -D introspection=true
    -D man=true
    -D tracker3=true
  )

  CFLAGS+=" -DG_DISABLE_CAST_CHECKS"
  arch-meson gtk 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_gtk3() {
package() {
#  cd gtk-$pkgver
  depends+=(gtk-update-icon-cache)
  optdepends=('evince: Default print preview command')

  provides=(gtk3-print-backends libgailutil-3.so libgdk-3.so libgtk-3.so)
  conflicts=(gtk3-print-backends)
  replaces=("gtk3-print-backends<=3.22.26-1")
  install=gtk3.install

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

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

  install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk-query-immodules-3.0.hook

  cd "$pkgdir"

  _pick demo usr/bin/gtk3-{demo,demo-application,icon-browser,widget-factory}
  _pick demo usr/share/applications/gtk3-{demo,icon-browser,widget-factory}.desktop
  _pick demo usr/share/glib-2.0/schemas/org.gtk.{Demo,exampleapp}.gschema.xml
  _pick demo usr/share/icons/hicolor/*/apps/gtk3-{demo,widget-factory}[-.]*
  _pick demo usr/share/man/man1/gtk3-{demo,demo-application,icon-browser,widget-factory}.1

#  _pick docs usr/share/gtk-doc

  # Built by GTK 4, shared with GTK 3
  rm usr/bin/gtk-update-icon-cache
  rm usr/share/man/man1/gtk-update-icon-cache.1
}

#########
# -  To make the following pkgs uncomment the pkgbase and pkgnames and the following two sections
#
#
#
#package_gtk3-docs() {
#  pkgdesc+=" (documentation)"
#  depends=()
#  mv docs/* "$pkgdir"
#}
#
#package_gtk3-demos() {
#  pkgdesc+=" (demo applications)"
#  depends=(gtk3)
#  mv demo/* "$pkgdir"
#}
###########

#---- license gpg-key sha256sums ----

license=(LGPL)

sha256sums=(SKIP
	# b9978e73629ce15be4b7ef085ee61d2b57d684c9980b8082c6f65059cf8b3445  # gtk-3.24.37.tar.gz
	a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229) # gtk-query-immodules-3.0.hook

##  500104f1cde0b273536b86dd442bab52b02b6995e3bd6aab6eb7f35d6313473f  gtk3-1:3.24.37-01-x86_64.pkg.tar.lz


