From fd5a074a9b6931d0c2353c6d9689837ffc1a2499 Mon Sep 17 00:00:00 2001 From: ckie Date: Sat, 21 Aug 2021 05:42:16 +0300 Subject: [PATCH 1/2] cnping: init at 2021-04-04 --- pkgs/tools/networking/cnping/default.nix | 32 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/tools/networking/cnping/default.nix diff --git a/pkgs/tools/networking/cnping/default.nix b/pkgs/tools/networking/cnping/default.nix new file mode 100644 index 000000000000..0a7aed4fcb5d --- /dev/null +++ b/pkgs/tools/networking/cnping/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub, libglvnd, xorg }: + +stdenv.mkDerivation rec { + pname = "cnping"; + version = "unstable-2021-04-04"; + + src = fetchFromGitHub { + owner = "cntools"; + repo = "cnping"; + rev = "6b89363e6b79ecbf612306d42a8ef94a5a2f756a"; + sha256 = "sha256-E3Wm5or6C4bHq7YoyaEbtDwyd+tDVYUOMeQrprlmL4A="; + fetchSubmodules = true; + }; + + buildInputs = [ libglvnd xorg.libXinerama xorg.libXext xorg.libX11 ]; + + # The "linuxinstall" target won't work for us: + # it tries to setcap and copy to a FHS directory + installPhase = '' + mkdir -p $out/{bin,share/man/man1} + cp cnping $out/bin/cnping + cp cnping.1 $out/share/man/man1/cnping.1 + ''; + + meta = with lib; { + description = "Minimal Graphical IPV4 Ping Tool"; + homepage = "https://github.com/cntools/cnping"; + license = with licenses; [ mit bsd3 ]; # dual licensed, MIT-x11 & BSD-3-Clause + maintainers = with maintainers; [ ckie ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 80ea6f313f16..2cdbcafb8e38 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8554,6 +8554,8 @@ with pkgs; cntlm = callPackage ../tools/networking/cntlm { }; + cnping = callPackage ../tools/networking/cnping { }; + past-time = python3Packages.callPackage ../tools/misc/past-time { }; pastebinit = callPackage ../tools/misc/pastebinit { }; From 2ba28b7226d72bda0b15c66e55abf871f49f27a3 Mon Sep 17 00:00:00 2001 From: ckie Date: Sat, 21 Aug 2021 05:43:43 +0300 Subject: [PATCH 2/2] nixos/cnping: init --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/cnping.nix | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 nixos/modules/programs/cnping.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index df35a57d047f..cda1fff24245 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -127,6 +127,7 @@ ./programs/cdemu.nix ./programs/chromium.nix ./programs/clickshare.nix + ./programs/cnping.nix ./programs/command-not-found/command-not-found.nix ./programs/criu.nix ./programs/dconf.nix diff --git a/nixos/modules/programs/cnping.nix b/nixos/modules/programs/cnping.nix new file mode 100644 index 000000000000..d208d2b07040 --- /dev/null +++ b/nixos/modules/programs/cnping.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.cnping; +in +{ + options = { + programs.cnping = { + enable = mkEnableOption "Whether to install a setcap wrapper for cnping"; + }; + }; + + config = mkIf cfg.enable { + security.wrappers.cnping = { + source = "${pkgs.cnping}/bin/cnping"; + capabilities = "cap_net_raw+ep"; + }; + }; +}