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 <kre...@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.steff...@gmail.com> +From: "Jan Alexander Steffens (heftig)" <jan.steff...@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 <j...@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.@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.@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 <kre...@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.steff...@gmail.com> +From: "Jan Alexander Steffens (heftig)" <jan.steff...@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 <j...@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.@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.@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); +