commit:     7dcd8da28a22dff7008a6b3c940a91670470bcab
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 13 14:00:58 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 13 14:00:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7dcd8da2

net-misc/iperf: fix build w/ c23

Closes: https://bugs.gentoo.org/944381
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/iperf/files/iperf-3.17.1-c23.patch | 58 +++++++++++++++++++++++++++++
 net-misc/iperf/iperf-3.17.1.ebuild          |  1 +
 2 files changed, 59 insertions(+)

diff --git a/net-misc/iperf/files/iperf-3.17.1-c23.patch 
b/net-misc/iperf/files/iperf-3.17.1-c23.patch
new file mode 100644
index 000000000000..80c432156f5a
--- /dev/null
+++ b/net-misc/iperf/files/iperf-3.17.1-c23.patch
@@ -0,0 +1,58 @@
+https://bugs.gentoo.org/944381
+https://github.com/esnet/iperf/pull/1805
+
+From beadb59b90e8d3339d31f9f15525108072fde135 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <r...@heitbaum.com>
+Date: Mon, 9 Dec 2024 10:13:02 +0000
+Subject: [PATCH] fix build with gcc-15
+
+--- a/src/iperf_api.c
++++ b/src/iperf_api.c
+@@ -603,25 +603,25 @@ iperf_set_mapped_v4(struct iperf_test *ipt, const int 
val)
+ }
+ 
+ void 
+-iperf_set_on_new_stream_callback(struct iperf_test* ipt, void (*callback)())
++iperf_set_on_new_stream_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_stream *))
+ {
+         ipt->on_new_stream = callback;
+ }
+ 
+ void 
+-iperf_set_on_test_start_callback(struct iperf_test* ipt, void (*callback)())
++iperf_set_on_test_start_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_test *))
+ {
+         ipt->on_test_start = callback;
+ }
+ 
+ void 
+-iperf_set_on_test_connect_callback(struct iperf_test* ipt, void (*callback)())
++iperf_set_on_test_connect_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_test *))
+ {
+         ipt->on_connect = callback;
+ }
+ 
+ void 
+-iperf_set_on_test_finish_callback(struct iperf_test* ipt, void (*callback)())
++iperf_set_on_test_finish_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_test *))
+ {
+         ipt->on_test_finish = callback;
+ }
+--- a/src/iperf_api.h
++++ b/src/iperf_api.h
+@@ -213,10 +213,10 @@ void    iperf_set_dont_fragment( struct iperf_test* ipt, 
int dont_fragment );
+ void    iperf_set_test_congestion_control(struct iperf_test* ipt, char* cc);
+ void    iperf_set_test_mss(struct iperf_test* ipt, int mss);
+ void    iperf_set_mapped_v4(struct iperf_test* ipt, const int val);
+-void    iperf_set_on_new_stream_callback(struct iperf_test* ipt, void 
(*callback)());
+-void    iperf_set_on_test_start_callback(struct iperf_test* ipt, void 
(*callback)());
+-void    iperf_set_on_test_connect_callback(struct iperf_test* ipt, void 
(*callback)());
+-void    iperf_set_on_test_finish_callback(struct iperf_test* ipt, void 
(*callback)());
++void    iperf_set_on_new_stream_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_stream *));
++void    iperf_set_on_test_start_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_test *));
++void    iperf_set_on_test_connect_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_test *));
++void    iperf_set_on_test_finish_callback(struct iperf_test* ipt, void 
(*callback)(struct iperf_test *));
+ 
+ #if defined(HAVE_SSL)
+ void    iperf_set_test_client_username(struct iperf_test *ipt, const char 
*client_username);
+

diff --git a/net-misc/iperf/iperf-3.17.1.ebuild 
b/net-misc/iperf/iperf-3.17.1.ebuild
index 8443a1f6c258..25afe4690086 100644
--- a/net-misc/iperf/iperf-3.17.1.ebuild
+++ b/net-misc/iperf/iperf-3.17.1.ebuild
@@ -27,6 +27,7 @@ DOCS=( README.md RELNOTES.md )
 PATCHES=(
        "${FILESDIR}"/${PN}-3.10.1-drop-forced-debugging-symbols.patch
        "${FILESDIR}"/${PN}-3.17.1-Unbundle-cJSON.patch
+       "${FILESDIR}"/${PN}-3.17.1-c23.patch
 )
 
 src_prepare() {

Reply via email to