push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "tcat";
version = "1.0.0";
src = fetchFromGitHub {
owner = "rsc";
repo = "tcat";
rev = "v${version}";
sha256 = "1szzfz5xsx9l8gjikfncgp86hydzpvsi0y5zvikd621xkp7g7l21";
};
vendorHash = null;
subPackages = ".";
meta = with lib; {
description = "Table cat";
homepage = "https://github.com/rsc/tcat";
maintainers = with maintainers; [ mmlb ];
license = licenses.bsd3;
mainProgram = "tcat";
};
}

View File

@@ -0,0 +1,52 @@
diff --git a/Make.defs b/Make.defs
index a961f7d..9e8d59b 100644
--- a/Make.defs
+++ b/Make.defs
@@ -19,7 +19,7 @@ LDFLAGS += $(DBGFLAG) -L../libs
PREFIX = /usr
SBINDIR = /sbin
-SLIBDIR = /lib
+SLIBDIR = $(PREFIX)/lib
INCLUDEDIR = $(PREFIX)/include
LIBDIR = $(PREFIX)/lib
LIBEXECDIR = $(PREFIX)/libexec
diff --git a/libs/Makefile b/libs/Makefile
index 0083b13..27238f6 100644
--- a/libs/Makefile
+++ b/libs/Makefile
@@ -7,7 +7,7 @@ LIBTCB_A = libtcb.a
LIB_MAP = libtcb.map
NSS_MAP = libnss_tcb.map
-all: $(LIBTCB_LONG) $(LIBNSS) $(LIBTCB_A)
+all: $(LIBTCB_LONG) $(LIBNSS)
$(LIBTCB_A): libtcb_a.o
ar -cr $@ $<
@@ -36,9 +36,8 @@ install:
$(MKDIR) -p -m 755 $(DESTDIR)$(LIBDIR)
$(INSTALL) -m $(SHLIBMODE) $(LIBTCB_LONG) $(DESTDIR)$(SLIBDIR)/
ln -sf $(LIBTCB_LONG) $(DESTDIR)$(SLIBDIR)/$(LIBTCB)
- ln -sf ../..$(SLIBDIR)/$(LIBTCB) $(DESTDIR)$(LIBDIR)/libtcb.so
+ ln -sf $(LIBTCB) $(DESTDIR)$(LIBDIR)/libtcb.so
$(INSTALL) -m $(SHLIBMODE) $(LIBNSS) $(DESTDIR)$(SLIBDIR)/
- $(INSTALL) -m 644 $(LIBTCB_A) $(DESTDIR)$(LIBDIR)/
clean:
rm -f *.o *~ $(LIBTCB)* libtcb.so $(LIBNSS) *.a
diff --git a/progs/Makefile b/progs/Makefile
index c3a6879..e24f74b 100644
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -23,8 +23,8 @@ install-non-root: install-common
$(INSTALL) -m 700 $(CHKPWD) $(DESTDIR)$(LIBEXECDIR)/chkpwd/
install: install-common
- $(INSTALL) -d -o root -g chkpwd -m 710 $(DESTDIR)$(LIBEXECDIR)/chkpwd
- $(INSTALL) -m 2711 -o root -g shadow $(CHKPWD) \
+ $(INSTALL) -d $(DESTDIR)$(LIBEXECDIR)/chkpwd
+ $(INSTALL) $(CHKPWD) \
$(DESTDIR)$(LIBEXECDIR)/chkpwd/
install-common:

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
linux-pam,
libxcrypt,
}:
stdenv.mkDerivation {
pname = "tcb";
version = "1.2";
src = fetchFromGitHub {
owner = "openwall";
repo = "tcb";
rev = "070cf4aa784de13c52788ac22ff611d7cbca0854";
sha256 = "sha256-Sp5u7iTEZZnAqKQXoPO8eWpSkZeBzQqZI82wRQmgU9A=";
};
outputs = [
"out"
"bin"
"dev"
"man"
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
linux-pam
libxcrypt
];
patches = [ ./fix-makefiles.patch ];
postPatch = ''
substituteInPlace Make.defs \
--replace "PREFIX = /usr" "PREFIX = $out" \
--replace "SBINDIR = /sbin" "SBINDIR = $bin/bin" \
--replace "INCLUDEDIR = \$(PREFIX)/include" "INCLUDEDIR = $dev/include"
# Override default 'CC=gcc'
makeFlagsArray+=("CC=$CC")
'';
meta = with lib; {
description = "Alternative password shadowing scheme";
longDescription = ''
The tcb package contains core components of our tcb suite implementing the alternative
password shadowing scheme on Openwall GNU Linux (Owl). It is being made available
separately from Owl primarily for use by other distributions.
The package consists of three components: pam_tcb, libnss_tcb, and libtcb.
pam_tcb is a PAM module which supersedes pam_unix. It also implements the tcb password
shadowing scheme. The tcb scheme allows many core system utilities (passwd(1) being
the primary example) to operate with little privilege. libnss_tcb is the accompanying
NSS module. libtcb contains code shared by the PAM and NSS modules and is also used
by user management tools on Owl due to our shadow suite patches.
'';
homepage = "https://www.openwall.com/tcb/";
license = licenses.bsd3;
platforms = systems.inspect.patterns.isGnu;
maintainers = with maintainers; [ izorkin ];
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
fetchurl,
tcl,
tclPackages,
runtimeShell,
}:
tcl.mkTclDerivation rec {
pname = "tcl2048";
version = "0.4.0";
src = fetchurl {
url = "https://raw.githubusercontent.com/dbohdan/2048.tcl/v${version}/2048.tcl";
sha256 = "53f5503efd7f029b2614b0f9b1e3aac6c0342735a3c9b811d74a5135fee3e89e";
};
buildInputs = [ tclPackages.tcllib ];
dontUnpack = true;
installPhase = ''
mkdir -pv $out/bin
install -m 755 $src $out/bin/2048
'';
meta = {
homepage = "https://github.com/dbohdan/2048.tcl";
description = "Game of 2048 implemented in Tcl";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dbohdan ];
mainProgram = "2048";
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,33 @@
#! /bin/bash
# based on https://github.com/urfave/cli/blob/v2.27.6/autocomplete/bash_autocomplete
# Macs have bash3 for which the bash-completion package doesn't include
# _init_completion. This is a minimal version of that function.
_cli_init_completion() {
COMPREPLY=()
_get_comp_words_by_ref "$@" cur prev words cword
}
_cli_bash_autocomplete() {
if [[ "${COMP_WORDS[0]}" != "source" ]]; then
local cur opts base words
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
if declare -F _init_completion >/dev/null 2>&1; then
_init_completion -n "=:" || return
else
_cli_init_completion -n "=:" || return
fi
words=("${words[@]:0:$cword}")
if [[ "$cur" == "-"* ]]; then
requestComp="${words[*]} ${cur} --generate-bash-completion"
else
requestComp="${words[*]} --generate-bash-completion"
fi
opts=$(eval "${requestComp}" 2>/dev/null)
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
fi
}
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete tcld

View File

@@ -0,0 +1,15 @@
diff --git a/app/app.go b/app/app.go
index 57a9b36fdb..96acf94dc1 100644
--- a/app/app.go
+++ b/app/app.go
@@ -28,6 +28,7 @@
EnableDebugLogsFlag,
},
Commands: params.Commands,
+ EnableBashCompletion: true,
}
return app, nil
diff --git a/compgen.patch b/compgen.patch
new file mode 100644
index 0000000000..e69de29bb2

View File

@@ -0,0 +1,74 @@
{
buildGoModule,
fetchFromGitHub,
lib,
stdenvNoCC,
installShellFiles,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "tcld";
version = "0.41.0";
src = fetchFromGitHub {
owner = "temporalio";
repo = "tcld";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-Jnm6l9Jj1mi9esDS6teKTEMhq7V1QD/dTl3qFhKsW4o=";
# Populate values from the git repository; by doing this in 'postFetch' we
# can delete '.git' afterwards and the 'src' should stay reproducible.
leaveDotGit = true;
postFetch = ''
cd "$out"
# Replicate 'COMMIT' and 'DATE' variables from upstream's Makefile.
git rev-parse --short=12 HEAD > $out/COMMIT
git log -1 --format=%cd --date=iso-strict > $out/SOURCE_DATE_EPOCH
find "$out" -name .git -exec rm -rf '{}' '+'
'';
};
vendorHash = "sha256-GOko8nboj7eN4W84dqP3yLD6jK7GA0bANV0Tj+1GpgY=";
subPackages = [ "cmd/tcld" ];
ldflags = [
"-s"
"-w"
"-X=github.com/temporalio/tcld/app.version=${finalAttrs.version}"
];
# ldflags based on metadata from git.
preBuild = ''
ldflags+=" -X=github.com/temporalio/tcld/app.date=$(cat SOURCE_DATE_EPOCH)"
ldflags+=" -X=github.com/temporalio/tcld/app.commit=$(cat COMMIT)"
'';
# FIXME: Remove after https://github.com/temporalio/tcld/pull/447 lands.
patches = [ ./compgen.patch ];
# NOTE: Some tests appear to require (local only?) network access, which
# doesn't work in the sandbox.
__darwinAllowLocalNetworking = true;
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) ''
installShellCompletion --cmd tcld --bash ${./bash_autocomplete}
installShellCompletion --cmd tcld --zsh ${./zsh_autocomplete}
'';
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
versionCheckProgramArg = "version";
passthru.updateScript = nix-update-script { };
meta = {
description = "Temporal cloud cli";
homepage = "https://www.github.com/temporalio/tcld";
changelog = "https://github.com/temporalio/tcld/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
teams = [ lib.teams.mercury ];
mainProgram = "tcld";
};
})

View File

@@ -0,0 +1,22 @@
#compdef $PROG
## based on https://github.com/urfave/cli/blob/v2.27.6/autocomplete/zsh_autocomplete
_cli_zsh_autocomplete() {
local -a opts
local cur
cur=${words[-1]}
if [[ "$cur" == "-"* ]]; then
opts=("${(@f)$(${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}")
else
opts=("${(@f)$(${words[@]:0:#words[@]-1} --generate-bash-completion)}")
fi
if [[ "${opts[1]}" != "" ]]; then
_describe 'values' opts
else
_files
fi
}
compdef _cli_zsh_autocomplete tcld

View File

@@ -0,0 +1,30 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage {
pname = "tcount";
version = "0-unstable-2023-04-20";
src = fetchFromGitHub {
owner = "rrethy";
repo = "tcount";
rev = "341d9aa29512257bf7dfd7e843d02fdcfd583387";
hash = "sha256-M4EvaX9qDBYeapeegp6Ki7FJLFosVR1B42QRAh5Eugo=";
};
cargoHash = "sha256-Sn7hu+2jQFd2u8tpfTxnEO+syrO96gfgz6ouHxJnpLg=";
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = {
description = "Count your code by tokens and patterns in the syntax tree. A tokei/scc/cloc alternative";
homepage = "https://github.com/rrethy/tcount";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ phanirithvij ];
mainProgram = "tcount";
};
}

View File

@@ -0,0 +1,31 @@
__BEGIN_DECLS/__END_DECLS are BSD specific and not defined in musl
glibc and uclibc had sys/cdefs.h doing it.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: tcp_wrappers_7.6/tcpd.h
===================================================================
--- tcp_wrappers_7.6.orig/tcpd.h
+++ tcp_wrappers_7.6/tcpd.h
@@ -11,7 +11,9 @@
#include <netinet/in.h>
#include <stdio.h>
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/* Structure to describe one communications endpoint. */
@@ -252,6 +254,8 @@ extern char *fix_strtok();
extern char *my_strtok();
#endif
-__END_DECLS
+#ifdef __cplusplus
+}
+#endif
#endif

View File

@@ -0,0 +1,80 @@
{
fetchurl,
lib,
stdenv,
libnsl,
}:
let
vanillaVersion = "7.6.q";
patchLevel = "33";
in
stdenv.mkDerivation rec {
pname = "tcp-wrappers";
version = "${vanillaVersion}-${patchLevel}";
src = fetchurl {
url = "mirror://debian/pool/main/t/tcp-wrappers/tcp-wrappers_${vanillaVersion}.orig.tar.gz";
sha256 = "0p9ilj4v96q32klavx0phw9va21fjp8vpk11nbh6v2ppxnnxfhwm";
};
debian = fetchurl {
url = "mirror://debian/pool/main/t/tcp-wrappers/tcp-wrappers_${version}.debian.tar.xz";
hash = "sha256-Lykjyu4hKDS/DqQ8JAFhKDffHrbJ9W1gjBKNpdaNRew=";
};
prePatch = ''
tar -xaf $debian
patches="$(cat debian/patches/series | sed 's,^,debian/patches/,') $patches"
substituteInPlace Makefile --replace STRINGS STRINGDEFS
substituteInPlace debian/patches/13_shlib_weaksym --replace STRINGS STRINGDEFS
'';
# Fix __BEGIN_DECLS usage (even if it wasn't non-standard, this doesn't include sys/cdefs.h)
patches = [ ./cdecls.patch ];
buildInputs = [ libnsl ];
makeFlags = [
"REAL_DAEMON_DIR=$(out)/bin"
"linux"
"AR:=$(AR)"
];
installPhase = ''
mkdir -p "$out/bin"
cp -v safe_finger tcpd tcpdchk tcpdmatch try-from "$out/bin"
mkdir -p "$out/lib"
cp -v shared/lib*.so* "$out/lib"
mkdir -p "$out/include"
cp -v *.h "$out/include"
for i in 3 5 8;
do
mkdir -p "$out/man/man$i"
cp *.$i "$out/man/man$i" ;
done
'';
meta = {
description = "TCP Wrappers, a network logger, also known as TCPD or LOG_TCP";
longDescription = ''
Wietse Venema's network logger, also known as TCPD or LOG_TCP.
These programs log the client host name of incoming telnet, ftp,
rsh, rlogin, finger etc. requests. Security options are: access
control per host, domain and/or service; detection of host name
spoofing or host address spoofing; booby traps to implement an
early-warning system. The current version supports the System
V.4 TLI network programming interface (Solaris, DG/UX) in
addition to the traditional BSD sockets.
'';
homepage = "ftp://ftp.porcupine.org/pub/security/index.html";
license = lib.licenses.tcpWrappers;
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
openssl,
libcap,
libpcap,
libnfnetlink,
libnetfilter_conntrack,
libnetfilter_queue,
}:
stdenv.mkDerivation rec {
pname = "tcpcrypt";
version = "0.5";
src = fetchFromGitHub {
repo = "tcpcrypt";
owner = "scslab";
rev = "v${version}";
sha256 = "0a015rlyvagz714pgwr85f8gjq1fkc0il7d7l39qcgxrsp15b96w";
};
postUnpack = "mkdir -vp $sourceRoot/m4";
outputs = [
"bin"
"dev"
"out"
];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [
openssl
libpcap
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libcap
libnfnetlink
libnetfilter_conntrack
libnetfilter_queue
];
enableParallelBuilding = true;
meta = with lib; {
broken = stdenv.hostPlatform.isDarwin;
homepage = "http://tcpcrypt.org/";
description = "Fast TCP encryption";
platforms = platforms.all;
license = licenses.bsd2;
};
}

View File

@@ -0,0 +1,85 @@
{
lib,
stdenv,
fetchFromGitHub,
libpcap,
which,
libcap,
makeWrapper,
nix-update-script,
openonload,
}:
stdenv.mkDerivation rec {
pname = "tcpdirect";
version = "9.0.2.45";
src = fetchFromGitHub {
owner = "Xilinx-CNS";
repo = "tcpdirect";
rev = "tcpdirect-${version}";
hash = "sha256-7VQwep078hXdXE4pqGUe2CLqnPdDuWupcyuC+NCM5Ms=";
};
nativeBuildInputs = [
which
makeWrapper
];
buildInputs = [
libcap
libpcap
openonload
];
enableParallelBuilding = true;
makeFlags = [
"CITOOLS_LIB=${lib.getDev openonload}/lib/libcitools1.a"
"CIUL_LIB=${lib.getDev openonload}/lib/libciul1.a"
];
outputs = [
"out"
"lib"
"dev"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $lib/lib $dev/lib $dev/include
cp -dv \
build/bin/zf_internal/shared/* \
build/bin/zf_apps/shared/* \
build/bin/zf_stackdump \
build/bin/trade_sim/shared/* \
$out/bin
cp -dv build/lib/libonload_zf.so* $lib/lib
cp -dv build/lib/libonload_zf_static.a $dev/lib
cp -rdv src/include/zf $dev/include
mkdir -p $dev/lib/pkgconfig
export dash_l="-lonload_zf"
substituteAll ${./tcpdirect.pc.in} $dev/lib/pkgconfig/tcpdirect.pc
export dash_l="-l:libonload_zf_static.a"
substituteAll ${./tcpdirect.pc.in} $dev/lib/pkgconfig/tcpdirect-static.pc
runHook postInstall
'';
postFixup = ''
# zf_init from libonload_zf dynamically loads libefcp.so from openonload
patchelf --add-rpath ${openonload.lib}/lib $lib/lib/libonload_zf.so
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Ultra low latency kernel bypass TCP and UDP implementation for AMD Solarflare network adapters";
homepage = "https://www.openonload.org";
license = lib.licenses.mit;
maintainers = with maintainers; [ YorikSar ];
# ARM64 build fails, see https://github.com/Xilinx-CNS/onload/issues/253
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,10 @@
prefix=@dev@
includedir=${prefix}/include
libdir=@lib@/lib
Name: tcpdirect
Description: Low latency, zero-copy TCP and UDP stack for SolarFlare NICs
URL: http://www.xilinx.com
Version: @version@
Cflags: -isystem${includedir}
Libs: -L${libdir} -Wl,-rpath,${libdir} @dash_l@

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchurl,
libpcap,
pkg-config,
perl,
}:
stdenv.mkDerivation rec {
pname = "tcpdump";
version = "4.99.5";
src = fetchurl {
url = "https://www.tcpdump.org/release/tcpdump-${version}.tar.gz";
hash = "sha256-jHWFbgCt3urfcNrWfJ/z3TaFNrK4Vjq/aFTXx2TNOts=";
};
postPatch = ''
patchShebangs tests
'';
nativeBuildInputs = [ pkg-config ];
nativeCheckInputs = [ perl ];
buildInputs = [ libpcap ];
configureFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "ac_cv_linux_vers=2";
meta = with lib; {
description = "Network sniffer";
homepage = "https://www.tcpdump.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ globin ];
platforms = platforms.unix;
mainProgram = "tcpdump";
};
}

View File

@@ -0,0 +1,67 @@
{
stdenv,
lib,
fetchFromGitHub,
automake,
autoconf,
openssl,
zlib,
libpcap,
boost,
useCairo ? false,
cairo,
}:
stdenv.mkDerivation rec {
pname = "tcpflow";
version = "1.6.1";
src = fetchFromGitHub {
owner = "simsong";
repo = "tcpflow";
tag = "tcpflow-${version}";
sha256 = "0vbm097jhi5n8pg08ia1yhzc225zv9948blb76f4br739l9l22vq";
fetchSubmodules = true;
};
nativeBuildInputs = [
automake
autoconf
];
buildInputs = [
openssl
zlib
libpcap
boost
]
++ lib.optional useCairo cairo;
prePatch = ''
substituteInPlace bootstrap.sh \
--replace ".git" "" \
--replace "/bin/rm" "rm"
# Temporary fix for a build error:
# https://src.fedoraproject.org/rpms/tcpflow/blob/979e250032b90de2d6b9e5b94b5203d98cccedad/f/tcpflow-1.6.1-format.patch
substituteInPlace src/datalink.cpp \
--replace 'DEBUG(6)(s.c_str());' 'DEBUG(6) ("%s", s.c_str());'
'';
preConfigure = "bash ./bootstrap.sh";
meta = with lib; {
description = "TCP stream extractor";
longDescription = ''
tcpflow is a program that captures data transmitted as part of TCP
connections (flows), and stores the data in a way that is convenient for
protocol analysis and debugging.
'';
inherit (src.meta) homepage;
license = licenses.gpl3;
maintainers = with maintainers; [
raskin
obadz
];
platforms = platforms.unix;
mainProgram = "tcpflow";
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule {
pname = "tcping-go";
version = "unstable-2022-05-28";
src = fetchFromGitHub {
owner = "cloverstd";
repo = "tcping";
rev = "83f644c761819f7c4386f0645cd0a337eccfc62e";
sha256 = "sha256-GSkNfaGMJbBqDg8DKhDtLAuUg1yF3FbBdxcf4oG50rI=";
};
vendorHash = "sha256-Q+aFgi7GCAn3AxDuGtRG4DdPhI7gQKEo7A9iu1YcTsQ=";
meta = with lib; {
description = "Ping over TCP instead of ICMP, written in Go";
homepage = "https://github.com/cloverstd/tcping";
license = licenses.mit;
maintainers = with maintainers; [ bcdarwin ];
mainProgram = "tcping";
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "tcping-rs";
version = "1.2.19";
src = fetchFromGitHub {
owner = "lvillis";
repo = "tcping-rs";
tag = version;
hash = "sha256-I7rcIemdPGFPBeOoIRft0tq49ikDs49UH5sEobL6fOA=";
};
cargoHash = "sha256-k+Hm6dHy6igk1deeVrWrAOdhlz0h/jen6pVNaGvB7Ak=";
checkFlags = [
# This test requires external network access
"--skip=resolve_domain"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "TCP Ping (tcping) Utility for Port Reachability";
homepage = "https://github.com/lvillis/tcping-rs";
license = lib.licenses.mit;
mainProgram = "tcping";
maintainers = with lib.maintainers; [ heitorPB ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
stdenv,
autoreconfHook,
fetchFromGitHub,
bison,
}:
let
version = "1.1.1";
in
stdenv.mkDerivation rec {
pname = "tcpkali";
inherit version;
src = fetchFromGitHub {
owner = "machinezone";
repo = "tcpkali";
rev = "v${version}";
sha256 = "09ky3cccaphcqc6nhfs00pps99lasmzc2pf5vk0gi8hlqbbhilxf";
};
postPatch = ''
sed -i -e '/sys\/sysctl\.h/d' src/tcpkali_syslimits.c
'';
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ bison ];
meta = {
description = "High performance TCP and WebSocket load generator and sink";
license = lib.licenses.bsd2;
inherit (src.meta) homepage;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ ethercrow ];
mainProgram = "tcpkali";
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchurl,
libpcap,
tcpdump,
}:
stdenv.mkDerivation rec {
pname = "tcpreplay";
version = "4.5.2";
src = fetchurl {
url = "https://github.com/appneta/tcpreplay/releases/download/v${version}/tcpreplay-${version}.tar.gz";
sha256 = "sha256-zP87spRpoEzMIO0LUY4+Q8Sntah2M52UNb/Z23/l0PE=";
};
buildInputs = [ libpcap ];
# Allow having different prefix for header files (default output
# "out") and libraries ("lib" output)
postPatch = ''
substituteInPlace configure \
--replace-fail 'ls ''${testdir}/$dir/libpcap' 'ls ${lib.getLib libpcap}/$dir/libpcap'
'';
configureFlags = [
"--disable-local-libopts"
"--disable-libopts-install"
"--enable-dynamic-link"
"--enable-shared"
"--enable-tcpreplay-edit"
"--with-libpcap=${libpcap}"
"--with-tcpdump=${tcpdump}/bin/tcpdump"
];
meta = with lib; {
description = "Suite of utilities for editing and replaying network traffic";
homepage = "https://tcpreplay.appneta.com/";
license = with licenses; [
bsdOriginalUC
gpl3Only
];
maintainers = with maintainers; [ eleanor ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,16 @@
Index: tcptrace-6.6.1/Makefile.in
===================================================================
--- tcptrace-6.6.1.orig/Makefile.in
--- tcptrace-6.6.1/Makefile.in
@@ -286,9 +286,9 @@
# just a quick installation rule
INSTALL = ./install-sh -c
install: tcptrace install-man
- $(INSTALL) -m 755 -o bin -g bin tcptrace ${BINDIR}/tcptrace
+ $(INSTALL) -m 755 tcptrace ${BINDIR}/tcptrace
install-man:
- $(INSTALL) -m 444 -o bin -g bin tcptrace.man $(MANDIR)/man1/tcptrace.1
+ $(INSTALL) -m 444 tcptrace.man $(MANDIR)/man1/tcptrace.1

View File

@@ -0,0 +1,54 @@
{
stdenv,
fetchurl,
lib,
libpcap,
}:
stdenv.mkDerivation (final: {
name = "tcptrace";
version = "6.6.7";
srcs = [
(fetchurl {
# Home page was down on 2024-02-01, so use Debian mirror as fallback.
urls = [
"http://www.tcptrace.org/download/tcptrace-${final.version}.tar.gz"
"mirror://debian/pool/main/t/tcptrace/tcptrace_${final.version}.orig.tar.gz"
];
hash = "sha256-YzgKQFGTPKCJeUdqnfxvlZMIvJ9g1FJVIC44jrVpEL0=";
})
(fetchurl {
url = "mirror://debian/pool/main/t/tcptrace/tcptrace_6.6.7-6.debian.tar.xz";
hash = "sha256-8rkwzdXcDOc3kACvrlyTQsnSw6AJgy6xA0YrECu63gY=";
})
];
sourceRoot = "tcptrace-${final.version}";
outputs = [
"out"
"man"
];
setOutputFlags = false;
patches = [ ./fix-owners.patch ];
prePatch = ''
patches_deb=(../debian/patches/bug*)
patches+=" ''${patches_deb[*]}"
'';
buildInputs = [ libpcap ];
makeFlags = [
"BINDIR=${placeholder "out"}/bin"
"MANDIR=${placeholder "man"}/share/man"
];
meta = {
description = "Tool for analysis of TCP dump files";
homepage = "http://www.tcptrace.org/";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.gmacon ];
mainProgram = "tcptrace";
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchFromGitHub,
libpcap,
libnet,
}:
stdenv.mkDerivation rec {
pname = "tcptraceroute";
version = "1.5beta7";
src = fetchFromGitHub {
owner = "mct";
repo = "tcptraceroute";
rev = "${pname}-${version}";
hash = "sha256-KU4MLWtOFzzNr+I99fRbhBokhS1JUNL+OgVltkOGav4=";
};
# for reasons unknown --disable-static configure flag doesn't disable static
# linking.. we instead override CFLAGS with -static omitted
preBuild = ''
makeFlagsArray=(CFLAGS=" -g -O2 -Wall")
'';
buildInputs = [
libpcap
libnet
];
meta = {
description = "Traceroute implementation using TCP packets";
homepage = "https://github.com/mct/tcptraceroute";
license = lib.licenses.gpl2Only;
maintainers = [ ];
mainProgram = "tcptraceroute";
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
ncurses,
libpcap,
}:
stdenv.mkDerivation rec {
pname = "tcptrack";
version = "unstable-2017-04-29";
src = fetchFromGitHub {
owner = "bchretien";
repo = "tcptrack";
rev = "2b096ac103af2884bbd7648cff8adcbadbda9394";
sha256 = "0084g9s0ynv1az67j08q9nz4p07bqqz9k6w5lprzj3ljlh0x10gj";
};
patches = [
# Fix pending upstream inclusion for ncurses-6.3 support:
# https://github.com/bchretien/tcptrack/pull/10
(fetchpatch {
name = "ncurses-6.3.patch";
url = "https://github.com/bchretien/tcptrack/commit/409007afbce8ec5a81312a2a4123dd83b62b4494.patch";
sha256 = "00641jyr52ksww5bbzvxlprmbb36jnvzg2w1aj1jgnm75jiajcfc";
})
];
buildInputs = [
ncurses
libpcap
];
env.NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
meta = with lib; {
inherit (src.meta) homepage;
description = "libpcap based program for live TCP connection monitoring";
mainProgram = "tcptrack";
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchurl,
libxcrypt,
ncurses,
buildPackages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tcsh";
version = "6.24.16";
src = fetchurl {
url = "mirror://tcsh/tcsh-${finalAttrs.version}.tar.gz";
hash = "sha256-QgjPRjD7ZNkdgZh/hU+VcKWg6KABqSgn3vN9Dtjzc2Q=";
};
strictDeps = true;
depsBuildBuild = [
buildPackages.stdenv.cc
];
buildInputs = [
libxcrypt
ncurses
];
passthru.shellPath = "/bin/tcsh";
meta = {
homepage = "https://www.tcsh.org/";
description = "Enhanced version of the Berkeley UNIX C shell (csh)";
mainProgram = "tcsh";
longDescription = ''
tcsh is an enhanced but completely compatible version of the Berkeley UNIX
C shell, csh. It is a command language interpreter usable both as an
interactive login shell and a shell script command processor.
It includes:
- command-line editor
- programmable word completion
- spelling correction
- history mechanism
- job control
'';
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ suominen ];
platforms = lib.platforms.unix;
};
})