commit: 9b4d145731f60425ae36ab82f7de237b633c9ef2 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sun Oct 2 02:25:58 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Oct 2 02:26:13 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b4d1457
net-misc/iperf: add 3.12 Signed-off-by: Sam James <sam <AT> gentoo.org> net-misc/iperf/Manifest | 1 + .../iperf/files/iperf-3.12-Unbundle-cJSON.patch | 109 +++++++++++++++++++++ net-misc/iperf/files/iperf-3.12-fix-bashism.patch | 43 ++++++++ net-misc/iperf/iperf-3.12.ebuild | 55 +++++++++++ 4 files changed, 208 insertions(+) diff --git a/net-misc/iperf/Manifest b/net-misc/iperf/Manifest index 964c281db1c0..7c2daa431c11 100644 --- a/net-misc/iperf/Manifest +++ b/net-misc/iperf/Manifest @@ -1,2 +1,3 @@ DIST iperf-2.0.13.tar.gz 326148 BLAKE2B 2a40aea9e2d7fdc935b91be5e4e586bf68dd27604375d2570570145e5db1ea5837469a4989f47586986932bef33cba05ed19ed3a9ce40c0a5531581c6d3ba982 SHA512 40fcfb8f4d27887f53a743ac07396511fb2a7ac59f4b300fe36896bd0241e191945fa253705990711772ee776d5e4227ed62760fc92abebdfebcedd11c27c0ea DIST iperf-3.11.tar.gz 638521 BLAKE2B b2981c170aac947c407b0a5686cd9708012282044be30ec7e5f993a9d61d55c4517003024890a194f6e55d342be0e60f1bcab27460541d2b9631a3bb88e094a5 SHA512 4be3e407f77a083d826bddc5ce2939047c85f5b816a6aeb3293eacabf2ea23bf13df4226e629ade3bf390c2eb08d6a1cb96f8cdb0fefb290a0fa4c8331d11a17 +DIST iperf-3.12.tar.gz 648136 BLAKE2B 95753e4fd2b7ca640b17501f6b21b0e63ea0a3df2ba920c672ffcccd991502cacf4bf3641be1ffbbb993c86e6915ceada5745cffe1796bb86b6a6a1dff8811ae SHA512 9b0600a19750311557833b32ca5c4be809ab98643522f125645dd8f83c482017e42fbe5fc9484624731176a59b67203a468eb81eebf1a37b9c1b3eff818857ba diff --git a/net-misc/iperf/files/iperf-3.12-Unbundle-cJSON.patch b/net-misc/iperf/files/iperf-3.12-Unbundle-cJSON.patch new file mode 100644 index 000000000000..c5b1b49ec1a7 --- /dev/null +++ b/net-misc/iperf/files/iperf-3.12-Unbundle-cJSON.patch @@ -0,0 +1,109 @@ +From 85b225cdd00b9a483a603b8b124a829ffbf92b88 Mon Sep 17 00:00:00 2001 +From: Sam James <s...@gentoo.org> +Date: Sun, 2 Oct 2022 03:07:40 +0100 +Subject: [PATCH] Unbundle cJSON + +Signed-off-by: Sam James <s...@gentoo.org> +--- a/configure.ac ++++ b/configure.ac +@@ -62,6 +62,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 \ +@@ -44,10 +42,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 +@@ -65,7 +65,7 @@ + + #include "timer.h" + #include "queue.h" +-#include "cjson.h" ++#include <cjson/cJSON.h> + #include "iperf_time.h" + + #if defined(HAVE_SSL) +--- a/src/iperf_api.c ++++ b/src/iperf_api.c +@@ -81,7 +81,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 +@@ -46,7 +46,7 @@ + #include "iperf_udp.h" + #include "timer.h" + #include "net.h" +-#include "cjson.h" ++#include <cjson/cJSON.h> + #include "portable_endian.h" + + #if defined(HAVE_INTTYPES_H) +--- 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> + diff --git a/net-misc/iperf/files/iperf-3.12-fix-bashism.patch b/net-misc/iperf/files/iperf-3.12-fix-bashism.patch new file mode 100644 index 000000000000..1f3a321f42c9 --- /dev/null +++ b/net-misc/iperf/files/iperf-3.12-fix-bashism.patch @@ -0,0 +1,43 @@ +https://github.com/esnet/iperf/pull/1398 + +From 3a03f775ca103f2e824abef903130280c57ca8ac Mon Sep 17 00:00:00 2001 +From: Sam James <s...@gentoo.org> +Date: Sun, 2 Oct 2022 02:58:59 +0100 +Subject: [PATCH] config/iperf_config_static_bin.m4: fix bashism + +configure scripts need to be runnable with a POSIX-compliant /bin/sh. + +On many (but not all!) systems, /bin/sh is provided by Bash, so errors +like this aren't spotted. Notably Debian defaults to /bin/sh provided +by dash which doesn't tolerate such bashisms as '=='. + +This retains compatibility with bash. + +Fixes configure warnings/errors like: +``` +./configure: 2670: test: x: unexpected operator +``` + +Signed-off-by: Sam James <s...@gentoo.org> +--- a/config/iperf_config_static_bin.m4 ++++ b/config/iperf_config_static_bin.m4 +@@ -7,6 +7,6 @@ AC_ARG_ENABLE([static-bin], + [:]) + AM_CONDITIONAL([ENABLE_STATIC_BIN], [test x$enable_static_bin = xno]) + +-AS_IF([test "x$enable_static_bin" == xyes], ++AS_IF([test "x$enable_static_bin" = xyes], + [LDFLAGS="$LDFLAGS --static"] + []) +--- a/configure ++++ b/configure +@@ -2667,7 +2667,7 @@ else + fi + + +-if test "x$enable_static_bin" == xyes ++if test "x$enable_static_bin" = xyes + then : + LDFLAGS="$LDFLAGS --static" + + diff --git a/net-misc/iperf/iperf-3.12.ebuild b/net-misc/iperf/iperf-3.12.ebuild new file mode 100644 index 000000000000..6ee24b228358 --- /dev/null +++ b/net-misc/iperf/iperf-3.12.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2022 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/archive/${PV/_/}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/${P/_/} + +LICENSE="BSD" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~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.12-fix-bashism.patch + "${FILESDIR}"/${PN}-3.12-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' -delete || die +}