From 0a7a56e0e5954a3414e0a7763581949edcc20c8f Mon Sep 17 00:00:00 2001 From: "coadde [Márcio Alexandre Silva Delgado]" Date: Wed, 13 Apr 2016 15:35:21 -0300 Subject: glib2-static: add new package to [libre] --- ...Don-t-crash-when-no-schemas-are-installed.patch | 49 +++++++++++++++++++++ libre/glib2-static/PKGBUILD | 50 ++++++++++++++++++++++ libre/glib2-static/memleak.patch | 25 +++++++++++ .../revert-warn-glib-compile-schemas.patch | 33 ++++++++++++++ 4 files changed, 157 insertions(+) create mode 100644 libre/glib2-static/0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch create mode 100644 libre/glib2-static/PKGBUILD create mode 100644 libre/glib2-static/memleak.patch create mode 100644 libre/glib2-static/revert-warn-glib-compile-schemas.patch (limited to 'libre') diff --git a/libre/glib2-static/0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch b/libre/glib2-static/0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch new file mode 100644 index 000000000..44a56101d --- /dev/null +++ b/libre/glib2-static/0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch @@ -0,0 +1,49 @@ +From 4850cb55d3415b7d95c80c80ceb60f221f5dddf5 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 24 Feb 2016 18:58:25 +0100 +Subject: [PATCH] gsettings: Don't crash when no schemas are installed + +Still doesn't behave well ("gsettings help" causes an error), +but at least there's no segfault anymore. +--- + gio/gsettings-tool.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/gio/gsettings-tool.c b/gio/gsettings-tool.c +index 6a302ce..0026f55 100644 +--- a/gio/gsettings-tool.c ++++ b/gio/gsettings-tool.c +@@ -697,7 +697,7 @@ main (int argc, char **argv) + if (argc < 2) + return gsettings_help (FALSE, NULL); + +- global_schema_source = g_settings_schema_source_ref (g_settings_schema_source_get_default ()); ++ global_schema_source = g_settings_schema_source_get_default (); + + if (argc > 3 && g_str_equal (argv[1], "--schemadir")) + { +@@ -705,7 +705,6 @@ main (int argc, char **argv) + GError *error = NULL; + + global_schema_source = g_settings_schema_source_new_from_directory (argv[2], parent, FALSE, &error); +- g_settings_schema_source_unref (parent); + + if (global_schema_source == NULL) + { +@@ -719,6 +718,13 @@ main (int argc, char **argv) + argv = argv + 2; + argc -= 2; + } ++ else if (global_schema_source == NULL) ++ { ++ g_printerr (_("No schemas installed\n")); ++ return 1; ++ } ++ else ++ g_settings_schema_source_ref (global_schema_source); + + need_settings = TRUE; + +-- +2.7.1 + diff --git a/libre/glib2-static/PKGBUILD b/libre/glib2-static/PKGBUILD new file mode 100644 index 000000000..c5c50baa3 --- /dev/null +++ b/libre/glib2-static/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Márcio Silva +# based of glib2 + +pkgbase=glib2 +pkgname=glib2-static +pkgver=2.48.0 +pkgrel=1 +pkgdesc="Common C routines used by GTK+ and other libs (static libraries only)" +url="http://www.gtk.org/" +arch=(i686 x86_64 armv7h) +makedepends=('pkg-config' 'python' 'libxslt' 'docbook-xml' 'pcre' 'libffi' 'libelf') +source=(http://ftp.gnome.org/pub/GNOME/sources/glib/${pkgver:0:4}/glib-$pkgver.tar.xz + revert-warn-glib-compile-schemas.patch) +sha256sums=('744be6931ca914c68af98dc38ff6b0cf8381d65e335060faddfbf04c17147c34' + '049240975cd2f1c88fbe7deb28af14d4ec7d2640495f7ca8980d873bb710cc97') + +prepare() { + cd glib-$pkgver + patch -Rp1 -i ../revert-warn-glib-compile-schemas.patch +} + +build() { + cd glib-$pkgver + ./configure --prefix=/usr --libdir=/usr/lib \ + --with-pcre=system \ + --disable-fam + make +} + +check() { + cd glib-$pkgver + #make -k check || : +} + +package() { + depends=('pcre-static' 'libffi-static' 'glib2') + options=('!docs' '!emptydirs' 'staticlibs') + license=('LGPL') + + cd glib-$pkgver + make completiondir=/usr/share/bash-completion/completions DESTDIR="$pkgdir" install + + for _i in "$pkgdir/usr/share/bash-completion/completions/"*; do + chmod -x "$_i" + done + + # Our gdb does not ship the required python modules, so remove it + rm -rf "$pkgdir/usr/share/gdb/" +} +} diff --git a/libre/glib2-static/memleak.patch b/libre/glib2-static/memleak.patch new file mode 100644 index 000000000..2b927a101 --- /dev/null +++ b/libre/glib2-static/memleak.patch @@ -0,0 +1,25 @@ +From db641e32920ee8b553ab6f2d318aafa156e4390c Mon Sep 17 00:00:00 2001 +From: Evangelos Foutras +Date: Wed, 25 Nov 2015 23:29:18 +0200 +Subject: GDBusProxy: Fix a memory leak during initialization + +https://bugzilla.gnome.org/show_bug.cgi?id=758641 +--- + gio/gdbusproxy.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gio/gdbusproxy.c b/gio/gdbusproxy.c +index 52a22fb..7b1140f 100644 +--- a/gio/gdbusproxy.c ++++ b/gio/gdbusproxy.c +@@ -1720,6 +1720,7 @@ async_initable_init_second_finish (GAsyncInitable *initable, + if (result != NULL) + { + process_get_all_reply (proxy, result); ++ g_variant_unref (result); + } + + proxy->priv->initialized = TRUE; +-- +cgit v0.11.2 + diff --git a/libre/glib2-static/revert-warn-glib-compile-schemas.patch b/libre/glib2-static/revert-warn-glib-compile-schemas.patch new file mode 100644 index 000000000..75b05103c --- /dev/null +++ b/libre/glib2-static/revert-warn-glib-compile-schemas.patch @@ -0,0 +1,33 @@ +From 6560b37450cd19c4a7c7b690e279fe97b7bfdcaa Mon Sep 17 00:00:00 2001 +From: Ryan Lortie +Date: Thu, 12 Apr 2012 23:55:34 +0000 +Subject: glib-compile-schemas: warn about bad dconf paths + +For quite some time the recommended usage of GSettings and dconf has +been to use paths like /org/gnome/example/. Use of /apps/ has spilled +over from GConf and is continuing to make its way into a number of +applications as they port. + +glib-compile-schemas will now warn about these types of paths being +used. This generates a lot of noise, but hopefully it will reduce the +number of ported applications making this mistake. +--- +diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c +index cf02389..27d0181 100644 +--- a/gio/glib-compile-schemas.c ++++ b/gio/glib-compile-schemas.c +@@ -1204,6 +1204,12 @@ 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/"))) ++ g_printerr ("warning: Schema '%s' has path '%s'. Paths starting with " ++ "'/apps/', '/desktop/' or '/system/' are deprecated.\n", id, path); ++ + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); + +-- +cgit v0.9.0.2 -- cgit v1.2.3