From 7c723450a186e85aa324268a0a48d9a850ac774d Mon Sep 17 00:00:00 2001
From: Azulinho <mail@azulinho.com>
Date: Mon, 4 Nov 2019 15:45:39 +0000
Subject: [PATCH] nfstrace: init at 0.4.3.2

Co-authored-by: Renaud <c0bw3b@users.noreply.github.com>
Co-authored-by: Nick Partridge <nkpart@gmail.com>
---
 pkgs/tools/networking/nfstrace/default.nix | 37 ++++++++++++++++++++++
 pkgs/top-level/all-packages.nix            |  2 ++
 2 files changed, 39 insertions(+)
 create mode 100644 pkgs/tools/networking/nfstrace/default.nix

diff --git a/pkgs/tools/networking/nfstrace/default.nix b/pkgs/tools/networking/nfstrace/default.nix
new file mode 100644
index 00000000000..50654da54e4
--- /dev/null
+++ b/pkgs/tools/networking/nfstrace/default.nix
@@ -0,0 +1,37 @@
+{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "nfstrace";
+  version = "0.4.3.2";
+
+  src = fetchFromGitHub {
+    owner = "epam";
+    repo = "nfstrace";
+    rev = "${version}";
+    sha256 = "1djsyn7i3xp969rnmsdaf5vwjiik9wylxxrc5nm7by00i76c1vsg";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/nfstrace/raw/debian/0.4.3.1-3/debian/patches/reproducible_build.patch";
+      sha256 = "0fd96r8xi142kjwibqkd46s6jwsg5kfc5v28bqsj9rdlc2aqmay5";
+    })
+  ];
+
+  buildInputs = [ json_c libpcap ncurses ];
+  nativeBuildInputs = [ cmake ];
+
+  # To build with GCC 8+ it needs:
+  CXXFLAGS = [ "-Wno-class-memaccess" "-Wno-ignored-qualifiers" ];
+  # CMake can't find json_c without:
+  NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" ];
+
+  doCheck = false; # requires network access
+
+  meta = with stdenv.lib; {
+    homepage = "http://epam.github.io/nfstrace/";
+    description = "NFS and CIFS tracing/monitoring/capturing/analyzing tool";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 85270623a5d..c441ad63540 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1906,6 +1906,8 @@ in
 
   nfdump = callPackage ../tools/networking/nfdump { };
 
+  nfstrace = callPackage ../tools/networking/nfstrace { };
+
   nixpkgs-pytools = with python3.pkgs; toPythonApplication nixpkgs-pytools;
 
   noteshrink = callPackage ../tools/misc/noteshrink { };