summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Zamarin <arthurzam@gentoo.org>2024-07-30 21:22:41 +0300
committerArthur Zamarin <arthurzam@gentoo.org>2024-07-30 21:33:37 +0300
commit4aa5fca038dbd7eb7f5773387ea0ac8357e9a7c3 (patch)
tree5f7a4ed7ad92d52143dcb2e1b934be4a14cd42f9 /net-misc/iperf
parentsys-kernel/installkernel: drop 40, 41, 42 (diff)
downloadgentoo-4aa5fca038dbd7eb7f5773387ea0ac8357e9a7c3.tar.gz
gentoo-4aa5fca038dbd7eb7f5773387ea0ac8357e9a7c3.tar.bz2
gentoo-4aa5fca038dbd7eb7f5773387ea0ac8357e9a7c3.zip
net-misc/iperf: add 3.17.1
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'net-misc/iperf')
-rw-r--r--net-misc/iperf/Manifest1
-rw-r--r--net-misc/iperf/files/iperf-3.17.1-Unbundle-cJSON.patch110
-rw-r--r--net-misc/iperf/iperf-3.17.1.ebuild53
3 files changed, 164 insertions, 0 deletions
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 <arthurzam@gentoo.org>
+--- 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
+}