Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/build-support/glib2/PKGBUILD
diff options
context:
space:
mode:
authorTasos Sahanidis <tasos@tasossah.com>2024-04-08 13:32:48 +0300
committerTasos Sahanidis <tasos@tasossah.com>2024-04-08 13:32:48 +0300
commit3270e3252a6b89e1d0a85619e79d3f746bdcaf29 (patch)
treee777e078d2e8ec3c0fa268d20f230391192c82b8 /build-support/glib2/PKGBUILD
parentb43ded72a692ff76968fe6be1d93a495924a7e67 (diff)
build-support: Add glib2 without introspection
Diffstat (limited to 'build-support/glib2/PKGBUILD')
-rw-r--r--build-support/glib2/PKGBUILD138
1 files changed, 138 insertions, 0 deletions
diff --git a/build-support/glib2/PKGBUILD b/build-support/glib2/PKGBUILD
new file mode 100644
index 00000000..5c25915e
--- /dev/null
+++ b/build-support/glib2/PKGBUILD
@@ -0,0 +1,138 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Maintainer: Fabian Bornschein <fabiscafe@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+# glib2 without introspection for bootstrapping
+
+pkgbase=glib2
+pkgname=(
+ glib2
+ glib2-docs
+)
+pkgver=2.80.0
+pkgrel=3
+pkgdesc="Low level core library"
+url="https://gitlab.gnome.org/GNOME/glib"
+license=(LGPL-2.1-or-later)
+arch=(i486 i686 pentium4)
+depends=(
+ libffi
+ libsysprof-capture
+ pcre2
+ util-linux-libs
+ zlib
+)
+makedepends=(
+ dbus
+ gettext
+ git
+ gi-docgen
+ gobject-introspection
+ libelf
+ meson
+ python
+ python-docutils
+ python-packaging
+ shared-mime-info
+ util-linux
+)
+checkdepends=(
+ desktop-file-utils
+ glib2
+)
+options=(
+ debug
+ staticlibs
+)
+source=(
+ "git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$pkgver"
+ "git+https://gitlab.gnome.org/GNOME/gvdb.git"
+ 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch
+ gio-querymodules.hook
+ glib-compile-schemas.hook
+)
+b2sums=('cc3a6a7a14fef1aabc08d3bdfe98f66e3ecf3591ac054d83aa9404c8c9cd72e690a4c26c16934700d067bb2cb3d58730387482032cd9ffa04b041869426165ba'
+ 'SKIP'
+ '94c73ca7070c239494873dd52d6ee09382bbb5b1201f7afd737cfa140b1a2fb0744b2c2831baf3943d1d072550c35888d21ce6f19f89481ff9d1a60d9a0b30e0'
+ '14c9211c0557f6d8d9a914f1b18b7e0e23f79f4abde117cb03ab119b95bf9fa9d7a712aa0a29beb266468aeb352caa3a9e4540503cfc9fe0bbaf764371832a96'
+ 'acc2f474139e535f4bdd70ac22a9150f786b3395e679b14d0d3fbb9361d511bb1b5069d95b2a7ac9c0f3d901b03a0c037eb273446ba00764191b30a777bd2bc9')
+validpgpkeys=(
+ 923B7025EE03C1C59F42684CF0942E894B2EAFA0 # Philip Withnall <pwithnall@gnome.org>
+)
+
+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() {
+ local meson_options=(
+ --default-library both
+ -D glib_debug=disabled
+ -D documentation=true
+ -D introspection=disabled
+ -D man-pages=enabled
+ -D selinux=disabled
+ -D sysprof=enabled
+ )
+
+ # Produce more debug info: GLib has a lot of useful macros
+ CFLAGS+=" -g3"
+ CXXFLAGS+=" -g3"
+
+ # use fat LTO objects for static libraries
+ CFLAGS+=" -ffat-lto-objects"
+ CXXFLAGS+=" -ffat-lto-objects"
+
+ arch-meson glib build "${meson_options[@]}"
+ meson compile -C build
+}
+
+check() {
+ meson test -C build --no-suite flaky --no-suite slow --print-errorlogs || true
+}
+
+package_glib2() {
+ depends+=(
+ libffi.so
+ libmount.so
+ )
+ provides+=(libg{lib,io,irepository,module,object,thread}-2.0.so)
+ optdepends=(
+ 'gvfs: most gio functionality'
+ 'libelf: gresource inspection tool'
+ 'python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report'
+ 'python-packaging: gdbus-codegen'
+ )
+
+ meson install -C build --destdir "$pkgdir"
+
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook
+ touch "$pkgdir/usr/lib/gio/modules/.keep"
+
+ 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"
+
+ # Split docs
+ mkdir -p docs/usr/share
+ mv {"$pkgdir",docs}/usr/share/doc
+}
+
+package_glib2-docs() {
+ pkgdesc+=" - documentation"
+ depends=()
+ license+=(LicenseRef-Public-Domain)
+
+ mv -t "$pkgdir" docs/*
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 glib/docs/reference/COPYING
+}
+
+# vim:set sw=2 sts=-1 et: