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

#pkgbase=glib2
#pkgname=(glib2 glib2-docs)
pkgname=glib2
pkgver=2.76.1
pkgrel=01
pkgdesc="Low level core library"
url="https://wiki.gnome.org/Projects/GLib"
depends=(pcre2 libffi util-linux-libs zlib) # libsysprof-capture)
makedepends=(gettext shared-mime-info python libelf git util-linux
             meson dbus gtk3)
#checkdepends=(desktop-file-utils glib2)
#options=(debug staticlibs)  ###  uncomment this to have the debug pkg produced
options=(staticlibs)
_commit=180713772f4e7bcdddf2c793f2f34a498184ed15  # tags/2.76.1^0
 source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit"
         "git+https://gitlab.gnome.org/GNOME/gvdb.git"
         0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch
         gio-querymodules.{hook,script}
         glib-compile-schemas.hook)

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

prepare() {
  cd glib

  # Suppress noise from glib-compile-schemas.hook
  git apply -3 ../0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch

  git submodule init
  git submodule set-url subprojects/gvdb "$srcdir/gvdb"
  git -c protocol.file.allow=always submodule update
}

build() {
  # use fat LTO objects for static libraries
  CFLAGS+=' -ffat-lto-objects -g3'
  CXXFLAGS+=' -ffat-lto-objects -g3'

  CFLAGS+=" -DG_DISABLE_CAST_CHECKS"
  arch-meson glib build \
    --default-library both \
    -D glib_debug=disabled \
    -D selinux=disabled \
    -D sysprof=disabled \
    -D man=true \
    -D gtk_doc=false
  meson compile -C build
}

#  Read ./note about the reason of the failing test, it is because we refuse to let dbus run!
#check() {
#  meson test -C build --no-suite flaky --no-suite slow --print-errorlogs
#}
#
#  You can run this check, get the 2 failured listed in "note" comment this and rerun makepkg without -f 
#

#package_glib2() {
package() {
  depends+=(libmount.so libffi.so)
  provides+=(libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so
             libgthread-2.0.so)
  optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report'
              'libelf: gresource inspection tool')

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

  install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook
  install -D gio-querymodules.script "$pkgdir/usr/share/libalpm/scripts/gio-querymodules"

  python -m compileall -d /usr/share/glib-2.0/codegen \
    "$pkgdir/usr/share/glib-2.0/codegen"
  python -O -m compileall -d /usr/share/glib-2.0/codegen \
    "$pkgdir/usr/share/glib-2.0/codegen"

# BUILT THIS WITH gtk-docs disabled above, since we are borrowing the docs pkg from Arch instead of
# building it.  The following is to split the gtk-doc part into a separate pkg.
#  # Split docs
#  mkdir -p docs/usr/share
#  mv {"$pkgdir",docs}/usr/share/gtk-doc
#
}

#package_glib2-docs() {
#  pkgdesc="Documentation for GLib"
#  depends=()
#  license+=(custom)

#  mv -t "$pkgdir" docs/*
#  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 glib/docs/reference/COPYING
#}

#---- arch license gpg-key & sha256sums ----

arch=(x86_64)

license=(LGPL)

validpgpkeys=('923B7025EE03C1C59F42684CF0942E894B2EAFA0') # Philip Withnall (https://endlessos.org/) <pwithnall@endlessos.org>

sha256sums=(SKIP
	SKIP
	c3ba9ae2055ea47b94f98e6c4fa879cb0ffe46d67d62c88153876fde56d7e928  # 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch
	2a9f9b8235f48e3b7d0f6cfcbc76cd2116c45f28692cac4bd61074c495bd5eb7  # gio-querymodules.hook
	92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e  # gio-querymodules.script
	64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25) # glib-compile-schemas.hook

##  82ec1742cd3cdfb682efb422d327e4352ecf02203855923296f6068b72aecafe  glib2-2.76.1-01-x86_64.pkg.tar.lz


