From bff385eab30595aa8813f848d1b605404883198b Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Mon, 17 Jun 2019 20:41:53 +0000 Subject: [PATCH] pmacct: init at 1.7.3 --- pkgs/tools/networking/pmacct/default.nix | 62 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 64 insertions(+) create mode 100644 pkgs/tools/networking/pmacct/default.nix diff --git a/pkgs/tools/networking/pmacct/default.nix b/pkgs/tools/networking/pmacct/default.nix new file mode 100644 index 000000000000..5d0c5cccdedb --- /dev/null +++ b/pkgs/tools/networking/pmacct/default.nix @@ -0,0 +1,62 @@ +{ stdenv +, fetchFromGitHub +, pkgconfig +, autoreconfHook +, libtool +, libpcap + +# Optional Dependencies +, zlib ? null +, withJansson ? true, jansson ? null +, withNflog ? true, libnetfilter_log ? null +, withSQLite ? true, sqlite ? null +, withPgSQL ? true, postgresql ? null +, withMysql ? true, libmysqlclient ? null }: + +assert withJansson -> jansson != null; +assert withNflog -> libnetfilter_log != null; +assert withSQLite -> sqlite != null; +assert withPgSQL -> postgresql != null; +assert withMysql -> libmysqlclient != null; + +let inherit (stdenv.lib) optional; in + +stdenv.mkDerivation rec { + version = "1.7.3"; + pname = "pmacct"; + + src = fetchFromGitHub { + owner = "pmacct"; + repo = pname; + rev = "v${version}"; + sha256 = "0j5qmkya67q7jvaddcj00blmaac37bkir1zb3m1xmm95gm5lf2p5"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig libtool ]; + buildInputs = [ libpcap ] + ++ optional withJansson jansson + ++ optional withNflog libnetfilter_log + ++ optional withSQLite sqlite + ++ optional withPgSQL postgresql + ++ optional withMysql [ libmysqlclient zlib ]; + + configureFlags = [ + "--with-pcap-includes=${libpcap}/include" + ] ++ optional withJansson "--enable-jansson" + ++ optional withNflog "--enable-nflog" + ++ optional withSQLite "--enable-sqlite3" + ++ optional withPgSQL "--enable-pgsql" + ++ optional withMysql "--enable-mysql"; + + meta = with stdenv.lib; { + description = "pmacct is a small set of multi-purpose passive network monitoring tools"; + longDescription = '' + pmacct is a small set of multi-purpose passive network monitoring tools + [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry] + ''; + homepage = "http://www.pmacct.net/"; + license = licenses.gpl2; + maintainers = with maintainers; [ "0x4A6F" ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 83a183e36719..0ca52b1d3700 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5743,6 +5743,8 @@ in pastebinit = callPackage ../tools/misc/pastebinit { }; + pmacct = callPackage ../tools/networking/pmacct { }; + polygraph = callPackage ../tools/networking/polygraph { }; progress = callPackage ../tools/misc/progress { };