summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2016-04-13 15:35:21 -0300
committercoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2016-04-16 10:22:52 -0300
commit0a7a56e0e5954a3414e0a7763581949edcc20c8f (patch)
tree7abb504a962d89eaa27568aabfbd0d80758bbe38
parentfa98ccf42a1f4f8b2fb536400c5048530c45355e (diff)
downloadabslibre-0a7a56e0e5954a3414e0a7763581949edcc20c8f.tar.gz
abslibre-0a7a56e0e5954a3414e0a7763581949edcc20c8f.tar.bz2
abslibre-0a7a56e0e5954a3414e0a7763581949edcc20c8f.zip
glib2-static: add new package to [libre]
-rw-r--r--libre/glib2-static/0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch49
-rw-r--r--libre/glib2-static/PKGBUILD50
-rw-r--r--libre/glib2-static/memleak.patch25
-rw-r--r--libre/glib2-static/revert-warn-glib-compile-schemas.patch33
4 files changed, 157 insertions, 0 deletions
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)" <jan.steffens@gmail.com>
+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 <coadde@parabola.nu>
+# 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 <evangelos@foutrelis.com>
+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 <desrt@desrt.ca>
+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