git: 4d96af767a50 - main - net/gupnp-av: Backport upstream fixes

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 25 Dec 2023 09:11:43 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4d96af767a5090ac0f40aa90aa17abfa7bb914ef

commit 4d96af767a5090ac0f40aa90aa17abfa7bb914ef
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-12-25 09:03:21 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-12-25 09:03:21 +0000

    net/gupnp-av: Backport upstream fixes
    
    - Fix Requires: line of pkg-config file [1]
    - Fix build with libxml2 2.11+ [2][3][4]
    - Bump PORTREVISION for package change
    
    PR:             275865
    Submitted by:   diizzy
    Obtained from:  https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/767388bc16e08d4e1e1f419555165cc1816be931 [1]
                    https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/bff65db081ee1ee5df0a42231ebf8e8fbb27cccf [2]
                    https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/9557768121d54fdcedabe7544863515d6a813354 [3]
                    https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/1e10a41fcef6ae0d3e89958db89bc22398f3b4f1 [4]
---
 net/gupnp-av/Makefile               |  2 +-
 net/gupnp-av/files/patch-libxml2    | 69 +++++++++++++++++++++++++++++++++++++
 net/gupnp-av/files/patch-pkg-config | 17 +++++++++
 3 files changed, 87 insertions(+), 1 deletion(-)

diff --git a/net/gupnp-av/Makefile b/net/gupnp-av/Makefile
index a0626f2ce821..b4c9fc8db6b9 100644
--- a/net/gupnp-av/Makefile
+++ b/net/gupnp-av/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gupnp-av
 PORTVERSION=	0.14.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	net
 MASTER_SITES=	GNOME
 
diff --git a/net/gupnp-av/files/patch-libxml2 b/net/gupnp-av/files/patch-libxml2
new file mode 100644
index 000000000000..9b1f3d3baf66
--- /dev/null
+++ b/net/gupnp-av/files/patch-libxml2
@@ -0,0 +1,69 @@
+Obtained from:	https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/bff65db081ee1ee5df0a42231ebf8e8fbb27cccf
+		https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/9557768121d54fdcedabe7544863515d6a813354
+		https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/1e10a41fcef6ae0d3e89958db89bc22398f3b4f1
+
+--- libgupnp-av/gupnp-didl-lite-parser.c.orig	2022-06-03 18:15:12 UTC
++++ libgupnp-av/gupnp-didl-lite-parser.c
+@@ -230,12 +230,17 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDL
+         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;
+         }
+--- libgupnp-av/gupnp-feature-list-parser.c.orig	2022-06-03 18:15:12 UTC
++++ 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;
+         }
+--- libgupnp-av/xml-util.h.orig	2022-06-03 18:15:12 UTC
++++ 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>
+ 
+--- meson.build.orig	2022-06-03 18:15:12 UTC
++++ meson.build
+@@ -71,7 +71,7 @@ endif
+ 
+ common_cflags = cc.get_supported_arguments(test_cflags)
+ 
+-add_project_arguments(cc.get_supported_arguments('-Werror=deprecated-declarations'), language: 'c')
++#add_project_arguments(cc.get_supported_arguments('-Werror=deprecated-declarations'), language: 'c')
+ conf = configuration_data()
+ conf.set_quoted('DATADIR', join_paths(get_option('prefix'), get_option('datadir'), 'gupnp-av'))
+ conf.set_quoted('VERSION', meson.project_version())
diff --git a/net/gupnp-av/files/patch-pkg-config b/net/gupnp-av/files/patch-pkg-config
new file mode 100644
index 000000000000..8d0dbec08711
--- /dev/null
+++ b/net/gupnp-av/files/patch-pkg-config
@@ -0,0 +1,17 @@
+Obtained from:	https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/767388bc16e08d4e1e1f419555165cc1816be931
+
+--- meson.build.orig	2022-06-03 18:15:12 UTC
++++ meson.build
+@@ -87,6 +87,12 @@ subdir('data')
+ pkg = import('pkgconfig')
+ pkg.generate(
+     gupnp_av_lib,
++    requires : [
++      'glib-2.0',
++      'gobject-2.0',
++      'gio-2.0',
++      'libxml-2.0'
++    ],
+     subdirs : 'gupnp-av-1.0',
+     description : 'GObject-based AV specific UPnP library'
+ )