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

Closes: https://bugs.gentoo.org/917532
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2024-01-16 03:14:40 +00:00
parent 9ec403a539
commit cffbd2caf7
2 changed files with 126 additions and 0 deletions
@@ -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 <mail@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 <mail@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
@@ -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
}