[arch-commits] Commit in glib2/trunk (5 files)

Jan Steffens heftig at archlinux.org
Mon Sep 18 08:04:32 UTC 2017


    Date: Monday, September 18, 2017 @ 08:04:31
  Author: heftig
Revision: 305770

2.54.0-1

Added:
  glib2/trunk/0001-docs-Fix-building-with-meson.patch
  glib2/trunk/0001-meson-Fix-permissions-of-installed-scripts.patch
  glib2/trunk/noisy-glib-compile-schemas.diff
Modified:
  glib2/trunk/PKGBUILD
Deleted:
  glib2/trunk/skip-broken-timer-test.patch

-------------------------------------------------------+
 0001-docs-Fix-building-with-meson.patch               |   85 +++++++++++++++
 0001-meson-Fix-permissions-of-installed-scripts.patch |   50 +++++++++
 PKGBUILD                                              |   87 +++++++---------
 noisy-glib-compile-schemas.diff                       |   24 ++++
 skip-broken-timer-test.patch                          |   12 --
 5 files changed, 199 insertions(+), 59 deletions(-)

Added: 0001-docs-Fix-building-with-meson.patch
===================================================================
--- 0001-docs-Fix-building-with-meson.patch	                        (rev 0)
+++ 0001-docs-Fix-building-with-meson.patch	2017-09-18 08:04:31 UTC (rev 305770)
@@ -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
+

Added: 0001-meson-Fix-permissions-of-installed-scripts.patch
===================================================================
--- 0001-meson-Fix-permissions-of-installed-scripts.patch	                        (rev 0)
+++ 0001-meson-Fix-permissions-of-installed-scripts.patch	2017-09-18 08:04:31 UTC (rev 305770)
@@ -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
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-09-18 07:59:02 UTC (rev 305769)
+++ PKGBUILD	2017-09-18 08:04:31 UTC (rev 305770)
@@ -3,22 +3,30 @@
 
 pkgbase=glib2
 pkgname=(glib2 glib2-docs)
-pkgver=2.52.3
+pkgver=2.54.0
 pkgrel=1
 pkgdesc="Low level core library"
-url="http://www.gtk.org/"
+url="https://wiki.gnome.org/Projects/GLib"
+license=(LGPL2.1)
 arch=(i686 x86_64)
-makedepends=(gettext gtk-doc libffi pcre zlib shared-mime-info python libelf git util-linux)
+depends=(pcre libffi libutil-linux)
+makedepends=(gettext gtk-doc zlib shared-mime-info python libelf git util-linux meson)
 checkdepends=(desktop-file-utils dbus)
-_commit=90bb8778f2eabf00bee5bff1259c48f1e7b791b8  # tags/2.52.3^0
+optdepends=('python: for gdbus-codegen and gtester-report'
+            'libelf: gresource inspection tool')
+options=(!emptydirs)
+_commit=738eff5decf0e354e692c36a0b9d466fc5775e3c  # tags/2.54.0^0
 source=("git+https://git.gnome.org/browse/glib#commit=$_commit"
-        glib-compile-schemas.hook
-        gio-querymodules.hook
-        skip-broken-timer-test.patch)
+        0001-docs-Fix-building-with-meson.patch
+        0001-meson-Fix-permissions-of-installed-scripts.patch
+        noisy-glib-compile-schemas.diff
+        glib-compile-schemas.hook gio-querymodules.hook)
 sha256sums=('SKIP'
+            '8b289f3e1a5a3b29d310d45610468199acfe6f2b38a0d1be38c9224437a0e40c'
+            '12b1a2f4e304e4c03e48ae9564d73ae38619bbb7711a013138939ff8e5cc2327'
+            '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
             'e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3'
-            '5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6'
-            'a39dc8c1c1707053d565d5b198b1f03f7c55b31e11335a1bfdc3f9803b114d5d')
+            '5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6')
 
 pkgver() {
   cd glib
@@ -26,60 +34,45 @@
 }
 
 prepare() {
+  mkdir -p build glib2-docs/usr/share
   cd glib
-  git revert -n 6560b37450cd  # Noisy glib-compile-schemas
 
-  # Rounding error in timer tests?
-  # GLib:ERROR:timer.c:38:test_timer_basic: assertion failed (micros == ((guint64)(elapsed * 1e6)) % 1000000): (1 == 0)
-  [[ $CARCH == i686 ]] && patch -Np1 -i ../skip-broken-timer-test.patch
+  # https://bugzilla.gnome.org/show_bug.cgi?id=786796
+  patch -Np1 -i ../0001-docs-Fix-building-with-meson.patch
 
-  NOCONFIGURE=1 ./autogen.sh
+  # https://bugzilla.gnome.org/show_bug.cgi?id=787671
+  patch -Np1 -i ../0001-meson-Fix-permissions-of-installed-scripts.patch
+
+  # Suppress noise from glib-compile-schemas.hook
+  patch -Np1 -i ../noisy-glib-compile-schemas.diff
 }
 
 build() {
-  cd glib
-  ./configure --prefix=/usr --libdir=/usr/lib \
-      --sysconfdir=/etc \
-      --with-pcre=system \
-      --disable-fam \
-      --enable-gtk-doc \
-      $(check_option debug y && echo --enable-debug=yes)
-  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-  make
+  cd build
+  meson setup --prefix=/usr --buildtype=release ../glib
+  ninja
 }
 
 check() {
-  cd glib
-  make check
+  cd build
+  meson test -t 2
 }
 
 package_glib2() {
-  depends=(pcre libffi libutil-linux)
-  optdepends=('python: for gdbus-codegen and gtester-report'
-              'libelf: gresource inspection tool')
-  options=(!emptydirs)
-  license=(LGPL)
+  cd build
+  DESTDIR="$pkgdir" ninja install
+  mv "$pkgdir/usr/share/gtk-doc" "$srcdir/glib2-docs/usr/share"
 
-  cd glib
-  make DESTDIR="$pkgdir" install
-  rm -r "$pkgdir/usr/share/gtk-doc"
-
   # install hooks
-  install -d "$pkgdir/usr/share/libalpm/hooks/"
-  install -m644 "$srcdir"/{glib-compile-schemas,gio-querymodules}.hook \
-    "$pkgdir/usr/share/libalpm/hooks/"
+  install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 ../*.hook
 }
 
 package_glib2-docs() {
-  pkgdesc="Documentation for glib2"
-  conflicts=(gobject2-docs)
-  replaces=(gobject2-docs)
-  license=(custom)
-  options=(!emptydirs)
+  pkgdesc="Documentation for GLib"
+  depends=()
+  optdepends=()
+  license+=(custom)
 
-  cd glib/docs
-  make DESTDIR="$pkgdir" install
-  rm -r "$pkgdir/usr/share/man"
-
-  install -Dm644 reference/COPYING "$pkgdir/usr/share/licenses/glib2-docs/COPYING"
+  mv glib2-docs/* "$pkgdir"
+  install -Dt "$pkgdir/usr/share/licenses/glib2-docs" -m644 glib/docs/reference/COPYING
 }

Added: noisy-glib-compile-schemas.diff
===================================================================
--- noisy-glib-compile-schemas.diff	                        (rev 0)
+++ noisy-glib-compile-schemas.diff	2017-09-18 08:04:31 UTC (rev 305770)
@@ -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);
+ 

Deleted: skip-broken-timer-test.patch
===================================================================
--- skip-broken-timer-test.patch	2017-09-18 07:59:02 UTC (rev 305769)
+++ skip-broken-timer-test.patch	2017-09-18 08:04:31 UTC (rev 305770)
@@ -1,12 +0,0 @@
-diff --git i/glib/tests/Makefile.am w/glib/tests/Makefile.am
-index 43b11f05da63fa02..37406ecdf17e0094 100644
---- i/glib/tests/Makefile.am
-+++ w/glib/tests/Makefile.am
-@@ -106,7 +106,6 @@ test_programs = \
- 	test-printf			\
- 	thread				\
- 	timeout				\
--	timer				\
- 	tree				\
- 	utf8-performance		\
- 	utf8-pointer			\



More information about the arch-commits mailing list