* [gentoo-commits] repo/gentoo:master commit in: net-libs/libnice/files/, net-libs/libnice/
@ 2021-04-18 12:11 Andreas Sturmlechner
0 siblings, 0 replies; 3+ messages in thread
From: Andreas Sturmlechner @ 2021-04-18 12:11 UTC (permalink / raw
To: gentoo-commits
commit: de1435427c3bb5e14f97aeb22ac6723763d5557d
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 18 10:29:17 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 18 12:00:23 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de143542
net-libs/libnice: Drop 0.1.13, EAPI5--
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
net-libs/libnice/Manifest | 1 -
.../libnice/files/libnice-0.1.13-gstreamer.patch | 40 ---------------
net-libs/libnice/libnice-0.1.13.ebuild | 57 ----------------------
3 files changed, 98 deletions(-)
diff --git a/net-libs/libnice/Manifest b/net-libs/libnice/Manifest
index 35bfe6c5ad0..dc6cbc3cb4d 100644
--- a/net-libs/libnice/Manifest
+++ b/net-libs/libnice/Manifest
@@ -1,2 +1 @@
-DIST libnice-0.1.13.tar.gz 912374 BLAKE2B ae8ac3af7b5f355e3c7b961bfa60759ba71c8cc6ddb6cb5faaf1c6fe347785f36340a9f8977a1689595c265349a1b34305f41288cf951fa938b0411cec3acc0d SHA512 c9bb81e8cd0b4e3673dba07ce08a16dd8821831339b44f1006510cdc09f9ae4c6eb7d43230711a2509867acb8d7df71821c411830dbf71c5a5d7e802f14a32c1
DIST libnice-0.1.15.tar.gz 1064100 BLAKE2B 81f06ba599b01084586a8d904b9ae513d6bc3531ec42674648fda320eea6cd9348acf423571922bab4e338bf135f85b292046352ed6f5e4fefba736d787b1ff1 SHA512 60a8bcca06c0ab300dfabbf13e45aeac2085d553c420c5cc4d2fdeb46b449b2b9c9aee8015b0662c16bd1cecf5a49824b7e24951a8a0b66a87074cb00a619c0c
diff --git a/net-libs/libnice/files/libnice-0.1.13-gstreamer.patch b/net-libs/libnice/files/libnice-0.1.13-gstreamer.patch
deleted file mode 100644
index 136d85456c4..00000000000
--- a/net-libs/libnice/files/libnice-0.1.13-gstreamer.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 76ff4aee9fe963842dd17748d14c68552c5dcda3 Mon Sep 17 00:00:00 2001
-From: Timo Gurr <timo.gurr@gmail.com>
-Date: Mon, 1 Jun 2015 16:10:16 +0200
-Subject: [PATCH] configure: Fix configure failure when building without
- gstreamer support
-
-Error introduced in 20ea22e0a11a9bdfe4d8125b68083249b694338a, resulting in a
-configure/build error when building without gstreamer:
-
-configure: error: conditional "HAVE_GST_CHECK" was never defined.
-Usually this means the macro was only invoked conditionally.
----
- configure.ac | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6031cec..64a571f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -231,9 +231,6 @@ AS_IF([test "$with_gstreamer" != no], [
- [
- have_gst_check=no
- ])
--
-- AM_CONDITIONAL(HAVE_GST_CHECK, test "$have_gst_check" = yes)
--
- ])
-
- AS_IF([test "$with_gstreamer010" != no], [
-@@ -260,6 +257,7 @@ AC_SUBST(gstplugindir)
- AC_SUBST(gstplugin010dir)
-
- AM_CONDITIONAL(WITH_GSTREAMER, test "$with_gstreamer" = yes)
-+AM_CONDITIONAL(HAVE_GST_CHECK, test "$have_gst_check" = yes)
- AM_CONDITIONAL(WITH_GSTREAMER010, test "$with_gstreamer010" = yes)
-
- GUPNP_IGD_REQUIRED=0.2.4
---
-2.4.1
-
diff --git a/net-libs/libnice/libnice-0.1.13.ebuild b/net-libs/libnice/libnice-0.1.13.ebuild
deleted file mode 100644
index 7b19bb53cab..00000000000
--- a/net-libs/libnice/libnice-0.1.13.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils epatch ltprune multilib-minimal xdg-utils
-
-DESCRIPTION="An implementation of the Interactice Connectivity Establishment standard (ICE)"
-HOMEPAGE="https://nice.freedesktop.org/wiki/"
-SRC_URI="https://nice.freedesktop.org/releases/${P}.tar.gz"
-
-LICENSE="|| ( MPL-1.1 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="+introspection +upnp"
-
-RDEPEND="
- >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
- upnp? ( >=net-libs/gupnp-igd-0.2.4:=[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- dev-util/gtk-doc-am
- virtual/pkgconfig
-"
-
-# Many tests fail from time to time, for example:
-# https://bugs.freedesktop.org/show_bug.cgi?id=81691
-RESTRICT="test"
-
-src_prepare() {
- xdg_environment_reset
-
- # https://bugs.freedesktop.org/show_bug.cgi?id=90801
- epatch "${FILESDIR}"/${P}-gstreamer.patch
- eautoreconf
-}
-
-multilib_src_configure() {
- # gstreamer plugin split off into media-plugins/gst-plugins-libnice
- ECONF_SOURCE=${S} \
- econf \
- --disable-static \
- --disable-static-plugins \
- --without-gstreamer \
- --without-gstreamer-0.10 \
- $(multilib_native_use_enable introspection) \
- $(use_enable upnp gupnp)
-
- if multilib_is_native_abi; then
- ln -s {"${S}"/,}docs/reference/libnice/html || die
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --modules
-}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-libs/libnice/files/, net-libs/libnice/
@ 2023-08-07 5:06 Sam James
0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2023-08-07 5:06 UTC (permalink / raw
To: gentoo-commits
commit: ebcc47b19f21ecfc1e0f4e276b288000ffc540aa
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Tue Aug 1 21:30:25 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 7 04:45:57 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebcc47b1
net-libs/libnice: remove graphviz requirement
* Patched out target wouldn't do anything either way as the generated
file is shipped with the tarball.
Closes: https://bugs.gentoo.org/877451
Closes: https://bugs.gentoo.org/889820
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32134
Signed-off-by: Sam James <sam <AT> gentoo.org>
...libnice-0.1.19-remove-graphviz-dependency.patch | 30 ++++++++++++++++++++++
net-libs/libnice/libnice-0.1.19-r1.ebuild | 5 ++++
net-libs/libnice/libnice-0.1.21.ebuild | 5 ++++
3 files changed, 40 insertions(+)
diff --git a/net-libs/libnice/files/libnice-0.1.19-remove-graphviz-dependency.patch b/net-libs/libnice/files/libnice-0.1.19-remove-graphviz-dependency.patch
new file mode 100644
index 000000000000..29cd023761e4
--- /dev/null
+++ b/net-libs/libnice/files/libnice-0.1.19-remove-graphviz-dependency.patch
@@ -0,0 +1,30 @@
+From 42b2ca76d0b3b044ca3ada05f5200becc61aeedd Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Wed, 2 Aug 2023 00:16:29 +0300
+Subject: [PATCH] Remove unnecessary target with unecessary dependency
+
+* The generated file is included in the repository and the source files
+ hasn't been modified since it was added.
+
+https://bugs.gentoo.org/877451
+https://bugs.gentoo.org/889820
+--- a/docs/reference/libnice/meson.build
++++ b/docs/reference/libnice/meson.build
+@@ -63,14 +63,3 @@ gnome.gtkdoc('libnice',
+ ],
+ install: true,
+ check: true)
+-
+-# If we ever need to regenerate this diagram.
+-# Since it’s not expected to change much, let’s not depend on GraphViz to
+-# build the docs (that's also why we don't use find_program('dot') here)
+-run_target('update-states.png',
+- command: ['dot',
+- '-Tpng',
+- '-o', join_paths(meson.current_source_dir(), 'states.png'),
+- '-Gsize=9.6,2.9!',
+- '-Gdpi=200',
+- files('states.gv')])
+--
+2.41.0
+
diff --git a/net-libs/libnice/libnice-0.1.19-r1.ebuild b/net-libs/libnice/libnice-0.1.19-r1.ebuild
index 9c5c64599217..69ede6628795 100644
--- a/net-libs/libnice/libnice-0.1.19-r1.ebuild
+++ b/net-libs/libnice/libnice-0.1.19-r1.ebuild
@@ -30,6 +30,11 @@ BDEPEND="
app-text/docbook-xml-dtd:4.1.2 )
"
+PATCHES=(
+ # bugs 877451, 889820
+ "${FILESDIR}/libnice-0.1.19-remove-graphviz-dependency.patch"
+)
+
src_prepare() {
default
diff --git a/net-libs/libnice/libnice-0.1.21.ebuild b/net-libs/libnice/libnice-0.1.21.ebuild
index 0417eadc8e07..0dca1a3694ee 100644
--- a/net-libs/libnice/libnice-0.1.21.ebuild
+++ b/net-libs/libnice/libnice-0.1.21.ebuild
@@ -30,6 +30,11 @@ BDEPEND="
app-text/docbook-xml-dtd:4.1.2 )
"
+PATCHES=(
+ # bugs 877451, 889820
+ "${FILESDIR}/libnice-0.1.19-remove-graphviz-dependency.patch"
+)
+
src_prepare() {
default
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-libs/libnice/files/, net-libs/libnice/
@ 2025-04-13 18:28 Andreas Sturmlechner
0 siblings, 0 replies; 3+ messages in thread
From: Andreas Sturmlechner @ 2025-04-13 18:28 UTC (permalink / raw
To: gentoo-commits
commit: 3132f09fd30bb8b5a8b73d79ec188c0170e5091a
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 13 14:51:21 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=3132f09f
net-libs/libnice: Switch to net-libs/gupnp-igd:1.6
Backport some git master fixes, see also:
https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/278
https://gitlab.freedesktop.org/libnice/libnice/-/issues/198
https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/282
https://gitlab.gnome.org/GNOME/glib/-/issues/3528
Other distros do the same. Tests passed.
Bug: https://bugs.gentoo.org/948374
Bug: https://bugs.gentoo.org/953635
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
...libnice-0.1.22-fix-concurrent-tcp-sending.patch | 34 ++++
.../libnice-0.1.22-fix-test-new-trickle.patch | 226 +++++++++++++++++++++
.../files/libnice-0.1.22-gupnp-igd-1.6.patch | 14 ++
...nice-0.1.22-stop-leaking-StunResolverData.patch | 36 ++++
net-libs/libnice/libnice-0.1.22-r1.ebuild | 67 ++++++
5 files changed, 377 insertions(+)
diff --git a/net-libs/libnice/files/libnice-0.1.22-fix-concurrent-tcp-sending.patch b/net-libs/libnice/files/libnice-0.1.22-fix-concurrent-tcp-sending.patch
new file mode 100644
index 000000000000..836595a2b271
--- /dev/null
+++ b/net-libs/libnice/files/libnice-0.1.22-fix-concurrent-tcp-sending.patch
@@ -0,0 +1,34 @@
+From 55ff684d0989ffd65d02fafe1d2a43309576b8fa Mon Sep 17 00:00:00 2001
+From: jiangpeilong <jiangpeilong@ruijie.com.cn>
+Date: Thu, 22 Aug 2024 21:12:11 +0800
+Subject: [PATCH] Fix TCP concurrent sending problem
+
+---
+ socket/tcp-bsd.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/socket/tcp-bsd.c b/socket/tcp-bsd.c
+index 194f29f5..25580353 100644
+--- a/socket/tcp-bsd.c
++++ b/socket/tcp-bsd.c
+@@ -312,6 +312,8 @@ socket_send_message (NiceSocket *sock,
+ if (priv->error)
+ return -1;
+
++ g_mutex_lock(&mutex);
++
+ message_len = output_message_get_size (message);
+
+ /* First try to send the data, don't send it later if it can be sent now
+@@ -353,6 +355,8 @@ socket_send_message (NiceSocket *sock,
+ }
+ }
+
++ g_mutex_unlock(&mutex);
++
+ return ret;
+ }
+
+--
+GitLab
+
diff --git a/net-libs/libnice/files/libnice-0.1.22-fix-test-new-trickle.patch b/net-libs/libnice/files/libnice-0.1.22-fix-test-new-trickle.patch
new file mode 100644
index 000000000000..112b95dbba44
--- /dev/null
+++ b/net-libs/libnice/files/libnice-0.1.22-fix-test-new-trickle.patch
@@ -0,0 +1,226 @@
+From 37eeeb1a750bf2dd6d5769d759069e95dd1b8493 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= <olivier.crete@collabora.com>
+Date: Thu, 14 Nov 2024 11:16:14 -0500
+Subject: [PATCH] test-new-trickle: Remove cancellable as a wakeup mechanism
+
+Just wake up the main context directly instead. This was causing a regression
+with GLib 2.83
+
+Fixes #198
+---
+ tests/test-new-trickle.c | 36 +++---------------------------------
+ 1 file changed, 3 insertions(+), 33 deletions(-)
+
+diff --git a/tests/test-new-trickle.c b/tests/test-new-trickle.c
+index da808dae..e80048e5 100644
+--- a/tests/test-new-trickle.c
++++ b/tests/test-new-trickle.c
+@@ -67,7 +67,6 @@ static GCond *stun_thread_signal_ptr = &stun_thread_signal;
+
+ static NiceComponentState global_lagent_state = NICE_COMPONENT_STATE_LAST;
+ static NiceComponentState global_ragent_state = NICE_COMPONENT_STATE_LAST;
+-static GCancellable *global_cancellable;
+ static gboolean exit_stun_thread = FALSE;
+ static gboolean lagent_candidate_gathering_done = FALSE;
+ static gboolean ragent_candidate_gathering_done = FALSE;
+@@ -225,7 +224,7 @@ recv_packet:
+ buf_len = stun_agent_finish_message (agent, &response, NULL, 0);
+
+ send_buf:
+- g_cancellable_cancel (global_cancellable);
++ g_main_context_wakeup (NULL);
+ g_debug ("Ready to send a STUN response");
+ g_assert_true (g_mutex_trylock (stun_mutex_ptr));
+ got_stun_packet = TRUE;
+@@ -292,7 +291,6 @@ static void cb_candidate_gathering_done(NiceAgent *agent, guint stream_id, gpoin
+ g_debug ("ragent finished gathering candidates");
+ ragent_candidate_gathering_done = TRUE;
+ }
+- g_cancellable_cancel (global_cancellable);
+ }
+
+ static void cb_nice_recv (NiceAgent *agent, guint stream_id, guint component_id, guint len, gchar *buf, gpointer user_data)
+@@ -309,7 +307,7 @@ static void cb_nice_recv (NiceAgent *agent, guint stream_id, guint component_id,
+ g_debug ("test-tricklemode:%s: ragent recieved %d bytes : quit mainloop",
+ G_STRFUNC, len);
+ data_received = TRUE;
+- g_cancellable_cancel (global_cancellable);
++ g_main_context_wakeup (NULL);
+ }
+ }
+
+@@ -333,7 +331,7 @@ static void cb_component_state_changed (NiceAgent *agent, guint stream_id, guint
+ send_stun = TRUE;
+ g_cond_signal (stun_signal_ptr);
+ g_mutex_unlock (stun_mutex_ptr);
+- g_cancellable_cancel (global_cancellable);
++ g_main_context_wakeup (NULL);
+ }
+
+ if(GPOINTER_TO_UINT(data) == 1 && state == NICE_COMPONENT_STATE_READY) {
+@@ -492,7 +490,6 @@ static void standard_test(NiceAgent *lagent, NiceAgent *ragent)
+ nice_agent_gather_candidates (ragent, global_rs_id);
+ while (!ragent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (ragent_candidate_gathering_done);
+ g_assert_true (nice_agent_peer_candidate_gathering_done (lagent, global_ls_id));
+
+@@ -503,7 +500,6 @@ static void standard_test(NiceAgent *lagent, NiceAgent *ragent)
+
+ while (!data_received)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (global_lagent_state >= NICE_COMPONENT_STATE_CONNECTED &&
+ data_received);
+
+@@ -513,14 +509,12 @@ static void standard_test(NiceAgent *lagent, NiceAgent *ragent)
+
+ while (!lagent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_true (lagent_candidate_gathering_done);
+ g_assert_true (nice_agent_peer_candidate_gathering_done (ragent, global_rs_id));
+
+ while (global_ragent_state < NICE_COMPONENT_STATE_CONNECTED)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_cmpint (global_lagent_state, ==, NICE_COMPONENT_STATE_READY);
+ g_assert_cmpint (global_ragent_state, >=, NICE_COMPONENT_STATE_CONNECTED);
+@@ -542,14 +536,12 @@ static void bad_credentials_test(NiceAgent *lagent, NiceAgent *ragent)
+ nice_agent_gather_candidates (lagent, global_ls_id);
+ while (!got_stun_packet)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (global_lagent_state == NICE_COMPONENT_STATE_GATHERING &&
+ !lagent_candidate_gathering_done);
+
+ nice_agent_gather_candidates (ragent, global_rs_id);
+ while (!ragent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (ragent_candidate_gathering_done);
+ g_assert_true (nice_agent_peer_candidate_gathering_done (lagent, global_ls_id));
+
+@@ -558,7 +550,6 @@ static void bad_credentials_test(NiceAgent *lagent, NiceAgent *ragent)
+
+ while (global_lagent_state != NICE_COMPONENT_STATE_FAILED)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ // Set the correct credentials and swap candidates
+ g_debug ("Setting local candidates of ragent as remote candidates of lagent");
+@@ -571,7 +562,6 @@ static void bad_credentials_test(NiceAgent *lagent, NiceAgent *ragent)
+
+ while (!data_received)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_true (data_received);
+ g_assert_cmpint (global_lagent_state, ==, NICE_COMPONENT_STATE_READY);
+@@ -580,7 +570,6 @@ static void bad_credentials_test(NiceAgent *lagent, NiceAgent *ragent)
+ // Wait for lagent to finish gathering candidates
+ while (!lagent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_true (lagent_candidate_gathering_done);
+ g_assert_true (nice_agent_peer_candidate_gathering_done (ragent, global_rs_id));
+@@ -599,14 +588,12 @@ static void bad_candidate_test(NiceAgent *lagent,NiceAgent *ragent)
+ nice_agent_gather_candidates (lagent, global_ls_id);
+ while (!got_stun_packet)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (global_lagent_state == NICE_COMPONENT_STATE_GATHERING &&
+ !lagent_candidate_gathering_done);
+
+ nice_agent_gather_candidates (ragent, global_rs_id);
+ while (!ragent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_true (ragent_candidate_gathering_done);
+ g_assert_true (nice_agent_peer_candidate_gathering_done (lagent, global_ls_id));
+@@ -616,14 +603,12 @@ static void bad_candidate_test(NiceAgent *lagent,NiceAgent *ragent)
+ // lagent will finish candidate gathering causing this mainloop to quit
+ while (!lagent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_true (nice_agent_peer_candidate_gathering_done (ragent, global_rs_id));
+
+ // connchecks will fail causing this mainloop to quit
+ while (global_lagent_state != NICE_COMPONENT_STATE_FAILED)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_true (global_lagent_state == NICE_COMPONENT_STATE_FAILED &&
+ !data_received);
+@@ -638,7 +623,6 @@ static void bad_candidate_test(NiceAgent *lagent,NiceAgent *ragent)
+
+ while (!data_received)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+
+ g_assert_true (lagent_candidate_gathering_done);
+
+@@ -659,20 +643,17 @@ static void new_candidate_test(NiceAgent *lagent, NiceAgent *ragent)
+ nice_agent_gather_candidates (lagent, global_ls_id);
+ while (!got_stun_packet)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (global_lagent_state == NICE_COMPONENT_STATE_GATHERING &&
+ !lagent_candidate_gathering_done);
+
+ nice_agent_gather_candidates (ragent, global_rs_id);
+ while (!ragent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (nice_agent_peer_candidate_gathering_done (lagent, global_ls_id));
+
+ // Wait for data
+ while (!data_received)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (data_received);
+
+ // Data arrived, signal STUN thread to send STUN response
+@@ -684,7 +665,6 @@ static void new_candidate_test(NiceAgent *lagent, NiceAgent *ragent)
+ // Wait for lagent to finish gathering candidates
+ while (!lagent_candidate_gathering_done)
+ g_main_context_iteration (NULL, TRUE);
+- g_cancellable_reset (global_cancellable);
+ g_assert_true (nice_agent_peer_candidate_gathering_done (ragent, global_rs_id));
+
+ g_assert_true (lagent_candidate_gathering_done);
+@@ -719,14 +699,8 @@ int main(void)
+ NiceAgent *lagent = NULL, *ragent = NULL;
+ GThread *stun_thread = NULL;
+ NiceAddress baseaddr;
+- GSource *src;
+ int sock;
+
+- global_cancellable = g_cancellable_new ();
+- src = g_cancellable_source_new (global_cancellable);
+- g_source_set_dummy_callback (src);
+- g_source_attach (src, NULL);
+-
+ sock = listen_socket (&stun_port);
+
+ if (sock == -1) {
+@@ -795,10 +769,6 @@ int main(void)
+ g_object_unref (ragent);
+
+ g_thread_join (stun_thread);
+- g_object_unref (global_cancellable);
+-
+- g_source_destroy (src);
+- g_source_unref (src);
+
+ WAIT_UNTIL_UNSET (lagent, NULL);
+ WAIT_UNTIL_UNSET (ragent, NULL);
+--
+GitLab
+
diff --git a/net-libs/libnice/files/libnice-0.1.22-gupnp-igd-1.6.patch b/net-libs/libnice/files/libnice-0.1.22-gupnp-igd-1.6.patch
new file mode 100644
index 000000000000..5f110418d4c3
--- /dev/null
+++ b/net-libs/libnice/files/libnice-0.1.22-gupnp-igd-1.6.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/948374
+https://bugs.gentoo.org/953635
+
+--- a/meson.build 2024-03-04 21:12:14.000000000 +0100
++++ b/meson.build 2025-04-13 16:44:16.820025467 +0200
+@@ -276,7 +276,7 @@
+ cdata.set('HAVE_GSTREAMER', gst_dep.found(), description: 'Build GStreamer plugin')
+
+ # GUPnP IGD
+-gupnp_igd_dep = dependency('gupnp-igd-1.0', version: gupnp_igd_req, required: get_option('gupnp'))
++gupnp_igd_dep = dependency('gupnp-igd-1.6', version: gupnp_igd_req, required: get_option('gupnp'))
+ cdata.set('HAVE_GUPNP', gupnp_igd_dep.found(), description: 'Use the GUPnP IGD library')
+
+ libm = cc.find_library('m', required: false)
diff --git a/net-libs/libnice/files/libnice-0.1.22-stop-leaking-StunResolverData.patch b/net-libs/libnice/files/libnice-0.1.22-stop-leaking-StunResolverData.patch
new file mode 100644
index 000000000000..be7e4080b9bf
--- /dev/null
+++ b/net-libs/libnice/files/libnice-0.1.22-stop-leaking-StunResolverData.patch
@@ -0,0 +1,36 @@
+From ac4bb22ebbfce712729aec277259c5ea9254189a Mon Sep 17 00:00:00 2001
+From: Albert Sjolund <alberts@axis.com>
+Date: Fri, 3 Jan 2025 09:16:55 +0100
+Subject: [PATCH] agent: stop leaking StunResolverData
+
+if agent is null StunResolverData would leak as free would
+not be reached.
+The disposal function doesn't perform any freeing logic of the
+underlying StunResolverData, so it is only here that they are freed.
+When TurnResolverData is freed, there is no if statement blocking it.
+---
+ agent/agent.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/agent/agent.c b/agent/agent.c
+index 8bab9f89..d98b5b2a 100644
+--- a/agent/agent.c
++++ b/agent/agent.c
+@@ -2720,11 +2720,11 @@ stun_server_resolved_cb (GObject *src, GAsyncResult *result,
+
+ agent = g_weak_ref_get (&data->agent_ref);
+ g_weak_ref_clear (&data->agent_ref);
+- if (agent == NULL)
+- return;
++
+ stream_id = data->stream_id;
+ g_slice_free (struct StunResolverData, data);
+-
++ if (agent == NULL)
++ return;
+ agent->stun_resolving_list = g_slist_remove_all (agent->stun_resolving_list,
+ data);
+
+--
+GitLab
+
diff --git a/net-libs/libnice/libnice-0.1.22-r1.ebuild b/net-libs/libnice/libnice-0.1.22-r1.ebuild
new file mode 100644
index 000000000000..3564406c64ae
--- /dev/null
+++ b/net-libs/libnice/libnice-0.1.22-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib xdg
+
+DESCRIPTION="Implementation of the Interactice Connectivity Establishment standard (ICE)"
+HOMEPAGE="https://libnice.freedesktop.org/"
+SRC_URI="https://libnice.freedesktop.org/releases/${P}.tar.gz"
+
+LICENSE="|| ( MPL-1.1 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="+gnutls gtk-doc +introspection test +upnp"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.54:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+ gnutls? ( >=net-libs/gnutls-2.12.0:0=[${MULTILIB_USEDEP}] )
+ !gnutls? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ upnp? ( net-libs/gupnp-igd:1.6=[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ dev-util/gtk-doc
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.1.19-remove-graphviz-dependency.patch" # downstream; bugs 877451, 889820
+ "${FILESDIR}/${P}-gupnp-igd-1.6.patch" # downstream; bugs 948374, 953635
+ # upstream git master:
+ "${FILESDIR}/${P}-fix-concurrent-tcp-sending.patch"
+ "${FILESDIR}/${P}-fix-test-new-trickle.patch"
+ "${FILESDIR}/${P}-stop-leaking-StunResolverData.patch"
+)
+
+src_prepare() {
+ default
+
+ # Broken w/ network-sandbox on (bug #847844)
+ sed -i -e '/test-set-port-range/d' tests/meson.build || die
+}
+
+multilib_src_configure() {
+ # gstreamer plugin split off into media-plugins/gst-plugins-libnice
+ local emesonargs=(
+ -Dgstreamer=disabled
+ -Dcrypto-library=$(usex gnutls gnutls openssl)
+ $(meson_native_use_feature introspection)
+ $(meson_feature test tests)
+ $(meson_feature upnp gupnp)
+ $(meson_native_use_feature gtk-doc gtk_doc)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+}
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-04-13 18:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-13 18:28 [gentoo-commits] repo/gentoo:master commit in: net-libs/libnice/files/, net-libs/libnice/ Andreas Sturmlechner
-- strict thread matches above, loose matches on Subject: below --
2023-08-07 5:06 Sam James
2021-04-18 12:11 Andreas Sturmlechner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox