summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Pavljuchenkov (SpiderX) <spiderx@spiderx.dp.ua>2017-10-29 15:14:01 +0200
committerMichał Górny <mgorny@gentoo.org>2018-02-17 18:55:43 +0100
commitc6246077d8e40fee76c66083663b03b4d76b039f (patch)
tree132e10f96c064088944cad9d06febc585e835e94 /net-analyzer/nuttcp
parentsys-process/xjobs: new version xjobs-20170829. (diff)
downloadgentoo-c6246077d8e40fee76c66083663b03b4d76b039f.tar.gz
gentoo-c6246077d8e40fee76c66083663b03b4d76b039f.tar.bz2
gentoo-c6246077d8e40fee76c66083663b03b4d76b039f.zip
net-analyzer/nuttcp: new ebuild
nuttcp is a network performance measurement tool intended for use by network and system managers. Its most basic usage is to determine the raw TCP (or UDP) network layer throughput by transferring memory buffers from a source system across an interconnecting network to a destination system, either transferring data for a specified time interval, or alternatively transferring a specified number of bytes. Closes: https://bugs.gentoo.org/486788 Closes: https://github.com/gentoo/gentoo/pull/6068 Package-Manager: Portage-2.3.8, Repoman-2.3.2
Diffstat (limited to 'net-analyzer/nuttcp')
-rw-r--r--net-analyzer/nuttcp/Manifest1
-rw-r--r--net-analyzer/nuttcp/files/nuttcp-8.1.4-makefile.patch21
-rw-r--r--net-analyzer/nuttcp/files/nuttcp.confd5
-rw-r--r--net-analyzer/nuttcp/files/nuttcp.initd16
-rw-r--r--net-analyzer/nuttcp/metadata.xml23
-rw-r--r--net-analyzer/nuttcp/nuttcp-8.1.4.ebuild62
6 files changed, 128 insertions, 0 deletions
diff --git a/net-analyzer/nuttcp/Manifest b/net-analyzer/nuttcp/Manifest
new file mode 100644
index 000000000000..c7bb1cf75d83
--- /dev/null
+++ b/net-analyzer/nuttcp/Manifest
@@ -0,0 +1 @@
+DIST nuttcp-8.1.4.tar.bz2 13063356 BLAKE2B 374b76bed06615bf5966df5864c8987d5e8336eedd7450ccfef164e575f58ce2a22dbc1e0327e7740799560c30a03f9423d3fd50579fa01cd638059485c7f61b SHA512 ba6ff33bc1790c92f47d760d4588b128f60f0ca09ed43d95fd10b0edfb636a493b0d26b195e688a13b5b79fafc1cc52a0c73455263f921ff8ad0cf087f1d937b
diff --git a/net-analyzer/nuttcp/files/nuttcp-8.1.4-makefile.patch b/net-analyzer/nuttcp/files/nuttcp-8.1.4-makefile.patch
new file mode 100644
index 000000000000..02de62a80e70
--- /dev/null
+++ b/net-analyzer/nuttcp/files/nuttcp-8.1.4-makefile.patch
@@ -0,0 +1,21 @@
+--- a/Makefile 2017-10-29 08:39:34.209474792 +0200
++++ b/Makefile 2017-10-29 15:11:02.082490459 +0200
+@@ -2,8 +2,7 @@
+ #EXTRAVERSION=-pre1
+ CC = gcc -Wall
+ #OPT = -g -O0
+-OPT = -O3
+-CFLAGS = $(OPT) $(NOIPV6)
++CFLAGS += $(OPT) $(NOIPV6)
+ LIBS =
+ ifneq ($(NOIPV6),)
+ APPEXTV6=-noipv6
+@@ -53,7 +52,7 @@
+ # $(MAKE) CC=icc OPT="-w -O3 -parallel -unroll -align -xM -vec_report -par_report2"
+
+ $(APP)$(EXTRAVERSION)$(APPEXT): $(APP)$(EXTRAVERSION).c $(LIBS)
+- $(CC) $(CFLAGS) -o $@ $< $(LIBS)
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LIBS)
+ inet_ntop.o: missing/inet_ntop.c missing/config.h
+ $(CC) $(CFLAGS.MISSING) -o $@ -c $<
+ inet_pton.o: missing/inet_pton.c missing/config.h
diff --git a/net-analyzer/nuttcp/files/nuttcp.confd b/net-analyzer/nuttcp/files/nuttcp.confd
new file mode 100644
index 000000000000..a41d858550a1
--- /dev/null
+++ b/net-analyzer/nuttcp/files/nuttcp.confd
@@ -0,0 +1,5 @@
+# Config file for /etc/init.d/nuttcp
+
+# extra options (run nuttcp -h for a list of supported options)
+# Parameter -S indicates that nuttcp acts as a server.
+NUTTCP_OPTS="-S"
diff --git a/net-analyzer/nuttcp/files/nuttcp.initd b/net-analyzer/nuttcp/files/nuttcp.initd
new file mode 100644
index 000000000000..3ba80fab8f6e
--- /dev/null
+++ b/net-analyzer/nuttcp/files/nuttcp.initd
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/nuttcp"
+command_background="yes"
+command_args="${NUTTCP_OPTS}"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+depend() {
+ need net
+}
+
+start_post() {
+ pgrep -n "${RC_SVCNAME%%.*}" > "${pidfile}"
+}
diff --git a/net-analyzer/nuttcp/metadata.xml b/net-analyzer/nuttcp/metadata.xml
new file mode 100644
index 000000000000..66e11db82cfd
--- /dev/null
+++ b/net-analyzer/nuttcp/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>spiderx@spiderx.dp.ua</email>
+ <name>Vladimir Pavljuchenkov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription lang="en">
+ nuttcp is a network performance measurement tool intended for use
+ by network and system managers. Its most basic usage is to determine
+ the raw TCP (or UDP) network layer throughput by transferring memory
+ buffers from a source system across an interconnecting network to
+ a destination system, either transferring data for a specified time
+ interval, or alternatively transferring a specified number of bytes.
+ </longdescription>
+ <upstream>
+ <bugs-to>mailto:nuttcp@lcp.nrl.navy.mil</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/net-analyzer/nuttcp/nuttcp-8.1.4.ebuild b/net-analyzer/nuttcp/nuttcp-8.1.4.ebuild
new file mode 100644
index 000000000000..97c01c07adc1
--- /dev/null
+++ b/net-analyzer/nuttcp/nuttcp-8.1.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit readme.gentoo-r1 systemd toolchain-funcs
+
+DESCRIPTION="Network performance measurement tool"
+HOMEPAGE="http://www.nuttcp.net/"
+SRC_URI="http://nuttcp.net/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ipv6 xinetd"
+
+RDEPEND="xinetd? ( sys-apps/xinetd )"
+
+DOCS=( examples.txt README )
+# Honor CC, LDFLAGS, CFLAGS, CPPFLAGS
+PATCHES=( "${FILESDIR}"/"${P}"-makefile.patch )
+
+DOC_CONTENTS="Usage of nuttpc by its service name in xinetd service,
+iptables rules, etc. will require adding these lines to /etc/services:\\n
+nuttcp\\t\\t5000/tcp\\n
+nuttcp-data\\t\\t5001/tcp\\n
+nuttcp6\\t\\t5000/tcp\\n
+nuttcp6-data\\t\\t5001/tcp\\n\\n
+To run ${PN} in server mode, run:\\n/etc/init.d/${PN} start"
+
+src_prepare() {
+ default
+
+ # Fix path to binary
+ sed -i '/server/s|/local||' xinetd.d/nuttcp || die "sed failed"
+}
+
+src_compile() {
+ emake "$(usex ipv6 APPEXT='' NOIPV6=-DNO_IPV6)" CC="$(tc-getCC)"
+}
+
+src_install() {
+ einstalldocs
+ doman "${PN}".8
+ newbin "${P}$(usex ipv6 '' -noipv6)" "${PN}"
+
+ newinitd "${FILESDIR}"/"${PN}".initd "${PN}"
+ newconfd "${FILESDIR}"/"${PN}".confd "${PN}"
+ systemd_dounit systemd/"${PN}"@.service
+ systemd_dounit systemd/"${PN}".socket
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ doins xinetd.d/"${PN}"
+ fi
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}