diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-05-11 19:55:43 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-05-11 19:55:43 +0100 |
commit | 185fa19bbf68a4d4dca534d2b46729207a177f16 (patch) | |
tree | a8a537b82fda83a0799c2ca9887f212558363aa7 /app-cdr/brasero | |
parent | c8fd0d84af0bfd1949542adc2cbb735b1d28f9ed (diff) |
gentoo resync : 11.05.2021
Diffstat (limited to 'app-cdr/brasero')
-rw-r--r-- | app-cdr/brasero/Manifest | 2 | ||||
-rw-r--r-- | app-cdr/brasero/brasero-3.12.2-r3.ebuild | 84 | ||||
-rw-r--r-- | app-cdr/brasero/files/brasero-3.12.2-tracker3.patch | 240 |
3 files changed, 326 insertions, 0 deletions
diff --git a/app-cdr/brasero/Manifest b/app-cdr/brasero/Manifest index 92959389bcb4..8feae86a3d0c 100644 --- a/app-cdr/brasero/Manifest +++ b/app-cdr/brasero/Manifest @@ -1,3 +1,5 @@ +AUX brasero-3.12.2-tracker3.patch 8745 BLAKE2B a3ca65c2354bc87f7d9c9bd4ec2dce06f7a97208193a48674ffb60ace244528e9f45e25b15c768af9cf5b002db549d058433eb069ad13cee2d1a2e76afee9b69 SHA512 0595dda2259c8a1a4b005ac6d8886a1b9333102df61a24cbaf61895160395374abcb2391e487b6e98eaa441fcc3164187c451edb6ddc0c19cb1b7d12658aff1b DIST brasero-3.12.2.tar.xz 3742120 BLAKE2B 42cc60d3f4e26e948321c34f2514172aeac5a1b2624e6b23f27cc9725efd5cf0844a54175161b4c94601bbd5c4a6f18ccdd62353e862eddaab17e0d164f4694c SHA512 14886e772123f179f79d3172b59e21ced990fd8834cd27e8717eb635a75163c44c1d5084818b53da559a0c2ef25e7c0da4a3a7d3781e2ea74b59cfe98987384f EBUILD brasero-3.12.2-r2.ebuild 2092 BLAKE2B 1c0dbb77b9eb0119c82e7617966053f0e9970c356b7e395eab70c9081c94f2e7f4b0d6f44188aa804ee0371b9cec4eb5008685f3fb72162b8654cbccde71ce55 SHA512 dfe209442fbf441d96c252cdb4a81bc76fb41144c07f307aa49fe271593dd90f77ac0abe81521f448692342e9cc16eaf8e30554e640460aa80cc1f44385ad16d +EBUILD brasero-3.12.2-r3.ebuild 2081 BLAKE2B 46a30a1de3e7a2c79a8d9bca5518a3b3e207bb186c85bffe4d6b4e0ae8c7bc6f0d50d9d386aec8f8d4470ffe3f3be255d1e98f2e9863bfa1f4ab8ec38570192b SHA512 bcd90407bbf8a95300a2a1fc8cfd9ffe9416ccaf7421f457c8166aa1cf6bf72ed232c7c63a72ca7cb376838f1a09a31335a4d2823dbb39b2d484171dfbe283ea MISC metadata.xml 746 BLAKE2B cc74b666873593a356e42643f62e16a4919441f08ce9645e367ce5f52b6b3c3d0a2bd1a5bc64b49348239b04c7543a66993926d216a7ada19f2129417106e1dd SHA512 9824ae80fa067cedf46aa47f83d481b18704b94af6258657eb099bde328abae196b8f86ce7e92a800fea6b657b5a774afc37888fb92b560fda1403d8adf06c7d diff --git a/app-cdr/brasero/brasero-3.12.2-r3.ebuild b/app-cdr/brasero/brasero-3.12.2-r3.ebuild new file mode 100644 index 000000000000..63a074450330 --- /dev/null +++ b/app-cdr/brasero/brasero-3.12.2-r3.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +GNOME2_LA_PUNT="yes" +GNOME2_EAUTORECONF="yes" + +inherit gnome2 + +DESCRIPTION="CD/DVD burning application for the GNOME desktop" +HOMEPAGE="https://wiki.gnome.org/Apps/Brasero" + +LICENSE="GPL-2+ CC-BY-SA-3.0" +SLOT="0/3.1" # subslot is 3.suffix of libbrasero-burn3 +IUSE="+css +introspection +libburn mp3 nautilus playlist test tracker" +RESTRICT="!test? ( test )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +DEPEND=" + >=dev-libs/glib-2.29.14:2 + >=x11-libs/gtk+-3:3[introspection?] + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + >=dev-libs/libxml2-2.6:2 + >=x11-libs/libnotify-0.6.1:= + + media-libs/libcanberra[gtk3] + x11-libs/libICE + x11-libs/libSM + + introspection? ( >=dev-libs/gobject-introspection-1.30:= ) + libburn? ( + >=dev-libs/libburn-0.4:= + >=dev-libs/libisofs-0.6.4:= ) + nautilus? ( >=gnome-base/nautilus-2.91.90 ) + playlist? ( >=dev-libs/totem-pl-parser-2.29.1:= ) + tracker? ( app-misc/tracker:3= ) +" +RDEPEND="${DEPEND} + media-libs/gst-plugins-good:1.0 + media-plugins/gst-plugins-meta:1.0[mp3?] + x11-themes/hicolor-icon-theme + css? ( media-libs/libdvdcss:1.2 ) + !libburn? ( + app-cdr/cdrdao + app-cdr/cdrtools + app-cdr/dvd+rw-tools + ) +" +BDEPEND=" + >=dev-util/intltool-0.50 + dev-util/itstool + >=dev-util/gtk-doc-am-1.12 + sys-devel/gettext + virtual/pkgconfig + test? ( app-text/docbook-xml-dtd:4.3 ) + app-text/yelp-tools + gnome-base/gnome-common +" +PDEPEND="gnome-base/gvfs" + +PATCHES=( + # https://gitlab.gnome.org/GNOME/brasero/-/merge_requests/10 + "${FILESDIR}"/${P}-tracker3.patch +) + +src_configure() { + gnome2_src_configure \ + --disable-caches \ + $(use_enable !libburn cdrtools) \ + $(use_enable !libburn cdrkit) \ + $(use_enable !libburn cdrdao) \ + $(use_enable !libburn growisofs) \ + $(use_enable introspection) \ + $(use_enable libburn libburnia) \ + $(use_enable nautilus) \ + $(use_enable playlist) \ + $(use_enable tracker search) +} + +src_install() { + gnome2_src_install + mv "${ED}"/usr/share/{appdata,metainfo} || die +} diff --git a/app-cdr/brasero/files/brasero-3.12.2-tracker3.patch b/app-cdr/brasero/files/brasero-3.12.2-tracker3.patch new file mode 100644 index 000000000000..7a98f336cc14 --- /dev/null +++ b/app-cdr/brasero/files/brasero-3.12.2-tracker3.patch @@ -0,0 +1,240 @@ +From ca0d487aac3b9cf21e520a00b94cb3eaf833b9a3 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Thu, 24 Dec 2020 12:19:49 +0100 +Subject: [PATCH 1/5] Obtain TrackerSparqlConnection in a single point + +The is_available vmethod tries to create a connection if it's not +there. But the BraseroSearchTracker initialization already tries to +obtain the SPARQL connection. Let this method return wether +initialiation was successful. +--- + src/brasero-search-tracker.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c +index fe7be2bd..f8c29c0d 100644 +--- a/src/brasero-search-tracker.c ++++ b/src/brasero-search-tracker.c +@@ -56,12 +56,6 @@ brasero_search_tracker_is_available (BraseroSearchEngine *engine) + BraseroSearchTrackerPrivate *priv; + + priv = BRASERO_SEARCH_TRACKER_PRIVATE (engine); +- GError *error = NULL; +- if (priv->connection) +- return TRUE; +- +- priv->cancellable = g_cancellable_new (); +- priv->connection = tracker_sparql_connection_get (priv->cancellable, &error); + return (priv->connection != NULL); + } + +-- +GitLab + + +From c0dace005ec34b345845aacd1f929fd618b199af Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Thu, 24 Dec 2020 12:37:13 +0100 +Subject: [PATCH 2/5] Fix ORDER BY clauses in Tracker search + +The ?urn variable is not defined anywhere else in the query, so +ordering is left undefined. Access the url/filename properly here. +--- + src/brasero-search-tracker.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c +index f8c29c0d..94085070 100644 +--- a/src/brasero-search-tracker.c ++++ b/src/brasero-search-tracker.c +@@ -307,7 +307,7 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search, + g_string_append (query, ")"); + + g_string_append (query, +- "} ORDER BY DESC(nie:url(?urn)) DESC(nfo:fileName(?urn))"); ++ "} ORDER BY DESC(?url) DESC(nfo:fileName(?file))"); + + tracker_sparql_connection_query_async (priv->connection, + query->str, +-- +GitLab + + +From f7181445bf9c88b7fab1bb5237d602b491694a9e Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Thu, 24 Dec 2020 13:04:03 +0100 +Subject: [PATCH 3/5] Only use fts:rank with FTS searches + +This fixes two things: +- The use of fts:match depends on priv->keywords being set, but + fts:rank() has undefined behavior if fts:match is not present. + Its value is returned in the cursor, but fortunately unused, + so it can go away. + +- Fixes "garbage" being added at the end of the query, concretely + ") } ORDER BY ... " is appended at the supposed end of the query + string. Older SPARQL parser implementations would allow garbage + at the end of its parsing state, I suspect "LIMIT 0 OFFSET 10000" + was just a mean to push it to that state that it'd allow the + remaining string, so that is gone too. +--- + src/brasero-search-tracker.c | 21 +++++++++------------ + 1 file changed, 9 insertions(+), 12 deletions(-) + +diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c +index 94085070..ae1d388a 100644 +--- a/src/brasero-search-tracker.c ++++ b/src/brasero-search-tracker.c +@@ -234,7 +234,7 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search, + + priv = BRASERO_SEARCH_TRACKER_PRIVATE (search); + +- query = g_string_new ("SELECT ?file ?url ?mime fts:rank(?file) " /* Which variables should be returned */ ++ query = g_string_new ("SELECT ?file ?url ?mime " /* Which variables should be returned */ + "WHERE {" /* Start defining the search and its scope */ + " ?file a nfo:FileDataObject . " /* File must be a file (not a stream, ...) */ + " ?file nie:url ?url . " /* Get the url of the file */ +@@ -293,21 +293,18 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search, + " ) "); + } + +- if (priv->keywords) ++ if (priv->keywords) { + g_string_append_printf (query, + " ?file fts:match \"%s\" ", /* File must match possible keywords */ + priv->keywords); + +- g_string_append (query, +- " } " +- "ORDER BY ASC(fts:rank(?file)) " +- "OFFSET 0 " +- "LIMIT 10000"); +- +- g_string_append (query, ")"); +- +- g_string_append (query, +- "} ORDER BY DESC(?url) DESC(nfo:fileName(?file))"); ++ g_string_append (query, ++ " } " ++ "ORDER BY ASC(fts:rank(?file))"); ++ } else { ++ g_string_append (query, ++ "} ORDER BY DESC(?url) DESC(nfo:fileName(?file))"); ++ } + + tracker_sparql_connection_query_async (priv->connection, + query->str, +-- +GitLab + + +From ede7758e2fae487d57be641a120c4c02bfd249f1 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Thu, 24 Dec 2020 13:15:21 +0100 +Subject: [PATCH 4/5] Observe nfo:FileDataObject/nie:InformationElement split + +These resources are interpreted differently in Tracker 3.0 compared +to older versions, the newer version makes those 2 different resources +(one representing the "file", other the "content) that relate to each +other. In older tracker versions, these 2 aspects were conflated in +a single resource. + +The query is implicitly crossing that barrier, so make it explicit. +With this change, the query may run with either version. +--- + src/brasero-search-tracker.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c +index ae1d388a..9aa06289 100644 +--- a/src/brasero-search-tracker.c ++++ b/src/brasero-search-tracker.c +@@ -238,7 +238,8 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search, + "WHERE {" /* Start defining the search and its scope */ + " ?file a nfo:FileDataObject . " /* File must be a file (not a stream, ...) */ + " ?file nie:url ?url . " /* Get the url of the file */ +- " ?file nie:mimeType ?mime . "); /* Get its mime */ ++ " ?file nie:mimeType ?mime . " /* Get its mime */ ++ " ?content nie:isStoredAs ?file . "); /* Get the resource representing the content */ + + if (priv->mimes) { + int i; +@@ -259,7 +260,7 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search, + gboolean param_added = FALSE; + + g_string_append (query, +- " ?file a ?type . " ++ " ?content a ?type . " + " FILTER ( "); + + if (priv->scope & BRASERO_SEARCH_SCOPE_MUSIC) { +-- +GitLab + + +From 05589be7da3a0dfb00617df049d129abba703c36 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Thu, 24 Dec 2020 13:22:43 +0100 +Subject: [PATCH 5/5] Support Tracker 3.0 + +Add the compile-time checks, and add the minimal code catering for +the API changes. In 3.0 connections are no longer singletons. +--- + configure.ac | 6 +++++- + src/brasero-search-tracker.c | 8 ++++++++ + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index d0c7a870..96afc551 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -388,7 +388,7 @@ AC_ARG_ENABLE(search, + if test x"$enable_search" != "xno"; then + # Try to figure out the tracker API version to use + tracker_api="0.10" +- m4_foreach([VERSION], [[0.10], [0.12], [0.14], [0.16], [0.18], [1.0], [2.0]], ++ m4_foreach([VERSION], [[0.10], [0.12], [0.14], [0.16], [0.18], [1.0], [2.0], [3.0]], + [PKG_CHECK_EXISTS([tracker-sparql-VERSION >= $TRACKER_REQUIRED], + [tracker_api="VERSION"]) + ]) +@@ -408,6 +408,10 @@ if test x"$enable_search" = "xyes"; then + AC_SUBST(BRASERO_SEARCH_LIBS) + build_tracker="yes" + build_search="yes" ++ ++ if test x"$tracker_api" = x"3.0"; then ++ AC_DEFINE(HAVE_TRACKER3, 1, [define if tracker3 is available]) ++ fi + else + build_search="no" + fi +diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c +index 9aa06289..40c5f1ac 100644 +--- a/src/brasero-search-tracker.c ++++ b/src/brasero-search-tracker.c +@@ -17,6 +17,8 @@ + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + ++#include "config.h" ++ + #include <stdlib.h> + + #include <libtracker-sparql/tracker-sparql.h> +@@ -444,7 +446,13 @@ brasero_search_tracker_init (BraseroSearchTracker *object) + + priv = BRASERO_SEARCH_TRACKER_PRIVATE (object); + priv->cancellable = g_cancellable_new (); ++ ++#ifdef HAVE_TRACKER3 ++ priv->connection = tracker_sparql_connection_bus_new ("org.freedesktop.Tracker3.Miner.Files", ++ NULL, NULL, &error); ++#else + priv->connection = tracker_sparql_connection_get (priv->cancellable, &error); ++#endif + + if (error) { + g_warning ("Could not establish a connection to Tracker: %s", error->message); +-- +GitLab + |