commit:     15c30f600b3ae540df62a4672272da705ccb85ae
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 20 17:31:08 2020 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Fri Feb 21 20:56:35 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15c30f60

net-libs/gupnp-igd: add revision compatible with gupnp-1.2 API

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 net-libs/gupnp-igd/files/0.2.5-gupnp-1.2.patch | 99 ++++++++++++++++++++++++++
 net-libs/gupnp-igd/gupnp-igd-0.2.5-r10.ebuild  | 58 +++++++++++++++
 2 files changed, 157 insertions(+)

diff --git a/net-libs/gupnp-igd/files/0.2.5-gupnp-1.2.patch 
b/net-libs/gupnp-igd/files/0.2.5-gupnp-1.2.patch
new file mode 100644
index 00000000000..c70bf6fea48
--- /dev/null
+++ b/net-libs/gupnp-igd/files/0.2.5-gupnp-1.2.patch
@@ -0,0 +1,99 @@
+From 63531558a16ac2334a59f627b2fca5576dcfbb2e Mon Sep 17 00:00:00 2001
+From: Jens Georg <m...@jensge.org>
+Date: Sat, 1 Dec 2018 21:33:21 +0100
+Subject: [PATCH] Swtich to new GUPnP API
+
+---
+ configure.ac                    | 2 +-
+ gupnp-igd-1.0-uninstalled.pc.in | 2 +-
+ gupnp-igd-1.0.pc.in             | 2 +-
+ libgupnp-igd/Makefile.am        | 2 +-
+ tests/gtest/gupnp-simple-igd.c  | 6 ++++--
+ 5 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f03921f..aa7f0ca 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,7 +11,7 @@ AC_STDC_HEADERS
+ AC_PROG_LIBTOOL
+ AC_FUNC_MMAP
+ 
+-PKG_CHECK_MODULES(LIBGUPNP, glib-2.0 >= 2.26 gobject-2.0 >= 2.26 gssdp-1.0 
gupnp-1.0 >= 0.18 gthread-2.0)
++PKG_CHECK_MODULES(LIBGUPNP, glib-2.0 >= 2.26 gobject-2.0 >= 2.26 gssdp-1.2 
gupnp-1.2 >= 0.18 gthread-2.0)
+ 
+ # glib-genmarshal
+ GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
+diff --git a/gupnp-igd-1.0-uninstalled.pc.in b/gupnp-igd-1.0-uninstalled.pc.in
+index 483956f..6db3bee 100644
+--- a/gupnp-igd-1.0-uninstalled.pc.in
++++ b/gupnp-igd-1.0-uninstalled.pc.in
+@@ -5,7 +5,7 @@ includedir=${pcfiledir}/
+ 
+ Name: gupnp-igd-1.0
+ Description: GUPnP Simple IGD library
+-Requires: gupnp-1.0
++Requires: gupnp-1.2
+ Version: @VERSION@
+ Libs: ${libdir}/libgupnp-av-1.0.la
+ Cflags: -I${includedir}
+diff --git a/gupnp-igd-1.0.pc.in b/gupnp-igd-1.0.pc.in
+index 6660d63..aa74ed3 100644
+--- a/gupnp-igd-1.0.pc.in
++++ b/gupnp-igd-1.0.pc.in
+@@ -5,7 +5,7 @@ includedir=@includedir@
+ 
+ Name: gupnp-igd-1.0
+ Description: GUPnP Simple IGD library
+-Requires: gupnp-1.0
++Requires: gupnp-1.2
+ Version: @VERSION@
+ Libs: -L${libdir} -lgupnp-igd-1.0
+ Cflags: -I${includedir}/gupnp-igd-1.0
+diff --git a/libgupnp-igd/Makefile.am b/libgupnp-igd/Makefile.am
+index fe020b5..e10d857 100644
+--- a/libgupnp-igd/Makefile.am
++++ b/libgupnp-igd/Makefile.am
+@@ -60,7 +60,7 @@ GUPnPIgd_1_0_gir_VERSION = 1.0
+ GUPnPIgd_1_0_gir_LIBS = $(lib_LTLIBRARIES)
+ GUPnPIgd_1_0_gir_FILES = $(libgupnp_igd_1_0_la_SOURCES) 
$(libgupnp_igd_inc_HEADERS)
+ GUPnPIgd_1_0_gir_INCLUDES=GObject-2.0
+-GUPnPIgd_1_0_gir_PACKAGES=gupnp-1.0
++GUPnPIgd_1_0_gir_PACKAGES=gupnp-1.2
+ GUPnPIgd_1_0_gir_CFLAGS=-I$(srcdir) -I$(top_srcdir)
+ 
+ if HAVE_INTROSPECTION
+diff --git a/tests/gtest/gupnp-simple-igd.c b/tests/gtest/gupnp-simple-igd.c
+index 9b32b2a..d051d13 100644
+--- a/tests/gtest/gupnp-simple-igd.c
++++ b/tests/gtest/gupnp-simple-igd.c
+@@ -273,13 +273,14 @@ run_gupnp_simple_igd_test (GMainContext *mainctx, 
GUPnPSimpleIgd *igd,
+   GUPnPDeviceInfo *subdev1;
+   GUPnPDeviceInfo *subdev2;
+   const gchar *xml_path = ".";
++  GError *error = NULL;
+ 
+   g_signal_connect (igd, "context-available",
+         G_CALLBACK (ignore_non_localhost), NULL);
+ 
+   if (mainctx)
+     g_main_context_push_thread_default (mainctx);
+-  context = gupnp_context_new (NULL, "lo", 0, NULL);
++  context = gupnp_context_new ("lo", 0, NULL);
+   g_assert (context);
+ 
+   if (g_getenv ("XML_PATH"))
+@@ -293,8 +294,9 @@ run_gupnp_simple_igd_test (GMainContext *mainctx, 
GUPnPSimpleIgd *igd,
+   gupnp_context_host_path (context, "WANPPPConnection.xml", 
"/WANPPPConnection.xml");
+   */
+ 
+-  dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml", 
xml_path);
++  dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml", 
xml_path, &error);
+   g_assert (dev);
++  g_assert (error == NULL);
+ 
+   subdev1 = gupnp_device_info_get_device (GUPNP_DEVICE_INFO (dev),
+       "urn:schemas-upnp-org:device:WANDevice:1");
+-- 
+2.24.1
+

diff --git a/net-libs/gupnp-igd/gupnp-igd-0.2.5-r10.ebuild 
b/net-libs/gupnp-igd/gupnp-igd-0.2.5-r10.ebuild
new file mode 100644
index 00000000000..2a9e22641b4
--- /dev/null
+++ b/net-libs/gupnp-igd/gupnp-igd-0.2.5-r10.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools ltprune gnome.org multilib-minimal xdg
+
+DESCRIPTION="Library to handle UPnP IGD port mapping for GUPnP"
+HOMEPAGE="http://gupnp.org";
+
+LICENSE="LGPL-2.1+"
+SLOT="0/1.2" # pkg-config file links in gupnp API, so some consumers of 
gupnp-igd need to be relinked for it
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+introspection"
+
+RDEPEND="
+       >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+       >=net-libs/gssdp-1.2:0=[${MULTILIB_USEDEP}]
+       >=net-libs/gupnp-1.2:0=[${MULTILIB_USEDEP}]
+       introspection? ( >=dev-libs/gobject-introspection-0.10 )
+"
+DEPEND="${RDEPEND}
+       dev-util/glib-utils
+       >=dev-util/gtk-doc-am-1.10
+       sys-devel/gettext
+       >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+"
+
+# The only existing test is broken
+RESTRICT="test"
+
+PATCHES=(
+       "${FILESDIR}"/${PV}-gupnp-1.2.patch # needs eautoreconf, 
https://gitlab.gnome.org/GNOME/gupnp-igd/merge_requests/1
+)
+
+src_prepare() {
+       xdg_src_prepare
+       eautoreconf
+}
+
+multilib_src_configure() {
+       # python is old-style bindings; use introspection and pygobject instead
+       ECONF_SOURCE=${S} \
+       econf \
+               --disable-static \
+               --disable-gtk-doc \
+               --disable-python \
+               $(multilib_native_use_enable introspection)
+
+       if multilib_is_native_abi; then
+               ln -s "${S}"/doc/html doc/html || die
+       fi
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       prune_libtool_files
+}

Reply via email to