commit:     4aa5fca038dbd7eb7f5773387ea0ac8357e9a7c3
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 18:22:41 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 18:33:37 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4aa5fca0

net-misc/iperf: add 3.17.1

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 net-misc/iperf/Manifest                            |   1 +
 .../iperf/files/iperf-3.17.1-Unbundle-cJSON.patch  | 110 +++++++++++++++++++++
 net-misc/iperf/iperf-3.17.1.ebuild                 |  53 ++++++++++
 3 files changed, 164 insertions(+)

diff --git a/net-misc/iperf/Manifest b/net-misc/iperf/Manifest
index 6bfe5652d14d..528fe7e69b30 100644
--- a/net-misc/iperf/Manifest
+++ b/net-misc/iperf/Manifest
@@ -1,3 +1,4 @@
 DIST iperf-2.0.13.tar.gz 326148 BLAKE2B 
2a40aea9e2d7fdc935b91be5e4e586bf68dd27604375d2570570145e5db1ea5837469a4989f47586986932bef33cba05ed19ed3a9ce40c0a5531581c6d3ba982
 SHA512 
40fcfb8f4d27887f53a743ac07396511fb2a7ac59f4b300fe36896bd0241e191945fa253705990711772ee776d5e4227ed62760fc92abebdfebcedd11c27c0ea
 DIST iperf-3.15.tar.gz 649330 BLAKE2B 
f086d506d1de8e8b333a7ad46a94279aa5b42800ded7cc6724c3400e479a6523b336c74b5956d07117a178b5f89934553535824a05daafcdb2eb8d31754680e1
 SHA512 
988bc558f40a16c3d94df3956705712829c1c529efd577db16213783846c84bc3edbad19a4d7890b7aba08fbc4e1c6807105df29931e9b45981066b609d87aa2
 DIST iperf-3.16.tar.gz 664751 BLAKE2B 
4ca930b58c54d5ae5b0c8b14aca2556224ff2c7b943d32e65486dc2a7e1abd2d26b229e9f759358c326be8754e88a203e11a3ab0f029daa982375a880c3f1cbd
 SHA512 
9ba97e03f17f3b939343b07ed3d508fbf57489e2b984b77a3dc3ada535f981350e56495154bdd108a83b3c507ccbed599b2b7b25de0d1778912d2c01b4ad4e7c
+DIST iperf-3.17.1.tar.gz 670547 BLAKE2B 
90afa47ba2de2f789b118ea42d7eabe3a7ec202116d51915b05350932231788a95ae142bdf2cff041f5504e67ae5ac1da2c66f408bc302c4e230ef4b7e496e15
 SHA512 
99c731e2e060d2b241d3137742bf92a975f2b7a94c6c723c9c1625f69c294fd7fe15b7dbf085a6120038fc1dd7628c83d2c7d16b059849fdbecbc88e48fb0974

diff --git a/net-misc/iperf/files/iperf-3.17.1-Unbundle-cJSON.patch 
b/net-misc/iperf/files/iperf-3.17.1-Unbundle-cJSON.patch
new file mode 100644
index 000000000000..856403ca6b65
--- /dev/null
+++ b/net-misc/iperf/files/iperf-3.17.1-Unbundle-cJSON.patch
@@ -0,0 +1,110 @@
+Date: Tue, 30 Jul 2024 21:11:48 +0300
+Subject: [PATCH] Unbundle cJSON
+
+Signed-off-by: Arthur Zamarin <[email protected]>
+--- a/configure.ac
++++ b/configure.ac
+@@ -61,6 +61,8 @@ AC_ARG_ENABLE([profiling],
+     AS_HELP_STRING([--enable-profiling], [Enable iperf3 profiling binary]))
+ AM_CONDITIONAL([ENABLE_PROFILING], [test x$enable_profiling = xyes])
+ 
++PKG_CHECK_MODULES([libcjson], [libcjson >= 1.7.15])
++
+ # Check for the math library (needed by cjson on some platforms)
+ AC_SEARCH_LIBS(floor, [m], [], [
+ echo "floor()"
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -10,8 +10,6 @@ include_HEADERS         = iperf_api.h                        
           # Define
+ 
+ # Specify the source files and flags for the iperf library
+ libiperf_la_SOURCES     = \
+-                        cjson.c \
+-                        cjson.h \
+                         flowlabel.h \
+                         iperf.h \
+                         iperf_api.c \
+@@ -46,10 +44,13 @@ libiperf_la_SOURCES     = \
+                         units.c \
+                         units.h \
+                         version.h
++libiperf_la_CPPFLAGS    = $(CPPFLAGS) @libcjson_CFLAGS@
++libiperf_la_LIBADD      = @libcjson_LIBS@
+ 
+ # Specify the sources and various flags for the iperf binary
+ iperf3_SOURCES          = main.c
+-iperf3_LDADD            = libiperf.la
++iperf3_CPPFLAGS         = $(CPPFLAGS) @libcjson_CFLAGS@
++iperf3_LDADD            = libiperf.la @libcjson_LIBS@
+ 
+ if ENABLE_PROFILING
+ # If the iperf-profiled-binary is enabled
+--- a/src/iperf.h
++++ b/src/iperf.h
+@@ -52,7 +52,7 @@
+ 
+ #include "timer.h"
+ #include "queue.h"
+-#include "cjson.h"
++#include <cjson/cJSON.h>
+ #include "iperf_time.h"
+ #include "portable_endian.h"
+ 
+--- a/src/iperf_api.c
++++ b/src/iperf_api.c
+@@ -79,7 +79,7 @@
+ #endif /* HAVE_SCTP_H */
+ #include "timer.h"
+ 
+-#include "cjson.h"
++#include <cjson/cJSON.h>
+ #include "units.h"
+ #include "iperf_util.h"
+ #include "iperf_locale.h"
+--- a/src/iperf_tcp.c
++++ b/src/iperf_tcp.c
+@@ -42,7 +42,7 @@
+ #include "iperf_api.h"
+ #include "iperf_tcp.h"
+ #include "net.h"
+-#include "cjson.h"
++#include <cjson/cJSON.h>
+ 
+ #if defined(HAVE_FLOWLABEL)
+ #include "flowlabel.h"
+--- a/src/iperf_udp.c
++++ b/src/iperf_udp.c
+@@ -45,7 +45,7 @@
+ #include "iperf_udp.h"
+ #include "timer.h"
+ #include "net.h"
+-#include "cjson.h"
++#include <cjson/cJSON.h>
+ 
+ /* iperf_udp_recv
+  *
+--- a/src/iperf_util.c
++++ b/src/iperf_util.c
+@@ -46,7 +46,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ 
+-#include "cjson.h"
++#include <cjson/cJSON.h>
+ #include "iperf.h"
+ #include "iperf_api.h"
+ 
+--- a/src/iperf_util.h
++++ b/src/iperf_util.h
+@@ -28,7 +28,7 @@
+ #define __IPERF_UTIL_H
+ 
+ #include "iperf_config.h"
+-#include "cjson.h"
++#include <cjson/cJSON.h>
+ #include <sys/select.h>
+ #include <stddef.h>
+ 
+-- 
+2.45.2
+

diff --git a/net-misc/iperf/iperf-3.17.1.ebuild 
b/net-misc/iperf/iperf-3.17.1.ebuild
new file mode 100644
index 000000000000..999cff75ed27
--- /dev/null
+++ b/net-misc/iperf/iperf-3.17.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools systemd
+
+DESCRIPTION="A TCP, UDP, and SCTP network bandwidth measurement tool"
+HOMEPAGE="https://github.com/esnet/iperf";
+SRC_URI="https://github.com/esnet/iperf/releases/download/${PV}/${P}.tar.gz";
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv 
~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="sctp"
+
+DEPEND="
+       >=dev-libs/cJSON-1.7.15
+       dev-libs/openssl:=
+       sctp? ( net-misc/lksctp-tools )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( README.md RELNOTES.md )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.10.1-drop-forced-debugging-symbols.patch
+       "${FILESDIR}"/${PN}-3.17.1-Unbundle-cJSON.patch
+)
+
+src_prepare() {
+       default
+
+       # Drop bundled cjson
+       rm src/cjson.{c,h} || die
+
+       eautoreconf
+}
+
+src_configure() {
+       econf $(use_with sctp)
+}
+
+src_install() {
+       default
+
+       newconfd "${FILESDIR}"/iperf.confd iperf3
+       newinitd "${FILESDIR}"/iperf3.initd iperf3
+       systemd_dounit contrib/iperf3.service
+
+       find "${ED}" -name '*.la' -type f -delete || die
+}

Reply via email to