glib2 2.80.0-1
This commit is contained in:
commit
2e7aca82e5
54
PKGBUILD
Normal file
54
PKGBUILD
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# Maintainer: Future Linux Team <futurelinux@163.com>
|
||||||
|
|
||||||
|
pkgname=glib2
|
||||||
|
pkgver=2.80.0
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="Low level core library"
|
||||||
|
arch=('x86_64')
|
||||||
|
url="https://gitlab.gnome.org/GNOME/glib"
|
||||||
|
license=('LGPL-2.1-or-later')
|
||||||
|
depends=('libffi' 'pcre2' 'util-linux' 'zlib' 'python-packaging')
|
||||||
|
makedepends=('dbus' 'gettext' 'libelf' 'meson' 'python-docutils' 'libxslt')
|
||||||
|
source=(https://download.gnome.org/sources/glib/${pkgver%.*}/glib-${pkgver}.tar.xz
|
||||||
|
glib-skip_warnings-1.patch
|
||||||
|
gio-querymodules.hook
|
||||||
|
glib-compile-schemas.hook)
|
||||||
|
sha256sums=(8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d
|
||||||
|
8f9ee9f4a6a08c49c9c912241c63d55b969950c49f4d40337c6fd9557b9daa1b
|
||||||
|
b6fb5f07643c234bd0bde6c4899001effd270c17132e546cec535cb15771d269
|
||||||
|
64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25)
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd glib-${pkgver}
|
||||||
|
|
||||||
|
patch -Np1 -i ${srcdir}/glib-skip_warnings-1.patch
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd glib-${pkgver}
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
meson setup build \
|
||||||
|
--prefix=/usr \
|
||||||
|
--libdir=/usr/lib64 \
|
||||||
|
--buildtype=release \
|
||||||
|
-Dintrospection=disabled \
|
||||||
|
-Dman-pages=enabled
|
||||||
|
|
||||||
|
meson compile -C build
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd glib-${pkgver}
|
||||||
|
|
||||||
|
meson install -C build --destdir ${pkgdir}
|
||||||
|
|
||||||
|
install -Dt ${pkgdir}/usr/share/libalpm/hooks -m644 ${srcdir}/*.hook
|
||||||
|
}
|
11
gio-querymodules.hook
Normal file
11
gio-querymodules.hook
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Trigger]
|
||||||
|
Type = Path
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Operation = Remove
|
||||||
|
Target = usr/lib64/gio/modules/*.so
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Updating GIO module cache...
|
||||||
|
When = PostTransaction
|
||||||
|
Exec = /usr/bin/gio-querymodules /usr/lib64/gio/modules
|
12
glib-compile-schemas.hook
Normal file
12
glib-compile-schemas.hook
Normal file
@ -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
|
79
glib-skip_warnings-1.patch
Normal file
79
glib-skip_warnings-1.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
Submitted By: Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||||
|
Rediffed By: Douglas R. Reno <renodr at linuxfromscratch dot org>
|
||||||
|
Date: 2017-10-15
|
||||||
|
Rediffed Date: 2021-04-01
|
||||||
|
Initial Package Version: 2.54.0
|
||||||
|
Upstream Status: Not submitted
|
||||||
|
Origin: Self
|
||||||
|
Description: Adds a capabiility to skip printing warning messages using
|
||||||
|
an environment variable: GLIB_LOG_LEVEL. The value
|
||||||
|
of the variable is a digit that correponds to:
|
||||||
|
1 Alert
|
||||||
|
2 Critical
|
||||||
|
3 Error
|
||||||
|
4 Warning
|
||||||
|
5 Notice
|
||||||
|
|
||||||
|
For instance GLIB_LOG_LEVEL=4 will skip output of Warning and
|
||||||
|
Notice messages (and Info/Debug messages if they are turned on).
|
||||||
|
|
||||||
|
Rediffed for 2.68.0 to reduce the fuzz warnings.
|
||||||
|
|
||||||
|
diff -Naurp glib-2.68.0.orig/glib/gmessages.c glib-2.68.0/glib/gmessages.c
|
||||||
|
--- glib-2.68.0.orig/glib/gmessages.c 2021-03-18 08:28:31.909625000 -0500
|
||||||
|
+++ glib-2.68.0/glib/gmessages.c 2021-04-01 20:32:23.517596280 -0500
|
||||||
|
@@ -528,6 +528,34 @@ static GDestroyNotify log_writer_user_da
|
||||||
|
|
||||||
|
/* --- functions --- */
|
||||||
|
|
||||||
|
+/* skip_message
|
||||||
|
+ *
|
||||||
|
+ * This internal function queries an optional environment variable,
|
||||||
|
+ * GLIB_LOG_LEVEL and converts it to a value consistent
|
||||||
|
+ * with the type GLogLevelFlags. If the value is equal to
|
||||||
|
+ * or greater than the integer equivalent of the log_level,
|
||||||
|
+ * then the function returns a boolean that indicates that
|
||||||
|
+ * logging the output should be skipped.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+static gboolean skip_message( GLogLevelFlags log_level);
|
||||||
|
+
|
||||||
|
+static gboolean skip_message( GLogLevelFlags log_level)
|
||||||
|
+{
|
||||||
|
+ char* user_log_level;
|
||||||
|
+ int user_log_int;
|
||||||
|
+ gboolean skip = FALSE;
|
||||||
|
+
|
||||||
|
+ user_log_level = getenv( "GLIB_LOG_LEVEL" );
|
||||||
|
+
|
||||||
|
+ user_log_int = ( user_log_level != NULL ) ? atoi( user_log_level ) : 0;
|
||||||
|
+ user_log_int = ( user_log_level != 0 ) ? 1 << user_log_int : 0;
|
||||||
|
+
|
||||||
|
+ if ( user_log_int >= log_level ) skip = TRUE;
|
||||||
|
+
|
||||||
|
+ return skip;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void _g_log_abort (gboolean breakpoint);
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -2591,6 +2619,9 @@ g_log_writer_standard_streams (GLogLevel
|
||||||
|
g_return_val_if_fail (fields != NULL, G_LOG_WRITER_UNHANDLED);
|
||||||
|
g_return_val_if_fail (n_fields > 0, G_LOG_WRITER_UNHANDLED);
|
||||||
|
|
||||||
|
+ /* If the user does not want this message level, just return */
|
||||||
|
+ if ( skip_message( log_level) ) return G_LOG_WRITER_HANDLED;
|
||||||
|
+
|
||||||
|
stream = log_level_to_file (log_level);
|
||||||
|
if (!stream || fileno (stream) < 0)
|
||||||
|
return G_LOG_WRITER_UNHANDLED;
|
||||||
|
@@ -2818,6 +2849,9 @@ _g_log_writer_fallback (GLogLevelFlags
|
||||||
|
FILE *stream;
|
||||||
|
gsize i;
|
||||||
|
|
||||||
|
+ /* If the user does not want this message level, just return */
|
||||||
|
+ if ( skip_message( log_level) ) return G_LOG_WRITER_HANDLED;
|
||||||
|
+
|
||||||
|
/* we cannot call _any_ GLib functions in this fallback handler,
|
||||||
|
* which is why we skip UTF-8 conversion, etc.
|
||||||
|
* since we either recursed or ran out of memory, we're in a pretty
|
Loading…
Reference in New Issue
Block a user