commit:     cffbd2caf743870bb129b421886f2c1f4b3e6741
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 16 03:13:48 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 16 03:14:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cffbd2ca

net-libs/gupnp-av: fix build w/ libxml2-2.12

Closes: https://bugs.gentoo.org/917532
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/gupnp-av-0.14.1-libxml2-2.12.patch       | 75 ++++++++++++++++++++++
 net-libs/gupnp-av/gupnp-av-0.14.1-r2.ebuild        | 51 +++++++++++++++
 2 files changed, 126 insertions(+)

diff --git a/net-libs/gupnp-av/files/gupnp-av-0.14.1-libxml2-2.12.patch 
b/net-libs/gupnp-av/files/gupnp-av-0.14.1-libxml2-2.12.patch
new file mode 100644
index 000000000000..c62ed29fe577
--- /dev/null
+++ b/net-libs/gupnp-av/files/gupnp-av-0.14.1-libxml2-2.12.patch
@@ -0,0 +1,75 @@
+https://bugs.gentoo.org/917532
+https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/9557768121d54fdcedabe7544863515d6a813354
+https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/1e10a41fcef6ae0d3e89958db89bc22398f3b4f1
+
+From 9557768121d54fdcedabe7544863515d6a813354 Mon Sep 17 00:00:00 2001
+From: Jens Georg <m...@jensge.org>
+Date: Thu, 3 Aug 2023 23:52:43 +0200
+Subject: [PATCH] Remove deprecates xmlRecoverMemory
+
+Cannot currently remove xmlSchemaValidateStream as validateDoc fails to
+accept the XSD
+--- a/libgupnp-av/gupnp-didl-lite-parser.c
++++ b/libgupnp-av/gupnp-didl-lite-parser.c
+@@ -230,12 +230,17 @@ gupnp_didl_lite_parser_parse_didl_recursive 
(GUPnPDIDLLiteParser *parser,
+         GUPnPAVXMLDoc *xml_doc = NULL;
+         gboolean       result;
+ 
+-        doc = xmlRecoverMemory (didl, strlen (didl));
++        doc = xmlReadMemory (didl,
++                             strlen (didl),
++                             NULL,
++                             NULL,
++                             XML_PARSE_NONET | XML_PARSE_RECOVER);
+         if (doc == NULL) {
+                 g_set_error (error,
+                              G_MARKUP_ERROR,
+                              G_MARKUP_ERROR_PARSE,
+-                             "Could not parse DIDL-Lite XML:\n%s", didl);
++                             "Could not parse DIDL-Lite XML:\n%s",
++                             didl);
+ 
+                 return FALSE;
+         }
+--- a/libgupnp-av/gupnp-feature-list-parser.c
++++ b/libgupnp-av/gupnp-feature-list-parser.c
+@@ -114,12 +114,17 @@ gupnp_feature_list_parser_parse_text
+         xmlNode      *element;
+         GList        *feature_list = NULL;
+ 
+-        doc = xmlRecoverMemory (text, strlen (text));
++        doc = xmlReadMemory (text,
++                             strlen (text),
++                             NULL,
++                             NULL,
++                             XML_PARSE_NONET | XML_PARSE_RECOVER);
+         if (doc == NULL) {
+                 g_set_error (error,
+                              G_MARKUP_ERROR,
+                              G_MARKUP_ERROR_PARSE,
+-                             "Could not parse FeatureList XML:\n%s", text);
++                             "Could not parse FeatureList XML:\n%s",
++                             text);
+ 
+                 return NULL;
+         }
+-- 
+GitLab
+
+From 1e10a41fcef6ae0d3e89958db89bc22398f3b4f1 Mon Sep 17 00:00:00 2001
+From: Jens Georg <m...@jensge.org>
+Date: Sat, 25 Nov 2023 17:58:49 +0100
+Subject: [PATCH] xml: Fix compatibility with libxml2 2.12.x
+
+--- a/libgupnp-av/xml-util.h
++++ b/libgupnp-av/xml-util.h
+@@ -16,6 +16,7 @@
+ 
+ #include <glib.h>
+ #include <libxml/tree.h>
++#include <libxml/parser.h>
+ #include <stdarg.h>
+ #include <glib-object.h>
+ 
+-- 
+GitLab

diff --git a/net-libs/gupnp-av/gupnp-av-0.14.1-r2.ebuild 
b/net-libs/gupnp-av/gupnp-av-0.14.1-r2.ebuild
new file mode 100644
index 000000000000..a324b8878c7d
--- /dev/null
+++ b/net-libs/gupnp-av/gupnp-av-0.14.1-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson vala
+
+DESCRIPTION="Utility library aiming to ease the handling UPnP A/V profiles"
+HOMEPAGE="https://wiki.gnome.org/Projects/GUPnP 
https://gitlab.gnome.org/GNOME/gupnp-av";
+
+LICENSE="LGPL-2"
+SLOT="0/3" # subslot: soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc 
~x86"
+IUSE="gtk-doc +introspection vala"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+       >=dev-libs/glib-2.58:2
+       dev-libs/libxml2
+       introspection? ( >=dev-libs/gobject-introspection-1.36:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       gtk-doc? (
+               dev-util/gtk-doc
+               app-text/docbook-xml-dtd:4.1.2
+       )
+       vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.14.1-libxml2-2.12.patch
+)
+
+src_prepare() {
+       use vala && vala_setup
+       default
+
+       # This makes sense for upstream but not for us downstream, bug #906641.
+       sed -i -e '/-Werror=deprecated-declarations/d' meson.build || die
+}
+
+src_configure() {
+       local emesonargs=(
+               $(meson_use introspection)
+               $(meson_use vala vapi)
+               $(meson_use gtk-doc gtk_doc)
+       )
+       meson_src_configure
+}

Reply via email to