summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2019-08-05 14:01:47 +0300
committerMart Raudsepp <leio@gentoo.org>2019-08-05 15:41:55 +0300
commit24498428ca700c5f84c362ea7f7c800aa1213326 (patch)
tree198f87377856622a4ff7b98868aedc855ac388fd /app-misc/tracker
parentdev-libs/capstone: prefix support (diff)
downloadgentoo-24498428ca700c5f84c362ea7f7c800aa1213326.tar.gz
gentoo-24498428ca700c5f84c362ea7f7c800aa1213326.tar.bz2
gentoo-24498428ca700c5f84c362ea7f7c800aa1213326.zip
app-misc/tracker: fix compatibility with vala:0.44 and reallow 0.44
With vala:0.46 it has new problems, so raise the MAX from 0.42 to 0.44 instead of removing it. The core problem was that 0.44.4 fixed a bug where it didn't notice some extern symbol or whatnot and filtered out a Tracker-2.0 include, so now with 0.44.4 and newer the GIR file had Tracker-2.0 including Tracker-2.0 and under sandbox it bailed out in some snprintf stuff (without sandbox it seemed to succeed, maybe it has a recursion limit that hits after stricter sandbox bails on some snprintf limit stuff going on in that recursion, or I tested bad) in the recursion. Newer tracker has a fix by avoiding this situation that it itself causes (it merges multiple different GIR files together, without that it would probably be fine) by avoiding the include of itself, and this is the patch that we apply now to fix vala:0.44 compat to be able to lift the restriction. Closes: https://bugs.gentoo.org/691072 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'app-misc/tracker')
-rw-r--r--app-misc/tracker/files/2.1.8-vala-0.44-compat.patch46
-rw-r--r--app-misc/tracker/tracker-2.1.8.ebuild3
2 files changed, 48 insertions, 1 deletions
diff --git a/app-misc/tracker/files/2.1.8-vala-0.44-compat.patch b/app-misc/tracker/files/2.1.8-vala-0.44-compat.patch
new file mode 100644
index 000000000000..85a7eeadc2ba
--- /dev/null
+++ b/app-misc/tracker/files/2.1.8-vala-0.44-compat.patch
@@ -0,0 +1,46 @@
+From e93ea9167dc4185b6c29b27abdab55b6bcd06c74 Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Wed, 1 May 2019 13:38:34 +0200
+Subject: [PATCH] g-ir-merge: Avoid recursive includes
+
+Ensure the namespace is not part of the includes. This is a kludge and
+shouldn't ever happen, except it does (in continuous, induced by vala).
+
+The next big thing that would happen here is a rewrite of libtracker-sparql
+vala bits so we don't need this merging anymore, so I won't put much
+thought on it.
+---
+ utils/g-ir-merge/g-ir-merge | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/utils/g-ir-merge/g-ir-merge b/utils/g-ir-merge/g-ir-merge
+index ad79c2d29..321032a4a 100755
+--- a/utils/g-ir-merge/g-ir-merge
++++ b/utils/g-ir-merge/g-ir-merge
+@@ -89,12 +89,12 @@ def parse_inputs(files):
+ return includes, namespaces, c_includes
+
+
+-def merge_includes(all_includes):
++def merge_includes(all_includes, namespace):
+ merged = {}
+ for element in all_includes:
+ name = element.get('name')
+ version = element.get('version')
+- if name not in merged:
++ if name not in merged and name != namespace:
+ merged[name] = element
+ return list(merged.values())
+
+@@ -153,7 +153,7 @@ def main():
+
+ all_includes, all_namespaces, all_c_includes = parse_inputs(args.files)
+
+- includes = merge_includes(all_includes)
++ includes = merge_includes(all_includes, args.namespace)
+
+ namespace_contents, identifier_prefixes, symbol_prefixes, shared_libraries \
+ = merge_namespaces(all_namespaces)
+--
+2.20.1
+
diff --git a/app-misc/tracker/tracker-2.1.8.ebuild b/app-misc/tracker/tracker-2.1.8.ebuild
index 3bce3d5c2174..a709313c84a7 100644
--- a/app-misc/tracker/tracker-2.1.8.ebuild
+++ b/app-misc/tracker/tracker-2.1.8.ebuild
@@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7} )
-VALA_MAX_API_VERSION="0.42"
+VALA_MAX_API_VERSION="0.44"
inherit bash-completion-r1 eapi7-ver gnome.org linux-info meson python-any-r1 systemd vala xdg
@@ -50,6 +50,7 @@ PATCHES=(
"${FILESDIR}"/${PV}-test-fix.patch # https://gitlab.gnome.org/GNOME/tracker/merge_requests/59
"${FILESDIR}"/${PV}-prevent-stack-smashing.patch
"${FILESDIR}"/${PV}-fix-library-symlinks.patch
+ "${FILESDIR}"/${PV}-vala-0.44-compat.patch # upstream commit e93ea9167dc
)
function inotify_enabled() {