summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO20
-rw-r--r--0001-docs-Fix-building-with-meson.patch85
-rw-r--r--0001-meson-Fix-permissions-of-installed-scripts.patch50
-rw-r--r--PKGBUILD70
-rw-r--r--libs.diff128
-rw-r--r--noisy-glib-compile-schemas.diff24
-rw-r--r--skip-broken-timer-test.patch12
7 files changed, 338 insertions, 51 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fa674337c191..e701e8cbc1d1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Tue Aug 1 17:10:00 UTC 2017
+# Mon Oct 16 15:44:57 UTC 2017
pkgbase = glib2-patched-thumbnailer
pkgdesc = GLib2 patched with ahodesuka's thumbnailer patch.
- pkgver = 2.52.3
- pkgrel = 1
+ pkgver = 2.54.1
+ pkgrel = 2
url = http://gist.github.com/ahodesuka/49c1d0eea4b64f24c4c7
arch = i686
arch = x86_64
@@ -20,19 +20,25 @@ pkgbase = glib2-patched-thumbnailer
makedepends = libelf
makedepends = git
makedepends = util-linux
- provides = glib2=2.52.3
+ provides = glib2=2.54.1
conflicts = glib2
options = !docs
options = !emptydirs
- source = git://git.gnome.org/glib#commit=90bb8778f2eabf00bee5bff1259c48f1e7b791b8
+ source = git://git.gnome.org/glib#commit=5fc5a3eaa6fc2ab23a3585cf22799adae642afa7
+ source = 0001-docs-Fix-building-with-meson.patch
+ source = 0001-meson-Fix-permissions-of-installed-scripts.patch
+ source = libs.diff
+ source = noisy-glib-compile-schemas.diff
source = glib-compile-schemas.hook
source = gio-querymodules.hook
- source = skip-broken-timer-test.patch
source = https://gist.githubusercontent.com/ahodesuka/49c1d0eea4b64f24c4c7/raw/d0edf118e1c27700300038c1d82b3ff775c0216b/glib-thumbnailer.patch
sha256sums = SKIP
+ sha256sums = 8b289f3e1a5a3b29d310d45610468199acfe6f2b38a0d1be38c9224437a0e40c
+ sha256sums = 12b1a2f4e304e4c03e48ae9564d73ae38619bbb7711a013138939ff8e5cc2327
+ sha256sums = 54c43d5d4d4b5fa591eb639e63050ce5eac30aff6691fa9cf56631782b2aad33
+ sha256sums = 81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531
sha256sums = e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3
sha256sums = 5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6
- sha256sums = a39dc8c1c1707053d565d5b198b1f03f7c55b31e11335a1bfdc3f9803b114d5d
sha256sums = 1a4673380fbdf8e8e5de3367089de6c97025633e54010575de63c5ab6c8a044d
pkgname = glib2-patched-thumbnailer
diff --git a/0001-docs-Fix-building-with-meson.patch b/0001-docs-Fix-building-with-meson.patch
new file mode 100644
index 000000000000..02f69b70068f
--- /dev/null
+++ b/0001-docs-Fix-building-with-meson.patch
@@ -0,0 +1,85 @@
+From a7cbd565aad04f92cbd9ac36696a9d033ae6bcc0 Mon Sep 17 00:00:00 2001
+From: Armin K <krejzi@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
+
diff --git a/0001-meson-Fix-permissions-of-installed-scripts.patch b/0001-meson-Fix-permissions-of-installed-scripts.patch
new file mode 100644
index 000000000000..d89868acf307
--- /dev/null
+++ b/0001-meson-Fix-permissions-of-installed-scripts.patch
@@ -0,0 +1,50 @@
+From e36f79439be76f125b67081eb4605b377d738cca Mon Sep 17 00:00:00 2001
+Message-Id: <e36f79439be76f125b67081eb4605b377d738cca.1505389490.git.jan.steffens@gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@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
+
diff --git a/PKGBUILD b/PKGBUILD
index 7d76f665dc18..0cbcbfa6c1af 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,10 +1,10 @@
-# Maintainer: dudemanguy <random342@openmailbox.org>
+# Maintainer: dudemanguy <random342@airmail.cc>
# Contributor: Vaporeon <vaporeon@vaporeon.io>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=glib2-patched-thumbnailer
-pkgver=2.52.3
-pkgrel=1
+pkgver=2.54.1
+pkgrel=2
pkgdesc="GLib2 patched with ahodesuka's thumbnailer patch."
url="http://gist.github.com/ahodesuka/49c1d0eea4b64f24c4c7"
arch=(i686 x86_64)
@@ -14,17 +14,23 @@ makedepends=('gettext' 'gtk-doc' 'libffi' 'pcre' 'zlib' 'shared-mime-info' 'pyth
checkdepends=(desktop-file-utils dbus)
options=('!docs' '!emptydirs')
license=(LGPL)
-_commit=90bb8778f2eabf00bee5bff1259c48f1e7b791b8 # tags/2.52.3^0
+_commit=5fc5a3eaa6fc2ab23a3585cf22799adae642afa7 # tags/2.54.1^0
_patchver=d0edf118e1c27700300038c1d82b3ff775c0216b
source=("git://git.gnome.org/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
- skip-broken-timer-test.patch
https://gist.githubusercontent.com/ahodesuka/49c1d0eea4b64f24c4c7/raw/$_patchver/glib-thumbnailer.patch)
sha256sums=('SKIP'
+ '8b289f3e1a5a3b29d310d45610468199acfe6f2b38a0d1be38c9224437a0e40c'
+ '12b1a2f4e304e4c03e48ae9564d73ae38619bbb7711a013138939ff8e5cc2327'
+ '54c43d5d4d4b5fa591eb639e63050ce5eac30aff6691fa9cf56631782b2aad33'
+ '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
'e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3'
'5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6'
- 'a39dc8c1c1707053d565d5b198b1f03f7c55b31e11335a1bfdc3f9803b114d5d'
'1a4673380fbdf8e8e5de3367089de6c97025633e54010575de63c5ab6c8a044d')
pkgver() {
@@ -33,44 +39,44 @@ pkgver() {
}
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
+ # 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
+
+ # Apply patch to generate thumbnails
patch -Np1 -i ../glib-thumbnailer.patch
- NOCONFIGURE=1 ./autogen.sh
}
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
+ arch-meson ../glib
+ ninja
}
-#seems to get stuck after live-g-file 2 /live-g-file/create_structure for some reason; skip this
-#check() {
-# cd glib
-# make check
-#}
+# skip this; test fails
+# check() {
+# cd build
+# meson test -t 2
+# }
package() {
-
- cd glib
- make DESTDIR="$pkgdir" install
- rm -r "$pkgdir/usr/share/gtk-doc"
+ cd build
+ DESTDIR="$pkgdir" ninja install
+ mv "$pkgdir/usr/share/gtk-doc" "$srcdir/glib2-docs/usr/share"
# 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
}
diff --git a/libs.diff b/libs.diff
new file mode 100644
index 000000000000..9f9eb799fe90
--- /dev/null
+++ b/libs.diff
@@ -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
diff --git a/noisy-glib-compile-schemas.diff b/noisy-glib-compile-schemas.diff
new file mode 100644
index 000000000000..f5f2d9482229
--- /dev/null
+++ b/noisy-glib-compile-schemas.diff
@@ -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);
+
diff --git a/skip-broken-timer-test.patch b/skip-broken-timer-test.patch
deleted file mode 100644
index a19c684f36c4..000000000000
--- a/skip-broken-timer-test.patch
+++ /dev/null
@@ -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 \