summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Choina2021-02-02 15:03:45 -0500
committerSolomon Choina2021-02-02 15:03:45 -0500
commit5093f567ca241646262d079552480dbc1a89146b (patch)
tree0c811c466042ed789d85eb62cace9eaf9e7f6e11
downloadaur-5093f567ca241646262d079552480dbc1a89146b.tar.gz
initial commit
-rw-r--r--.SRCINFO53
-rw-r--r--PKGBUILD84
-rw-r--r--gio-querymodules.hook12
-rw-r--r--gio-querymodules.script7
-rw-r--r--glib-compile-schemas.hook12
-rw-r--r--noisy-glib-compile-schemas.diff24
6 files changed, 192 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9475264f567d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,53 @@
+pkgbase = glib2-selinux
+ pkgdesc = Low level core library
+ pkgver = 2.66.4
+ pkgrel = 2
+ url = https://wiki.gnome.org/Projects/GLib
+ arch = x86_64
+ license = LGPL
+ checkdepends = desktop-file-utils
+ makedepends = gettext
+ makedepends = gtk-doc
+ makedepends = shared-mime-info
+ makedepends = python
+ makedepends = libelf
+ makedepends = git
+ makedepends = util-linux
+ makedepends = meson
+ makedepends = dbus
+ makedepends = sysprof
+ depends = pcre
+ depends = libffi
+ depends = util-linux-libs
+ depends = zlib
+ source = git+https://gitlab.gnome.org/GNOME/glib.git#commit=bacbec652d356895ec493f3de2f2f6f4c7dafde0
+ source = noisy-glib-compile-schemas.diff
+ source = glib-compile-schemas.hook
+ source = gio-querymodules.hook
+ source = gio-querymodules.script
+ sha256sums = SKIP
+ sha256sums = 81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531
+ sha256sums = 64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25
+ sha256sums = 2a9f9b8235f48e3b7d0f6cfcbc76cd2116c45f28692cac4bd61074c495bd5eb7
+ sha256sums = 92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e
+
+pkgname = glib2-selinux
+ depends = pcre
+ depends = libffi
+ depends = util-linux-libs
+ depends = zlib
+ depends = libmount.so
+ optdepends = python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report
+ optdepends = libelf: gresource inspection tool
+ optdepends = selinux: selinux support
+ provides = libgio-2.0.so
+ provides = libglib-2.0.so
+ provides = libgmodule-2.0.so
+ provides = libgobject-2.0.so
+ provides = libgthread-2.0.so
+
+pkgname = glib2-selinux-docs
+ pkgdesc = Documentation for GLib
+ license = LGPL
+ license = custom
+ depends =
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..469fcbb6e34e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,84 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+# Maintainer: Solomon Choina <shlomochoina@gmail.com>
+pkgbase=glib2-selinux
+pkgname=(glib2-selinux glib2-selinux-docs)
+pkgver=2.66.4
+pkgrel=2
+pkgdesc="Low level core library"
+url="https://wiki.gnome.org/Projects/GLib"
+license=(LGPL)
+arch=(x86_64)
+depends=(pcre libffi util-linux-libs zlib)
+makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux
+ meson dbus sysprof)
+checkdepends=(desktop-file-utils)
+_commit=bacbec652d356895ec493f3de2f2f6f4c7dafde0 # tags/2.66.4^0
+source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit"
+ noisy-glib-compile-schemas.diff
+ glib-compile-schemas.hook gio-querymodules.{hook,script})
+sha256sums=('SKIP'
+ '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
+ '64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25'
+ '2a9f9b8235f48e3b7d0f6cfcbc76cd2116c45f28692cac4bd61074c495bd5eb7'
+ '92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e')
+
+pkgver() {
+ cd glib
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd glib
+
+ # Suppress noise from glib-compile-schemas.hook
+ git apply -3 ../noisy-glib-compile-schemas.diff
+}
+
+build() {
+ CFLAGS+=" -DG_DISABLE_CAST_CHECKS"
+ arch-meson glib build \
+ -D selinux=enabled \
+ -D man=true \
+ -D gtk_doc=true
+ meson compile -C build
+}
+
+package_glib2-selinux() {
+ depends+=(libmount.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'
+ 'selinux: selinux support')
+
+ DESTDIR="$pkgdir" meson install -C build
+
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook
+ install -D gio-querymodules.script "$pkgdir/usr/share/libalpm/scripts/gio-querymodules"
+
+ # Avoid a dep on sysprof
+ sed -i 's/, sysprof-capture-4//' "$pkgdir"/usr/lib/pkgconfig/*.pc
+
+ export PYTHONHASHSEED=0
+ 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/gtk-doc
+}
+
+package_glib2-selinux-docs() {
+ pkgdesc="Documentation for GLib"
+ depends=()
+ license+=(custom)
+
+ mv -t "$pkgdir" docs/*
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 glib/docs/reference/COPYING
+}
+
+# vim:set sw=2 et:
diff --git a/gio-querymodules.hook b/gio-querymodules.hook
new file mode 100644
index 000000000000..09b0c2f89c88
--- /dev/null
+++ b/gio-querymodules.hook
@@ -0,0 +1,12 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/gio/modules/
+
+[Action]
+Description = Updating GIO module cache...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/gio-querymodules
+NeedsTargets
diff --git a/gio-querymodules.script b/gio-querymodules.script
new file mode 100644
index 000000000000..5c218775790a
--- /dev/null
+++ b/gio-querymodules.script
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+while read -r d; do
+ [[ -d $d ]] || continue
+ gio-querymodules "$d"
+ rmdir --ignore-fail-on-non-empty "$d"
+done
diff --git a/glib-compile-schemas.hook b/glib-compile-schemas.hook
new file mode 100644
index 000000000000..974549d7660d
--- /dev/null
+++ b/glib-compile-schemas.hook
@@ -0,0 +1,12 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/glib-2.0/schemas/*.gschema.xml
+Target = usr/share/glib-2.0/schemas/*.gschema.override
+
+[Action]
+Description = Compiling GSettings XML schema files...
+When = PostTransaction
+Exec = /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
diff --git a/noisy-glib-compile-schemas.diff b/noisy-glib-compile-schemas.diff
new file mode 100644
index 000000000000..f5f2d9482229
--- /dev/null
+++ b/noisy-glib-compile-schemas.diff
@@ -0,0 +1,24 @@
+diff --git i/gio/glib-compile-schemas.c w/gio/glib-compile-schemas.c
+index b8de0907248f6860..130f89b1728f7932 100644
+--- i/gio/glib-compile-schemas.c
++++ w/gio/glib-compile-schemas.c
+@@ -1219,19 +1219,6 @@ parse_state_start_schema (ParseState *state,
+ return;
+ }
+
+- if (path && (g_str_has_prefix (path, "/apps/") ||
+- g_str_has_prefix (path, "/desktop/") ||
+- g_str_has_prefix (path, "/system/")))
+- {
+- gchar *message = NULL;
+- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. "
+- "Paths starting with "
+- "“/apps/”, “/desktop/” or “/system/” are deprecated."),
+- id, path);
+- g_printerr ("%s\n", message);
+- g_free (message);
+- }
+-
+ state->schema_state = schema_state_new (path, gettext_domain,
+ extends, extends_name, list_of);
+