commit:     923df97147be73deedf7c2afaaa8fccb89d8ecab
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  5 06:26:23 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan  5 06:26:23 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=923df971

dev-libs/totem-pl-parser: fix modern C issue

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/totem-pl-parser/files/3.26.6-c99.patch    | 22 +++++++
 .../totem-pl-parser-3.26.6-r1.ebuild               | 73 ++++++++++++++++++++++
 2 files changed, 95 insertions(+)

diff --git a/dev-libs/totem-pl-parser/files/3.26.6-c99.patch 
b/dev-libs/totem-pl-parser/files/3.26.6-c99.patch
new file mode 100644
index 000000000000..a991b8ae41c0
--- /dev/null
+++ b/dev-libs/totem-pl-parser/files/3.26.6-c99.patch
@@ -0,0 +1,22 @@
+https://gitlab.gnome.org/GNOME/totem-pl-parser/-/merge_requests/53
+
+From e718dd1fe2476e2a68da4b632f268f404ea951f2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fwei...@redhat.com>
+Date: Wed, 3 Jan 2024 13:24:31 +0100
+Subject: [PATCH] Return FALSE instead of NULL, to match the gboolean return
+ type
+
+Fixes a C type error and compilation error with GCC 14 and Clang.
+--- a/plparse/totem-pl-parser.c
++++ b/plparse/totem-pl-parser.c
+@@ -1338,7 +1338,7 @@ totem_pl_parser_save_finish (TotemPlParser   *parser,
+                            GAsyncResult    *async_result,
+                            GError         **error)
+ {
+-      g_return_val_if_fail (g_task_is_valid (async_result, parser), NULL);
++      g_return_val_if_fail (g_task_is_valid (async_result, parser), FALSE);
+ 
+       return g_task_propagate_boolean (G_TASK (async_result), error);
+ }
+-- 
+GitLab

diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild 
b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
new file mode 100644
index 000000000000..ff7a94ed5c57
--- /dev/null
+++ b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org meson xdg
+
+DESCRIPTION="Playlist parsing library"
+HOMEPAGE="https://developer.gnome.org/totem-pl-parser/stable/";
+
+LICENSE="LGPL-2+"
+SLOT="0/18"
+IUSE="archive crypt gtk-doc +introspection test +uchardet"
+RESTRICT="!test? ( test )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc 
~x86"
+
+RDEPEND="
+       >=dev-libs/glib-2.56:2
+       archive? ( >=app-arch/libarchive-3:0= )
+       dev-libs/libxml2:2
+       crypt? ( dev-libs/libgcrypt:0= )
+       uchardet? ( app-i18n/uchardet )
+       introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       dev-util/glib-utils
+       gtk-doc? (
+               >=dev-util/gtk-doc-1.14
+               app-text/docbook-xml-dtd:4.3
+       )
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+       test? (
+               gnome-base/gvfs[http]
+               sys-apps/dbus
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PV}-plparser-Fix-uninitialized-variable-error.patch
+       "${FILESDIR}"/${PV}-c99.patch
+)
+
+src_prepare() {
+       # Disable tests requiring network access, bug #346127
+       # 3rd test fails on upgrade, not once installed
+       # Leio: I consider network tests important for ensuring full 
functionality, thus trying with them again */
+       #sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
+       #       -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' 
\
+       #       -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1*/:'\
+       #       -i plparse/tests/parser.c || die "sed failed"
+
+       xdg_src_prepare
+}
+
+src_configure() {
+       # uninstalled-tests is abused to switch from loading live FS helper
+       # to in-build-tree helper, check on upgrades this is not having other
+       # consequences, bug #630242
+       local emesonargs=(
+               -Denable-libarchive=$(usex archive)
+               -Denable-libgcrypt=$(usex crypt)
+               -Denable-uchardet=$(usex uchardet)
+               $(meson_use gtk-doc enable-gtk-doc)
+               $(meson_use introspection)
+       )
+       meson_src_configure
+}
+
+src_test() {
+       # This is required as told by upstream in bgo#629542
+       GVFS_DISABLE_FUSE=1 dbus-run-session meson test -C "${BUILD_DIR}"
+}

Reply via email to