summaryrefslogtreecommitdiff
path: root/net-libs/libnice
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/libnice')
-rw-r--r--net-libs/libnice/Manifest7
-rw-r--r--net-libs/libnice/files/libnice-0.1.22-fix-concurrent-tcp-sending.patch34
-rw-r--r--net-libs/libnice/files/libnice-0.1.22-fix-test-new-trickle.patch226
-rw-r--r--net-libs/libnice/files/libnice-0.1.22-gupnp-igd-1.6.patch14
-rw-r--r--net-libs/libnice/files/libnice-0.1.22-stop-leaking-StunResolverData.patch36
-rw-r--r--net-libs/libnice/libnice-0.1.22-r1.ebuild (renamed from net-libs/libnice/libnice-0.1.21.ebuild)28
6 files changed, 332 insertions, 13 deletions
diff --git a/net-libs/libnice/Manifest b/net-libs/libnice/Manifest
index 6b6652a521f5..ee1028352646 100644
--- a/net-libs/libnice/Manifest
+++ b/net-libs/libnice/Manifest
@@ -1,6 +1,9 @@
AUX libnice-0.1.19-remove-graphviz-dependency.patch 1054 BLAKE2B f0e6b17994794e7418bfd4b5fbd070d078258d419e2704ab600aa426f911d1d4e95f8c97bc5f598da1901b940e180c537b38751c69f48b9c39ca17220a22eb5b SHA512 770caf8a3dfce997cf8145fff83c511b193beca747479752241186dea367f1b4b0722696945736102f6f9bc7a4a3c3e77d30644ea4406bdee8dd8376a8f4b007
-DIST libnice-0.1.21.tar.gz 460086 BLAKE2B 61f0807ad0d959ffbaf8dce7b0321a19ae42e4c57cc6ac9b8f39bd27645ef60bb342f4105b6ce4c4c82573592a52388888d72031033e9e7368f8b5d53afa37d6 SHA512 acbd1e0e8aacb0a65cad5b70b470a74a7c4a4f1306bc4e17cd4fd899f2fae2bb538bd099e6c0f9cba6bb9a38e95bc14087aa4f77f6aa5b70d6398179783c6e26
+AUX libnice-0.1.22-fix-concurrent-tcp-sending.patch 790 BLAKE2B 0450574a404d9140b71cfed18f4699edd4a7b5e7f2219ef853a36dd6369d8bf874c360523b4ba68ffcc1c284dc1e7e4f63a2a2cbefe181ff3fb8768932707c78 SHA512 f9e2bc662b06975b48ab86d2698a8a7f18f674616bb25e4c684477d82ed39b1ee136cf3f04cd4a3d8341966927a6ff039075e32535b7d0322fe52c6ed13030b6
+AUX libnice-0.1.22-fix-test-new-trickle.patch 9362 BLAKE2B b6b2eba21e058f5e116f63004b6bc37c78d347a8200f2c0eeb6de22d9582f649c1e7a46a8022e3d50e0d041b3572d92c99d36b2fc94dfb25a02644733bc4724d SHA512 764dffd6af571acc1195eee8ff55254358dc37b4953434b661e795caf7490b238aa7c7665bd41b60a25e372d0ae6d29e1b31d834e5cdd7b90a596a92dc09870f
+AUX libnice-0.1.22-gupnp-igd-1.6.patch 629 BLAKE2B 3488356e7086e9943de1a913777d723750250b2d50677a568481d4e6da29c63b0eec7907cecb4e30100d534dcac43ea9dae04d8100282759a45d63ab5e01a440 SHA512 733aad1ab3680aa7bf195042794b9387ead6cc143ef8d33469fa8159772e4126c82c8cd822fad5d0cebf9769c99c95f56a70bec69911530e551f7f08345224e6
+AUX libnice-0.1.22-stop-leaking-StunResolverData.patch 1111 BLAKE2B 4af961449e8fbdae9cf888c3693d843fc1c2aa133919255adf9ed9499fc98b731442fc4d56d20633b3619d18aad058a7435af72d545b1ef2c3880bfdab2a501f SHA512 41934d75246de336b68646305ef8317c65acffd4aa5993e369ed9ea752e592a4303d050b6df1107703cbd406669b7d5e2665216617b00b5deb0a839935ca94e8
DIST libnice-0.1.22.tar.gz 460696 BLAKE2B ebc4877664568e9a93bd3eeb93c1e6fd067df81596cff2d4ca74fc8e30c7b3af0eb0dd98e605f58161d6f002a5b91b13237ae63fd719d37ad3126a2bc3f0a7e7 SHA512 c3aae2d36d2cec8654b87ecc464296711a4a64335052dfc1477f43f59e90341f7a6a01ebd4edf91a72d9ec425440e6dd0bd8f817c77e03578854e70193b3306b
-EBUILD libnice-0.1.21.ebuild 1649 BLAKE2B 47cfb8913f22276e52a0c3e58dc43df130d7d36f3da81d082948991f3421f62be85aecb83a5d6d0c3a373badf73da4d66cf9b442347528bc1b6b74aa2dbc82d3 SHA512 a92f184cea81db0dd3f0879c9d7cf9f3461aae2e6dbf3ba21d970391ff2e9f4238988e5712c4b497ff4bf5b6c6b624ce958d5edb6976a30924cf8149b6e68213
+EBUILD libnice-0.1.22-r1.ebuild 1908 BLAKE2B fddc5577c1e4f97e009bb4117da21b5c5311a2caefcc396c7c437fcb948d215033cf26ea2d1ab971ccbb954560d09eb609eb70670ce0626da5727e012f95c4ce SHA512 d2c80b22a5278eb926ac253fec9becd035bc0c553eba3b79af5eecc2226c6e283888da10a35b083f4361d7e4caf3eb1d211114bab2c858a62ea3b0d68009b7a5
EBUILD libnice-0.1.22.ebuild 1649 BLAKE2B 5f23226168b3145abda6278165527bb6029789444dbf189936cb94aeae94736aa240276bfbe460a82d110f7c8b2965fceaddf8256e0f9c37356eaee8cbc842f7 SHA512 1b4cb260db3f3266a725bc969912089c5e7446e9770f425acf6b5feab78bbc1c04425e53d99fc67be75ee80cdf1224dc23b0ea994b3a8246d09f6a5de9a5fa62
MISC metadata.xml 265 BLAKE2B 62185df549a5149fbedc3226512a38a2ab3a45bb6bed1c57c52f7e1d03832d47bffeaed10fb1bbe2d4dcdaaafb988f00c48c60247c069b527a8fb772855c3636 SHA512 1511e91cb7da5a9f719039f4d8da162d3fc746831b20685fa5945d0a8d549cc7f0d22ca6b3f0f741d276913dcd2037a685cca1ed3fcb3fa65580190b442f64f6
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.21.ebuild b/net-libs/libnice/libnice-0.1.22-r1.ebuild
index 62c8f7bbbb42..cdb46f860f15 100644
--- a/net-libs/libnice/libnice-0.1.21.ebuild
+++ b/net-libs/libnice/libnice-0.1.22-r1.ebuild
@@ -1,16 +1,17 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
inherit meson-multilib xdg
-DESCRIPTION="An implementation of the Interactice Connectivity Establishment standard (ICE)"
+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"
+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 )"
@@ -18,21 +19,26 @@ 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-0.2.4: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? ( dev-util/gtk-doc
- app-text/docbook-xml-dtd:4.1.2 )
+ gtk-doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ dev-util/gtk-doc
+ )
"
PATCHES=(
- # bugs 877451, 889820
- "${FILESDIR}/libnice-0.1.19-remove-graphviz-dependency.patch"
+ "${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() {