[arch-commits] Commit in glib2/repos (16 files)
Jan Steffens
heftig at archlinux.org
Sun Oct 8 21:33:24 UTC 2017
Date: Sunday, October 8, 2017 @ 21:33:23
Author: heftig
Revision: 307203
archrelease: copy trunk to testing-i686, testing-x86_64
Added:
glib2/repos/testing-i686/
glib2/repos/testing-i686/0001-docs-Fix-building-with-meson.patch
(from rev 307202, glib2/trunk/0001-docs-Fix-building-with-meson.patch)
glib2/repos/testing-i686/0001-meson-Fix-permissions-of-installed-scripts.patch
(from rev 307202, glib2/trunk/0001-meson-Fix-permissions-of-installed-scripts.patch)
glib2/repos/testing-i686/PKGBUILD
(from rev 307202, glib2/trunk/PKGBUILD)
glib2/repos/testing-i686/gio-querymodules.hook
(from rev 307202, glib2/trunk/gio-querymodules.hook)
glib2/repos/testing-i686/glib-compile-schemas.hook
(from rev 307202, glib2/trunk/glib-compile-schemas.hook)
glib2/repos/testing-i686/libs.diff
(from rev 307202, glib2/trunk/libs.diff)
glib2/repos/testing-i686/noisy-glib-compile-schemas.diff
(from rev 307202, glib2/trunk/noisy-glib-compile-schemas.diff)
glib2/repos/testing-x86_64/
glib2/repos/testing-x86_64/0001-docs-Fix-building-with-meson.patch
(from rev 307202, glib2/trunk/0001-docs-Fix-building-with-meson.patch)
glib2/repos/testing-x86_64/0001-meson-Fix-permissions-of-installed-scripts.patch
(from rev 307202, glib2/trunk/0001-meson-Fix-permissions-of-installed-scripts.patch)
glib2/repos/testing-x86_64/PKGBUILD
(from rev 307202, glib2/trunk/PKGBUILD)
glib2/repos/testing-x86_64/gio-querymodules.hook
(from rev 307202, glib2/trunk/gio-querymodules.hook)
glib2/repos/testing-x86_64/glib-compile-schemas.hook
(from rev 307202, glib2/trunk/glib-compile-schemas.hook)
glib2/repos/testing-x86_64/libs.diff
(from rev 307202, glib2/trunk/libs.diff)
glib2/repos/testing-x86_64/noisy-glib-compile-schemas.diff
(from rev 307202, glib2/trunk/noisy-glib-compile-schemas.diff)
----------------------------------------------------------------------+
testing-i686/0001-docs-Fix-building-with-meson.patch | 85 ++++++
testing-i686/0001-meson-Fix-permissions-of-installed-scripts.patch | 50 +++
testing-i686/PKGBUILD | 84 ++++++
testing-i686/gio-querymodules.hook | 11
testing-i686/glib-compile-schemas.hook | 12
testing-i686/libs.diff | 128 ++++++++++
testing-i686/noisy-glib-compile-schemas.diff | 24 +
testing-x86_64/0001-docs-Fix-building-with-meson.patch | 85 ++++++
testing-x86_64/0001-meson-Fix-permissions-of-installed-scripts.patch | 50 +++
testing-x86_64/PKGBUILD | 84 ++++++
testing-x86_64/gio-querymodules.hook | 11
testing-x86_64/glib-compile-schemas.hook | 12
testing-x86_64/libs.diff | 128 ++++++++++
testing-x86_64/noisy-glib-compile-schemas.diff | 24 +
14 files changed, 788 insertions(+)
Copied: glib2/repos/testing-i686/0001-docs-Fix-building-with-meson.patch (from rev 307202, glib2/trunk/0001-docs-Fix-building-with-meson.patch)
===================================================================
--- testing-i686/0001-docs-Fix-building-with-meson.patch (rev 0)
+++ testing-i686/0001-docs-Fix-building-with-meson.patch 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,85 @@
+From a7cbd565aad04f92cbd9ac36696a9d033ae6bcc0 Mon Sep 17 00:00:00 2001
+From: Armin K <krejzi at email.com>
+Date: Fri, 25 Aug 2017 13:36:23 +0200
+Subject: [PATCH] docs: Fix building with meson
+
+This fixes {gio,gobject}-doc ninja targets as well as
+install process when gtk-doc is enabled
+---
+ docs/reference/gio/meson.build | 15 ++++++++++++++-
+ docs/reference/gobject/meson.build | 13 ++++++++++++-
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/docs/reference/gio/meson.build b/docs/reference/gio/meson.build
+index 7f0467726..8f8dc7ce5 100644
+--- a/docs/reference/gio/meson.build
++++ b/docs/reference/gio/meson.build
+@@ -52,9 +52,12 @@ if get_option('with-docs') != 'no'
+ 'gnetworkmonitorbase.h',
+ 'gnetworkmonitornetlink.h',
+ 'gnetworkmonitornm.h',
++ 'gnetworkmonitorportal.h',
+ 'gnotificationbackend.h',
+ 'gnotification-private.h',
++ 'gosxappinfo.h',
+ 'gpollfilemonitor.h',
++ 'gproxyresolverportal.h',
+ 'gregistrysettingsbackend.h',
+ 'gresourcefile.h',
+ 'gsettingsbackendinternal.h',
+@@ -95,12 +98,22 @@ if get_option('with-docs') != 'no'
+ configuration: version_conf
+ )
+
++ # Meson uses paths relative to meson.source_root() in dependencies,
++ # which is invalid relative to current_source_dir(), so the compile
++ # process fails to find glib headers
++ top_build_dir = meson.build_root()
++ top_source_dir = meson.source_root()
++ glib_top_build_dir = join_paths(top_build_dir, 'glib')
++ glib_top_source_dir = join_paths(top_source_dir, 'glib')
++
++ scan_dep = declare_dependency(include_directories : [ top_source_dir, glib_top_build_dir, glib_top_source_dir ])
++
+ gnome.gtkdoc('gio',
+ main_xml : 'gio-docs.xml',
+ namespace : 'g',
+ gobject_typesfile : 'gio.types',
+ mode : 'none',
+- dependencies : [libgio_dep, libgobject_dep, libglib_dep],
++ dependencies : [libgio_dep, libgobject_dep, libglib_dep, scan_dep],
+ src_dir : 'gio',
+ scan_args : [
+ '--rebuild-types',
+diff --git a/docs/reference/gobject/meson.build b/docs/reference/gobject/meson.build
+index 1025e174f..9ec1f9123 100644
+--- a/docs/reference/gobject/meson.build
++++ b/docs/reference/gobject/meson.build
+@@ -17,12 +17,23 @@ if get_option('with-docs') != 'no'
+ configuration: version_conf
+ )
+
++ # Meson uses paths relative to meson.source_root() in dependencies,
++ # which is invalid relative to current_source_dir(), so the compile
++ # process fails to find glib headers
++ doc_source_dir = meson.current_source_dir()
++ top_build_dir = meson.build_root()
++ top_source_dir = meson.source_root()
++ glib_top_build_dir = join_paths(top_build_dir, 'glib')
++ glib_top_source_dir = join_paths(top_source_dir, 'glib')
++
++ scan_dep = declare_dependency(include_directories : [ doc_source_dir, top_source_dir, glib_top_build_dir, glib_top_source_dir ])
++
+ gnome.gtkdoc('gobject',
+ main_xml : 'gobject-docs.xml',
+ namespace : 'g',
+ gobject_typesfile : join_paths(meson.current_source_dir(), 'gobject.types'),
+ mode : 'none',
+- dependencies : [libgobject_dep, libglib_dep],
++ dependencies : [libgobject_dep, libglib_dep, scan_dep],
+ src_dir : 'gobject',
+ scan_args : [
+ '--deprecated-guards=G_DISABLE_DEPRECATED',
+--
+2.14.1
+
Copied: glib2/repos/testing-i686/0001-meson-Fix-permissions-of-installed-scripts.patch (from rev 307202, glib2/trunk/0001-meson-Fix-permissions-of-installed-scripts.patch)
===================================================================
--- testing-i686/0001-meson-Fix-permissions-of-installed-scripts.patch (rev 0)
+++ testing-i686/0001-meson-Fix-permissions-of-installed-scripts.patch 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,50 @@
+From e36f79439be76f125b67081eb4605b377d738cca Mon Sep 17 00:00:00 2001
+Message-Id: <e36f79439be76f125b67081eb4605b377d738cca.1505389490.git.jan.steffens at gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Thu, 14 Sep 2017 07:36:37 +0200
+Subject: [PATCH] meson: Fix permissions of installed scripts
+
+configure_file preserves the attributes, so the templates need to be
+executable for the (installed) outputs to be executable.
+---
+ gio/gdbus-2.0/codegen/gdbus-codegen.in | 0
+ gio/gdbus-2.0/codegen/meson.build | 1 -
+ glib-gettextize.in | 0
+ gobject/meson.build | 1 -
+ 4 files changed, 2 deletions(-)
+ mode change 100644 => 100755 gio/gdbus-2.0/codegen/gdbus-codegen.in
+ mode change 100644 => 100755 glib-gettextize.in
+
+diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
+old mode 100644
+new mode 100755
+diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build
+index 0e9ffbdfade70779..93d9106adba17a89 100644
+--- a/gio/gdbus-2.0/codegen/meson.build
++++ b/gio/gdbus-2.0/codegen/meson.build
+@@ -13,7 +13,6 @@ gdbus_codegen_conf.set('VERSION', glib_version)
+ gdbus_codegen_conf.set('PYTHON', python.path())
+
+ # Install gdbus-codegen executable
+-# FIXME: Set permissions
+ gdbus_codegen = configure_file(input : 'gdbus-codegen.in',
+ output : 'gdbus-codegen',
+ install : true,
+diff --git a/glib-gettextize.in b/glib-gettextize.in
+old mode 100644
+new mode 100755
+diff --git a/gobject/meson.build b/gobject/meson.build
+index 0d39f2bbc36f816e..01f37a33a623f4b8 100644
+--- a/gobject/meson.build
++++ b/gobject/meson.build
+@@ -76,7 +76,6 @@ python_tools_conf.set('VERSION', glib_version)
+ python_tools_conf.set('PYTHON', python.path())
+
+ foreach tool: python_tools
+- # FIXME: Ensure we set the appropriate permissions
+ tool_bin = configure_file(
+ input : tool + '.in',
+ output : tool,
+--
+2.14.1
+
Copied: glib2/repos/testing-i686/PKGBUILD (from rev 307202, glib2/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD (rev 0)
+++ testing-i686/PKGBUILD 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,84 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgbase=glib2
+pkgname=(glib2 glib2-docs)
+pkgver=2.54.1
+pkgrel=2
+pkgdesc="Low level core library"
+url="https://wiki.gnome.org/Projects/GLib"
+license=(LGPL2.1)
+arch=(i686 x86_64)
+depends=(pcre libffi libutil-linux)
+makedepends=(gettext gtk-doc zlib shared-mime-info python libelf git util-linux meson)
+checkdepends=(desktop-file-utils dbus)
+optdepends=('python: for gdbus-codegen and gtester-report'
+ 'libelf: gresource inspection tool')
+options=(!emptydirs)
+_commit=5fc5a3eaa6fc2ab23a3585cf22799adae642afa7 # tags/2.54.1^0
+source=("git+https://git.gnome.org/browse/glib#commit=$_commit"
+ 0001-docs-Fix-building-with-meson.patch
+ 0001-meson-Fix-permissions-of-installed-scripts.patch
+ libs.diff
+ noisy-glib-compile-schemas.diff
+ glib-compile-schemas.hook gio-querymodules.hook)
+sha256sums=('SKIP'
+ '8b289f3e1a5a3b29d310d45610468199acfe6f2b38a0d1be38c9224437a0e40c'
+ '12b1a2f4e304e4c03e48ae9564d73ae38619bbb7711a013138939ff8e5cc2327'
+ '54c43d5d4d4b5fa591eb639e63050ce5eac30aff6691fa9cf56631782b2aad33'
+ '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
+ 'e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3'
+ '5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6')
+
+pkgver() {
+ cd glib
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ mkdir -p build glib2-docs/usr/share
+ cd glib
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=786796
+ patch -Np1 -i ../0001-docs-Fix-building-with-meson.patch
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=787671
+ patch -Np1 -i ../0001-meson-Fix-permissions-of-installed-scripts.patch
+
+ # Unbreak .pc files when built with meson
+ # Fix gdb scripts install
+ patch -Np1 -i ../libs.diff
+
+ # Suppress noise from glib-compile-schemas.hook
+ patch -Np1 -i ../noisy-glib-compile-schemas.diff
+}
+
+build() {
+ cd build
+ arch-meson ../glib
+ ninja
+}
+
+check() {
+ cd build
+ meson test -t 2
+}
+
+package_glib2() {
+ cd build
+ DESTDIR="$pkgdir" ninja install
+ mv "$pkgdir/usr/share/gtk-doc" "$srcdir/glib2-docs/usr/share"
+
+ # install hooks
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 ../*.hook
+}
+
+package_glib2-docs() {
+ pkgdesc="Documentation for GLib"
+ depends=()
+ optdepends=()
+ license+=(custom)
+
+ mv glib2-docs/* "$pkgdir"
+ install -Dt "$pkgdir/usr/share/licenses/glib2-docs" -m644 glib/docs/reference/COPYING
+}
Copied: glib2/repos/testing-i686/gio-querymodules.hook (from rev 307202, glib2/trunk/gio-querymodules.hook)
===================================================================
--- testing-i686/gio-querymodules.hook (rev 0)
+++ testing-i686/gio-querymodules.hook 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/gio/modules/*.so
+
+[Action]
+Description = Updating GIO module cache...
+When = PostTransaction
+Exec = /usr/bin/gio-querymodules /usr/lib/gio/modules
Copied: glib2/repos/testing-i686/glib-compile-schemas.hook (from rev 307202, glib2/trunk/glib-compile-schemas.hook)
===================================================================
--- testing-i686/glib-compile-schemas.hook (rev 0)
+++ testing-i686/glib-compile-schemas.hook 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,12 @@
+[Trigger]
+Type = File
+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
Copied: glib2/repos/testing-i686/libs.diff (from rev 307202, glib2/trunk/libs.diff)
===================================================================
--- testing-i686/libs.diff (rev 0)
+++ testing-i686/libs.diff 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,128 @@
+diff --git i/gio/meson.build w/gio/meson.build
+index 32526362666b5e80..d7030aa29a6f17eb 100644
+--- i/gio/meson.build
++++ w/gio/meson.build
+@@ -727,7 +727,7 @@ libgio = shared_library('gio-2.0',
+ libgobject_dep, libgmodule_dep] + platform_deps + network_libs,
+ c_args : gio_c_args,
+ # intl.lib is not compatible with SAFESEH
+- link_args : noseh_link_args,
++ link_args : noseh_link_args + library_link_args,
+ )
+
+ libgio_dep = declare_dependency(link_with : libgio,
+diff --git i/glib/meson.build w/glib/meson.build
+index 1da0bcd3cc601b9e..4286218c9c8361b2 100644
+--- i/glib/meson.build
++++ w/glib/meson.build
+@@ -227,7 +227,7 @@ libglib = shared_library('glib-2.0',
+ soversion : soversion,
+ install : true,
+ # intl.lib is not compatible with SAFESEH
+- link_args : noseh_link_args,
++ link_args : noseh_link_args + library_link_args,
+ include_directories : configinc,
+ link_with : [charset_lib, gnulib_lib],
+ dependencies : [pcre, thread_dep, libintl, librt] + libiconv + platform_deps,
+@@ -284,7 +284,7 @@ configure_file(
+ output: 'libglib-2.0.so. at 0@-gdb.py'.format(library_version),
+ configuration: gdb_conf,
+ install: true,
+- install_dir: join_paths(get_option('datadir'), 'gdb/auto-load' + get_option('libdir'))
++ install_dir: join_paths(get_option('datadir'), 'gdb/auto-load' + glib_libdir)
+ )
+
+ if enable_systemtap
+diff --git i/gmodule/meson.build w/gmodule/meson.build
+index 191bca2446f9977e..fd0219d9225f2f3f 100644
+--- i/gmodule/meson.build
++++ w/gmodule/meson.build
+@@ -37,7 +37,7 @@ elif cc.has_function('NSLinkModule')
+ elif cc.links(dlopen_dlsym_test_code, args : '-ldl', name : 'dlopen() and dlsym() in libdl')
+ g_module_impl = 'G_MODULE_IMPL_DL'
+ libdl_dep = cc.find_library('dl')
+- g_module_lib_args = '-ldl'
++ g_module_lib_args = ['-ldl']
+ endif
+
+ # additional checks for G_MODULE_IMPL_DL
+@@ -72,25 +72,29 @@ if g_module_impl == ''
+ message('WARNING: No suitable GModule implementation found!')
+ endif
+
++# For pc files
++glib_conf.set('G_MODULE_SUPPORTED', g_module_impl == '0' ? 'false' : 'true')
++glib_conf.set('G_MODULE_LIBS', ' '.join(g_module_lib_args))
++
+ gmoduleconf_conf.set('G_MODULE_IMPL', g_module_impl)
+-gmoduleconf_conf.set('G_MODULE_SUPPORTED', g_module_impl != '0')
+ gmoduleconf_conf.set('G_MODULE_HAVE_DLERROR', g_module_have_dlerror)
+ gmoduleconf_conf.set('G_MODULE_NEED_USCORE', g_module_need_uscore)
+ gmoduleconf_conf.set('G_MODULE_BROKEN_RTLD_GLOBAL', g_module_broken_rtld_global)
+
+ gmoduleconf_h = configure_file(input : 'gmoduleconf.h.in',
+ output : 'gmoduleconf.h',
+ configuration : gmoduleconf_conf)
+
+ install_headers(['gmodule.h'], subdir : 'glib-2.0')
+
+ libgmodule = shared_library('gmodule-2.0',
+ sources : ['gmodule.c'],
+ version : library_version,
+ soversion : soversion,
+ install : true,
+ include_directories : [configinc, gmoduleinc],
+ dependencies : [libdl_dep, libglib_dep],
++ link_args : library_link_args,
+ c_args : ['-DG_LOG_DOMAIN="GModule"', '-DG_DISABLE_DEPRECATED'] + glib_hidden_visibility_args)
+
+ libgmodule_dep = declare_dependency(link_with : libgmodule,
+diff --git i/gobject/meson.build w/gobject/meson.build
+index aecca57c743d5956..e033ae15f9c226b5 100644
+--- i/gobject/meson.build
++++ w/gobject/meson.build
+@@ -61,6 +61,7 @@ libgobject = shared_library('gobject-2.0',
+ install : true,
+ include_directories : [configinc],
+ dependencies : [libintl, libffi_dep, libglib_dep],
++ link_args : library_link_args,
+ c_args : ['-DG_LOG_DOMAIN="GLib-GObject"', '-DGOBJECT_COMPILATION'] + glib_hidden_visibility_args)
+
+ libgobject_dep = declare_dependency(link_with : libgobject,
+@@ -102,7 +103,7 @@ configure_file(
+ output: 'libgobject-2.0.so. at 0@-gdb.py'.format(library_version),
+ configuration: gdb_conf,
+ install: true,
+- install_dir: join_paths(get_option('datadir'), 'gdb/auto-load/' + get_option('libdir'))
++ install_dir: join_paths(get_option('datadir'), 'gdb/auto-load/' + glib_libdir)
+ )
+
+ if enable_systemtap
+diff --git i/gthread/meson.build w/gthread/meson.build
+index 8ccac3369894bda4..2d5913a91525460f 100644
+--- i/gthread/meson.build
++++ w/gthread/meson.build
+@@ -6,4 +6,5 @@ libgthread = shared_library('gthread-2.0',
+ soversion : soversion,
+ install : true,
+ dependencies : [libglib_dep],
++ link_args : library_link_args,
+ c_args : ['-DG_LOG_DOMAIN="GThread"' ] + glib_hidden_visibility_args)
+diff --git i/meson.build w/meson.build
+index 0f3f7917899e93ea..12277e8d327b7a83 100644
+--- i/meson.build
++++ w/meson.build
+@@ -1533,6 +1533,13 @@ glib_conf.set('GIO_MODULE_DIR', '${libdir}/gio/modules')
+ # @G_MODULE_LIBS@ @SELINUX_LIBS@ @COCOA_LIBS@ @CARBON_LIBS@ @G_LIBS_EXTRA@
+ # @PCRE_REQUIRES@ @GLIB_EXTRA_CFLAGS@ @G_THREAD_CFLAGS@
+
++# HACK
++glib_conf.set('G_THREAD_LIBS', '-pthread')
++glib_conf.set('G_THREAD_CFLAGS', '-pthread')
++glib_conf.set('G_MODULE_LDFLAGS', '-Wl,--export-dynamic')
++glib_conf.set('PCRE_REQUIRES', 'libpcre')
++library_link_args = [ '-Wl,-z,nodelete' ]
++
+ # Tracing: dtrace
+ want_dtrace = get_option('enable-dtrace')
+ enable_dtrace = false
Copied: glib2/repos/testing-i686/noisy-glib-compile-schemas.diff (from rev 307202, glib2/trunk/noisy-glib-compile-schemas.diff)
===================================================================
--- testing-i686/noisy-glib-compile-schemas.diff (rev 0)
+++ testing-i686/noisy-glib-compile-schemas.diff 2017-10-08 21:33:23 UTC (rev 307203)
@@ -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);
+
Copied: glib2/repos/testing-x86_64/0001-docs-Fix-building-with-meson.patch (from rev 307202, glib2/trunk/0001-docs-Fix-building-with-meson.patch)
===================================================================
--- testing-x86_64/0001-docs-Fix-building-with-meson.patch (rev 0)
+++ testing-x86_64/0001-docs-Fix-building-with-meson.patch 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,85 @@
+From a7cbd565aad04f92cbd9ac36696a9d033ae6bcc0 Mon Sep 17 00:00:00 2001
+From: Armin K <krejzi at email.com>
+Date: Fri, 25 Aug 2017 13:36:23 +0200
+Subject: [PATCH] docs: Fix building with meson
+
+This fixes {gio,gobject}-doc ninja targets as well as
+install process when gtk-doc is enabled
+---
+ docs/reference/gio/meson.build | 15 ++++++++++++++-
+ docs/reference/gobject/meson.build | 13 ++++++++++++-
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/docs/reference/gio/meson.build b/docs/reference/gio/meson.build
+index 7f0467726..8f8dc7ce5 100644
+--- a/docs/reference/gio/meson.build
++++ b/docs/reference/gio/meson.build
+@@ -52,9 +52,12 @@ if get_option('with-docs') != 'no'
+ 'gnetworkmonitorbase.h',
+ 'gnetworkmonitornetlink.h',
+ 'gnetworkmonitornm.h',
++ 'gnetworkmonitorportal.h',
+ 'gnotificationbackend.h',
+ 'gnotification-private.h',
++ 'gosxappinfo.h',
+ 'gpollfilemonitor.h',
++ 'gproxyresolverportal.h',
+ 'gregistrysettingsbackend.h',
+ 'gresourcefile.h',
+ 'gsettingsbackendinternal.h',
+@@ -95,12 +98,22 @@ if get_option('with-docs') != 'no'
+ configuration: version_conf
+ )
+
++ # Meson uses paths relative to meson.source_root() in dependencies,
++ # which is invalid relative to current_source_dir(), so the compile
++ # process fails to find glib headers
++ top_build_dir = meson.build_root()
++ top_source_dir = meson.source_root()
++ glib_top_build_dir = join_paths(top_build_dir, 'glib')
++ glib_top_source_dir = join_paths(top_source_dir, 'glib')
++
++ scan_dep = declare_dependency(include_directories : [ top_source_dir, glib_top_build_dir, glib_top_source_dir ])
++
+ gnome.gtkdoc('gio',
+ main_xml : 'gio-docs.xml',
+ namespace : 'g',
+ gobject_typesfile : 'gio.types',
+ mode : 'none',
+- dependencies : [libgio_dep, libgobject_dep, libglib_dep],
++ dependencies : [libgio_dep, libgobject_dep, libglib_dep, scan_dep],
+ src_dir : 'gio',
+ scan_args : [
+ '--rebuild-types',
+diff --git a/docs/reference/gobject/meson.build b/docs/reference/gobject/meson.build
+index 1025e174f..9ec1f9123 100644
+--- a/docs/reference/gobject/meson.build
++++ b/docs/reference/gobject/meson.build
+@@ -17,12 +17,23 @@ if get_option('with-docs') != 'no'
+ configuration: version_conf
+ )
+
++ # Meson uses paths relative to meson.source_root() in dependencies,
++ # which is invalid relative to current_source_dir(), so the compile
++ # process fails to find glib headers
++ doc_source_dir = meson.current_source_dir()
++ top_build_dir = meson.build_root()
++ top_source_dir = meson.source_root()
++ glib_top_build_dir = join_paths(top_build_dir, 'glib')
++ glib_top_source_dir = join_paths(top_source_dir, 'glib')
++
++ scan_dep = declare_dependency(include_directories : [ doc_source_dir, top_source_dir, glib_top_build_dir, glib_top_source_dir ])
++
+ gnome.gtkdoc('gobject',
+ main_xml : 'gobject-docs.xml',
+ namespace : 'g',
+ gobject_typesfile : join_paths(meson.current_source_dir(), 'gobject.types'),
+ mode : 'none',
+- dependencies : [libgobject_dep, libglib_dep],
++ dependencies : [libgobject_dep, libglib_dep, scan_dep],
+ src_dir : 'gobject',
+ scan_args : [
+ '--deprecated-guards=G_DISABLE_DEPRECATED',
+--
+2.14.1
+
Copied: glib2/repos/testing-x86_64/0001-meson-Fix-permissions-of-installed-scripts.patch (from rev 307202, glib2/trunk/0001-meson-Fix-permissions-of-installed-scripts.patch)
===================================================================
--- testing-x86_64/0001-meson-Fix-permissions-of-installed-scripts.patch (rev 0)
+++ testing-x86_64/0001-meson-Fix-permissions-of-installed-scripts.patch 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,50 @@
+From e36f79439be76f125b67081eb4605b377d738cca Mon Sep 17 00:00:00 2001
+Message-Id: <e36f79439be76f125b67081eb4605b377d738cca.1505389490.git.jan.steffens at gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Thu, 14 Sep 2017 07:36:37 +0200
+Subject: [PATCH] meson: Fix permissions of installed scripts
+
+configure_file preserves the attributes, so the templates need to be
+executable for the (installed) outputs to be executable.
+---
+ gio/gdbus-2.0/codegen/gdbus-codegen.in | 0
+ gio/gdbus-2.0/codegen/meson.build | 1 -
+ glib-gettextize.in | 0
+ gobject/meson.build | 1 -
+ 4 files changed, 2 deletions(-)
+ mode change 100644 => 100755 gio/gdbus-2.0/codegen/gdbus-codegen.in
+ mode change 100644 => 100755 glib-gettextize.in
+
+diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
+old mode 100644
+new mode 100755
+diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build
+index 0e9ffbdfade70779..93d9106adba17a89 100644
+--- a/gio/gdbus-2.0/codegen/meson.build
++++ b/gio/gdbus-2.0/codegen/meson.build
+@@ -13,7 +13,6 @@ gdbus_codegen_conf.set('VERSION', glib_version)
+ gdbus_codegen_conf.set('PYTHON', python.path())
+
+ # Install gdbus-codegen executable
+-# FIXME: Set permissions
+ gdbus_codegen = configure_file(input : 'gdbus-codegen.in',
+ output : 'gdbus-codegen',
+ install : true,
+diff --git a/glib-gettextize.in b/glib-gettextize.in
+old mode 100644
+new mode 100755
+diff --git a/gobject/meson.build b/gobject/meson.build
+index 0d39f2bbc36f816e..01f37a33a623f4b8 100644
+--- a/gobject/meson.build
++++ b/gobject/meson.build
+@@ -76,7 +76,6 @@ python_tools_conf.set('VERSION', glib_version)
+ python_tools_conf.set('PYTHON', python.path())
+
+ foreach tool: python_tools
+- # FIXME: Ensure we set the appropriate permissions
+ tool_bin = configure_file(
+ input : tool + '.in',
+ output : tool,
+--
+2.14.1
+
Copied: glib2/repos/testing-x86_64/PKGBUILD (from rev 307202, glib2/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,84 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgbase=glib2
+pkgname=(glib2 glib2-docs)
+pkgver=2.54.1
+pkgrel=2
+pkgdesc="Low level core library"
+url="https://wiki.gnome.org/Projects/GLib"
+license=(LGPL2.1)
+arch=(i686 x86_64)
+depends=(pcre libffi libutil-linux)
+makedepends=(gettext gtk-doc zlib shared-mime-info python libelf git util-linux meson)
+checkdepends=(desktop-file-utils dbus)
+optdepends=('python: for gdbus-codegen and gtester-report'
+ 'libelf: gresource inspection tool')
+options=(!emptydirs)
+_commit=5fc5a3eaa6fc2ab23a3585cf22799adae642afa7 # tags/2.54.1^0
+source=("git+https://git.gnome.org/browse/glib#commit=$_commit"
+ 0001-docs-Fix-building-with-meson.patch
+ 0001-meson-Fix-permissions-of-installed-scripts.patch
+ libs.diff
+ noisy-glib-compile-schemas.diff
+ glib-compile-schemas.hook gio-querymodules.hook)
+sha256sums=('SKIP'
+ '8b289f3e1a5a3b29d310d45610468199acfe6f2b38a0d1be38c9224437a0e40c'
+ '12b1a2f4e304e4c03e48ae9564d73ae38619bbb7711a013138939ff8e5cc2327'
+ '54c43d5d4d4b5fa591eb639e63050ce5eac30aff6691fa9cf56631782b2aad33'
+ '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
+ 'e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3'
+ '5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6')
+
+pkgver() {
+ cd glib
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ mkdir -p build glib2-docs/usr/share
+ cd glib
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=786796
+ patch -Np1 -i ../0001-docs-Fix-building-with-meson.patch
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=787671
+ patch -Np1 -i ../0001-meson-Fix-permissions-of-installed-scripts.patch
+
+ # Unbreak .pc files when built with meson
+ # Fix gdb scripts install
+ patch -Np1 -i ../libs.diff
+
+ # Suppress noise from glib-compile-schemas.hook
+ patch -Np1 -i ../noisy-glib-compile-schemas.diff
+}
+
+build() {
+ cd build
+ arch-meson ../glib
+ ninja
+}
+
+check() {
+ cd build
+ meson test -t 2
+}
+
+package_glib2() {
+ cd build
+ DESTDIR="$pkgdir" ninja install
+ mv "$pkgdir/usr/share/gtk-doc" "$srcdir/glib2-docs/usr/share"
+
+ # install hooks
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 ../*.hook
+}
+
+package_glib2-docs() {
+ pkgdesc="Documentation for GLib"
+ depends=()
+ optdepends=()
+ license+=(custom)
+
+ mv glib2-docs/* "$pkgdir"
+ install -Dt "$pkgdir/usr/share/licenses/glib2-docs" -m644 glib/docs/reference/COPYING
+}
Copied: glib2/repos/testing-x86_64/gio-querymodules.hook (from rev 307202, glib2/trunk/gio-querymodules.hook)
===================================================================
--- testing-x86_64/gio-querymodules.hook (rev 0)
+++ testing-x86_64/gio-querymodules.hook 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/gio/modules/*.so
+
+[Action]
+Description = Updating GIO module cache...
+When = PostTransaction
+Exec = /usr/bin/gio-querymodules /usr/lib/gio/modules
Copied: glib2/repos/testing-x86_64/glib-compile-schemas.hook (from rev 307202, glib2/trunk/glib-compile-schemas.hook)
===================================================================
--- testing-x86_64/glib-compile-schemas.hook (rev 0)
+++ testing-x86_64/glib-compile-schemas.hook 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,12 @@
+[Trigger]
+Type = File
+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
Copied: glib2/repos/testing-x86_64/libs.diff (from rev 307202, glib2/trunk/libs.diff)
===================================================================
--- testing-x86_64/libs.diff (rev 0)
+++ testing-x86_64/libs.diff 2017-10-08 21:33:23 UTC (rev 307203)
@@ -0,0 +1,128 @@
+diff --git i/gio/meson.build w/gio/meson.build
+index 32526362666b5e80..d7030aa29a6f17eb 100644
+--- i/gio/meson.build
++++ w/gio/meson.build
+@@ -727,7 +727,7 @@ libgio = shared_library('gio-2.0',
+ libgobject_dep, libgmodule_dep] + platform_deps + network_libs,
+ c_args : gio_c_args,
+ # intl.lib is not compatible with SAFESEH
+- link_args : noseh_link_args,
++ link_args : noseh_link_args + library_link_args,
+ )
+
+ libgio_dep = declare_dependency(link_with : libgio,
+diff --git i/glib/meson.build w/glib/meson.build
+index 1da0bcd3cc601b9e..4286218c9c8361b2 100644
+--- i/glib/meson.build
++++ w/glib/meson.build
+@@ -227,7 +227,7 @@ libglib = shared_library('glib-2.0',
+ soversion : soversion,
+ install : true,
+ # intl.lib is not compatible with SAFESEH
+- link_args : noseh_link_args,
++ link_args : noseh_link_args + library_link_args,
+ include_directories : configinc,
+ link_with : [charset_lib, gnulib_lib],
+ dependencies : [pcre, thread_dep, libintl, librt] + libiconv + platform_deps,
+@@ -284,7 +284,7 @@ configure_file(
+ output: 'libglib-2.0.so. at 0@-gdb.py'.format(library_version),
+ configuration: gdb_conf,
+ install: true,
+- install_dir: join_paths(get_option('datadir'), 'gdb/auto-load' + get_option('libdir'))
++ install_dir: join_paths(get_option('datadir'), 'gdb/auto-load' + glib_libdir)
+ )
+
+ if enable_systemtap
+diff --git i/gmodule/meson.build w/gmodule/meson.build
+index 191bca2446f9977e..fd0219d9225f2f3f 100644
+--- i/gmodule/meson.build
++++ w/gmodule/meson.build
+@@ -37,7 +37,7 @@ elif cc.has_function('NSLinkModule')
+ elif cc.links(dlopen_dlsym_test_code, args : '-ldl', name : 'dlopen() and dlsym() in libdl')
+ g_module_impl = 'G_MODULE_IMPL_DL'
+ libdl_dep = cc.find_library('dl')
+- g_module_lib_args = '-ldl'
++ g_module_lib_args = ['-ldl']
+ endif
+
+ # additional checks for G_MODULE_IMPL_DL
+@@ -72,25 +72,29 @@ if g_module_impl == ''
+ message('WARNING: No suitable GModule implementation found!')
+ endif
+
++# For pc files
++glib_conf.set('G_MODULE_SUPPORTED', g_module_impl == '0' ? 'false' : 'true')
++glib_conf.set('G_MODULE_LIBS', ' '.join(g_module_lib_args))
++
+ gmoduleconf_conf.set('G_MODULE_IMPL', g_module_impl)
+-gmoduleconf_conf.set('G_MODULE_SUPPORTED', g_module_impl != '0')
+ gmoduleconf_conf.set('G_MODULE_HAVE_DLERROR', g_module_have_dlerror)
+ gmoduleconf_conf.set('G_MODULE_NEED_USCORE', g_module_need_uscore)
+ gmoduleconf_conf.set('G_MODULE_BROKEN_RTLD_GLOBAL', g_module_broken_rtld_global)
+
+ gmoduleconf_h = configure_file(input : 'gmoduleconf.h.in',
+ output : 'gmoduleconf.h',
+ configuration : gmoduleconf_conf)
+
+ install_headers(['gmodule.h'], subdir : 'glib-2.0')
+
+ libgmodule = shared_library('gmodule-2.0',
+ sources : ['gmodule.c'],
+ version : library_version,
+ soversion : soversion,
+ install : true,
+ include_directories : [configinc, gmoduleinc],
+ dependencies : [libdl_dep, libglib_dep],
++ link_args : library_link_args,
+ c_args : ['-DG_LOG_DOMAIN="GModule"', '-DG_DISABLE_DEPRECATED'] + glib_hidden_visibility_args)
+
+ libgmodule_dep = declare_dependency(link_with : libgmodule,
+diff --git i/gobject/meson.build w/gobject/meson.build
+index aecca57c743d5956..e033ae15f9c226b5 100644
+--- i/gobject/meson.build
++++ w/gobject/meson.build
+@@ -61,6 +61,7 @@ libgobject = shared_library('gobject-2.0',
+ install : true,
+ include_directories : [configinc],
+ dependencies : [libintl, libffi_dep, libglib_dep],
++ link_args : library_link_args,
+ c_args : ['-DG_LOG_DOMAIN="GLib-GObject"', '-DGOBJECT_COMPILATION'] + glib_hidden_visibility_args)
+
+ libgobject_dep = declare_dependency(link_with : libgobject,
+@@ -102,7 +103,7 @@ configure_file(
+ output: 'libgobject-2.0.so. at 0@-gdb.py'.format(library_version),
+ configuration: gdb_conf,
+ install: true,
+- install_dir: join_paths(get_option('datadir'), 'gdb/auto-load/' + get_option('libdir'))
++ install_dir: join_paths(get_option('datadir'), 'gdb/auto-load/' + glib_libdir)
+ )
+
+ if enable_systemtap
+diff --git i/gthread/meson.build w/gthread/meson.build
+index 8ccac3369894bda4..2d5913a91525460f 100644
+--- i/gthread/meson.build
++++ w/gthread/meson.build
+@@ -6,4 +6,5 @@ libgthread = shared_library('gthread-2.0',
+ soversion : soversion,
+ install : true,
+ dependencies : [libglib_dep],
++ link_args : library_link_args,
+ c_args : ['-DG_LOG_DOMAIN="GThread"' ] + glib_hidden_visibility_args)
+diff --git i/meson.build w/meson.build
+index 0f3f7917899e93ea..12277e8d327b7a83 100644
+--- i/meson.build
++++ w/meson.build
+@@ -1533,6 +1533,13 @@ glib_conf.set('GIO_MODULE_DIR', '${libdir}/gio/modules')
+ # @G_MODULE_LIBS@ @SELINUX_LIBS@ @COCOA_LIBS@ @CARBON_LIBS@ @G_LIBS_EXTRA@
+ # @PCRE_REQUIRES@ @GLIB_EXTRA_CFLAGS@ @G_THREAD_CFLAGS@
+
++# HACK
++glib_conf.set('G_THREAD_LIBS', '-pthread')
++glib_conf.set('G_THREAD_CFLAGS', '-pthread')
++glib_conf.set('G_MODULE_LDFLAGS', '-Wl,--export-dynamic')
++glib_conf.set('PCRE_REQUIRES', 'libpcre')
++library_link_args = [ '-Wl,-z,nodelete' ]
++
+ # Tracing: dtrace
+ want_dtrace = get_option('enable-dtrace')
+ enable_dtrace = false
Copied: glib2/repos/testing-x86_64/noisy-glib-compile-schemas.diff (from rev 307202, glib2/trunk/noisy-glib-compile-schemas.diff)
===================================================================
--- testing-x86_64/noisy-glib-compile-schemas.diff (rev 0)
+++ testing-x86_64/noisy-glib-compile-schemas.diff 2017-10-08 21:33:23 UTC (rev 307203)
@@ -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);
+
More information about the arch-commits
mailing list