summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2020-02-20 19:31:08 +0200
committerMart Raudsepp <leio@gentoo.org>2020-02-21 22:56:35 +0200
commit15c30f600b3ae540df62a4672272da705ccb85ae (patch)
tree8dea88c7942e0eb9a1bb6e55ea8053b5fb77c4d6 /net-libs
parentnet-libs/gupnp: bump to 1.2.2 (diff)
downloadgentoo-15c30f600b3ae540df62a4672272da705ccb85ae.tar.gz
gentoo-15c30f600b3ae540df62a4672272da705ccb85ae.tar.bz2
gentoo-15c30f600b3ae540df62a4672272da705ccb85ae.zip
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@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/gupnp-igd/files/0.2.5-gupnp-1.2.patch99
-rw-r--r--net-libs/gupnp-igd/gupnp-igd-0.2.5-r10.ebuild58
2 files changed, 157 insertions, 0 deletions
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 000000000000..c70bf6fea489
--- /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 <mail@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 000000000000..2a9e22641b4d
--- /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
+}