commit:     05015ad87e421096fc0367d36f902fe4de7d77e7
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 13 15:06:57 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 13 18:28:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05015ad8

net-libs/farstream: Switch to net-libs/gupnp-igd:1.6, EAPI 7 -> 8

See also: https://github.com/gentoo/gentoo/pull/41198
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-libs/farstream/farstream-0.2.9-r2.ebuild       |  74 +++++++++++
 .../files/farstream-0.2.9-gupnp-1.2.patch          | 140 +++++++++++++++++++++
 .../files/farstream-0.2.9-gupnp-igd-1.6.patch      |  23 ++++
 3 files changed, 237 insertions(+)

diff --git a/net-libs/farstream/farstream-0.2.9-r2.ebuild 
b/net-libs/farstream/farstream-0.2.9-r2.ebuild
new file mode 100644
index 000000000000..3932d4e0bad1
--- /dev/null
+++ b/net-libs/farstream/farstream-0.2.9-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME2_EAUTORECONF=yes
+inherit gnome2
+
+DESCRIPTION="Audio/video conferencing framework specifically designed for 
instant messengers"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/Farstream";
+SRC_URI="https://freedesktop.org/software/farstream/releases/${PN}/${P}.tar.gz";
+
+LICENSE="LGPL-2.1+"
+SLOT="0.2/5" # .so version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 
~amd64-linux ~x86-linux"
+IUSE="+introspection test upnp valgrind"
+
+# Tests need shmsink from gst-plugins-bad, which isn't packaged
+# FIXME: do an out-of-tree build for tests if USE=-msn
+RESTRICT="test"
+
+COMMON_DEPEND="
+       >=media-libs/gstreamer-1.4:1.0
+       >=media-libs/gst-plugins-base-1.4:1.0
+       >=dev-libs/glib-2.40:2
+       >=net-libs/libnice-0.1.8
+       introspection? ( >=dev-libs/gobject-introspection-0.10.11:= )
+       upnp? ( net-libs/gupnp-igd:1.6= )
+"
+RDEPEND="${COMMON_DEPEND}
+       >=media-libs/gst-plugins-bad-1.4:1.0
+       >=media-libs/gst-plugins-good-1.4:1.0
+       media-plugins/gst-plugins-srtp:1.0
+       media-plugins/gst-plugins-libnice:1.0
+"
+DEPEND="${COMMON_DEPEND}
+       ${PYTHON_DEPS}
+       test? (
+               media-libs/gst-plugins-base:1.0[vorbis]
+               media-libs/gst-plugins-good:1.0
+       )
+       valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="
+       dev-util/glib-utils
+       >=dev-build/gtk-doc-am-1.18
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.2.9-make43.patch
+       # downstream patches thx to Debian; libsoup:2.4 riddance
+       "${FILESDIR}"/${P}-gupnp-{1.2,igd-1.6}.patch
+)
+
+src_configure() {
+       
plugins="fsrawconference,fsrtpconference,fsmsnconference,fsrtpxdata,fsfunnel,fsrtcpfilter,fsvideoanyrate"
+       gnome2_src_configure \
+               --disable-static \
+               $(use_enable introspection) \
+               $(use_enable upnp gupnp) \
+               $(use_enable valgrind) \
+               --with-plugins=${plugins}
+}
+
+src_compile() {
+       # Prevent sandbox violations, bug #539224
+       # https://bugzilla.gnome.org/show_bug.cgi?id=744135
+       # https://bugzilla.gnome.org/show_bug.cgi?id=744134
+       addpredict /dev
+
+       # bug #776175 for -j1
+       MAKEOPTS="-j1" gnome2_src_compile
+}

diff --git a/net-libs/farstream/files/farstream-0.2.9-gupnp-1.2.patch 
b/net-libs/farstream/files/farstream-0.2.9-gupnp-1.2.patch
new file mode 100644
index 000000000000..ca116217ea58
--- /dev/null
+++ b/net-libs/farstream/files/farstream-0.2.9-gupnp-1.2.patch
@@ -0,0 +1,140 @@
+https://salsa.debian.org/telepathy-team/farstream-0.2/-/blob/debian/debian/patches/rawudp-upnp-test-Also-build-against-new-GUPnP-1.2-library.patch
+
+From: =?utf-8?q?Olivier_Cr=C3=AAte?= <[email protected]>
+Date: Tue, 20 Oct 2020 19:51:22 -0400
+Subject: rawudp-upnp test: Also build against new GUPnP 1.2 library if
+ present
+
+Update the configure test to match
+
+Origin: 
https://gitlab.freedesktop.org/farstream/farstream/-/commit/e70dcd0a9f89e
+---
+ configure.ac                          | 17 +++++++++++++++++
+ tests/check/Makefile.am               |  7 +++----
+ tests/check/transmitter/rawudp-upnp.c | 16 ++++++++++++++--
+ tests/check/transmitter/rawudp.c      |  4 ++--
+ 4 files changed, 36 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7e29d2a..a95a046 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -364,8 +364,25 @@ fi
+ 
+ if test "x$HAVE_GUPNP" = "xyes"; then
+    AC_DEFINE(HAVE_GUPNP,,[Have the GUPnP IGD library])
++
++    PKG_CHECK_MODULES(GUPNP_CORE, [ gupnp-1.2 ],
++      [ HAVE_GUPNP_CORE_12=yes ],
++      [ HAVE_GUPNP_CORE_12=no
++        PKG_CHECK_MODULES(GUPNP_CORE, [ gupnp-1.0 ],
++           [ HAVE_GUPNP_CORE_10=yes ],
++           [ HAVE_GUPNP_CORE_10=no ])
++    ])
++
++    if test "x$HAVE_GUPNP_CORE_10" = "xyes"; then
++       AC_DEFINE(HAVE_GUPNP_CORE_10,,[Have the GUPnP 1.0 library])
++    fi
++
++    if test "x$HAVE_GUPNP_CORE_12" = "xyes"; then
++       AC_DEFINE(HAVE_GUPNP_CORE_12,,[Have the GUPnP 1.2 library])
++    fi
+ fi
+ 
++
+ dnl build static plugins or not
+ AC_MSG_CHECKING([whether to build static plugins or not])
+ AC_ARG_ENABLE(
+diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
+index d50fc26..d21687d 100644
+--- a/tests/check/Makefile.am
++++ b/tests/check/Makefile.am
+@@ -76,9 +76,9 @@ base_fscodec_SOURCES = \
+ 
+ 
+ transmitter_rawudp_CFLAGS = $(AM_CFLAGS) \
+-      $(GUPNP_CFLAGS) $(GIO_CFLAGS) $(NICE_CFLAGS)
++      $(GUPNP_CORE_CFLAGS) $(GIO_CFLAGS) $(NICE_CFLAGS)
+ transmitter_rawudp_LDADD = $(LDADD) \
+-      $(GUPNP_LIBS) \
++      $(GUPNP_CORE_LIBS) \
+       $(GIO_LIBS) \
+       $(NICE_LIBS)
+ transmitter_rawudp_SOURCES = \
+@@ -113,9 +113,8 @@ transmitter_nice_SOURCES = \
+ transmitter_nice_LDADD = $(LDADD) $(GST_BASE_LIBS)
+ 
+ 
+-transmitter_shm_CFLAGS = $(AM_CFLAGS) $(GUPNP_CFLAGS) $(NICE_CFLAGS)
++transmitter_shm_CFLAGS = $(AM_CFLAGS) $(NICE_CFLAGS)
+ transmitter_shm_LDADD = $(LDADD) \
+-      $(GUPNP_LIBS) \
+       $(NICE_LIBS)
+ transmitter_shm_SOURCES = \
+       check-threadsafe.h  \
+diff --git a/tests/check/transmitter/rawudp-upnp.c 
b/tests/check/transmitter/rawudp-upnp.c
+index 4818cd2..9ccf85d 100644
+--- a/tests/check/transmitter/rawudp-upnp.c
++++ b/tests/check/transmitter/rawudp-upnp.c
+@@ -37,7 +37,7 @@ get_vars (gboolean *out_got_address,
+ }
+ 
+ 
+-#ifdef HAVE_GUPNP
++#if defined(HAVE_GUPNP_CORE_10) || defined(HAVE_GUPNP_CORE_12)
+ 
+ #include <libgupnp/gupnp.h>
+ 
+@@ -126,8 +126,14 @@ start_upnp_server (void)
+   GUPnPDeviceInfo *subdev1;
+   GUPnPDeviceInfo *subdev2;
+   const gchar *upnp_xml_path;
++  GError *gerr = NULL;
+ 
+-  context = gupnp_context_new (NULL, NULL, 0, NULL);
++#ifdef HAVE_GUPNP_CORE_12
++  context = gupnp_context_new (NULL, 0, &gerr);
++#else
++  context = gupnp_context_new (NULL, NULL, 0, &gerr);
++#endif
++  g_assert_no_error (gerr);
+   ts_fail_if (context == NULL, "Can't get gupnp context");
+ 
+   if (g_getenv ("UPNP_XML_PATH"))
+@@ -137,8 +143,14 @@ start_upnp_server (void)
+ 
+   gupnp_context_host_path (context, upnp_xml_path, "");
+ 
++#ifdef HAVE_GUPNP_CORE_12
++  dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml",
++      upnp_xml_path, &gerr);
++  g_assert_no_error (gerr);
++#else
+   dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml",
+       upnp_xml_path);
++#endif
+   ts_fail_if (dev == NULL, "could not get root dev");
+ 
+   subdev1 = gupnp_device_info_get_device (GUPNP_DEVICE_INFO (dev),
+diff --git a/tests/check/transmitter/rawudp.c 
b/tests/check/transmitter/rawudp.c
+index e1936ac..d803f34 100644
+--- a/tests/check/transmitter/rawudp.c
++++ b/tests/check/transmitter/rawudp.c
+@@ -637,7 +637,7 @@ GST_START_TEST (test_rawudptransmitter_stop_stream)
+ }
+ GST_END_TEST;
+ 
+-#ifdef HAVE_GUPNP
++#if defined(HAVE_GUPNP_CORE_10) || defined (HAVE_GUPNP_CORE_12)
+ 
+ GST_START_TEST (test_rawudptransmitter_run_upnp_discovery)
+ {
+@@ -967,7 +967,7 @@ rawudptransmitter_suite (void)
+   tcase_add_test (tc_chain, test_rawudptransmitter_stop_stream);
+   suite_add_tcase (s, tc_chain);
+ 
+-#ifdef HAVE_GUPNP
++#if defined(HAVE_GUPNP_CORE_10) || defined (HAVE_GUPNP_CORE_12)
+   if (g_getenv ("UPNP")) {
+     gchar *multicast_addr;
+ 

diff --git a/net-libs/farstream/files/farstream-0.2.9-gupnp-igd-1.6.patch 
b/net-libs/farstream/files/farstream-0.2.9-gupnp-igd-1.6.patch
new file mode 100644
index 000000000000..2b13be555ff0
--- /dev/null
+++ b/net-libs/farstream/files/farstream-0.2.9-gupnp-igd-1.6.patch
@@ -0,0 +1,23 @@
+https://salsa.debian.org/telepathy-team/farstream-0.2/-/blob/debian/debian/patches/Build-with-gunp-igd-1.6.patch
+
+From: =?utf-8?q?Jeremy_B=C3=ADcha?= <[email protected]>
+Date: Thu, 6 Jul 2023 15:47:27 -0400
+Subject: Build with gunp-igd 1.6
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index a95a046..2a995ce 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -354,7 +354,7 @@ AC_ARG_ENABLE([gupnp],
+ 
+ HAVE_GUPNP=no
+ if test "x$WANT_GUPNP" != "xno"; then
+-   PKG_CHECK_MODULES(GUPNP, [ gupnp-igd-1.0 >= 0.2 ],
++   PKG_CHECK_MODULES(GUPNP, [ gupnp-igd-1.6 ],
+     [ HAVE_GUPNP=yes ],
+     [ HAVE_GUPNP=no ])
+ fi

Reply via email to