linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / tools / networking / pmacct / default.nix
blob9cb8c0b88f73aed26bec07d2944f51997c5a0e56
1 { lib, stdenv
2 , fetchFromGitHub
3 , pkg-config
4 , autoreconfHook
5 , libtool
6 , libpcap
8 # Optional Dependencies
9 , zlib ? null
10 , withJansson ? true, jansson ? null
11 , withNflog ? true, libnetfilter_log ? null
12 , withSQLite ? true, sqlite ? null
13 , withPgSQL ? true, postgresql ? null
14 , withMysql ? true, libmysqlclient ? null }:
16 assert withJansson -> jansson != null;
17 assert withNflog -> libnetfilter_log != null;
18 assert withSQLite -> sqlite != null;
19 assert withPgSQL -> postgresql != null;
20 assert withMysql -> libmysqlclient != null;
22 let inherit (lib) getDev optional optionalString; in
24 stdenv.mkDerivation rec {
25   version = "1.7.5";
26   pname = "pmacct";
28   src = fetchFromGitHub {
29     owner = "pmacct";
30     repo = pname;
31     rev = "v${version}";
32     sha256 = "17p5isrq5w58hvmzhc6akbd37ins3c95g0rvhhdm0v33khzxmran";
33   };
35   nativeBuildInputs = [ autoreconfHook pkg-config libtool ];
36   buildInputs = [ libpcap ]
37     ++ optional withJansson jansson
38     ++ optional withNflog libnetfilter_log
39     ++ optional withSQLite sqlite
40     ++ optional withPgSQL postgresql
41     ++ optional withMysql [ libmysqlclient zlib ];
43   MYSQL_CONFIG =
44     optionalString withMysql "${getDev libmysqlclient}/bin/mysql_config";
46   configureFlags = [
47     "--with-pcap-includes=${libpcap}/include"
48   ] ++ optional withJansson "--enable-jansson"
49     ++ optional withNflog "--enable-nflog"
50     ++ optional withSQLite "--enable-sqlite3"
51     ++ optional withPgSQL "--enable-pgsql"
52     ++ optional withMysql "--enable-mysql";
54   meta = with lib; {
55     description = "A small set of multi-purpose passive network monitoring tools";
56     longDescription = ''
57       pmacct is a small set of multi-purpose passive network monitoring tools
58       [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry]
59     '';
60     homepage = "http://www.pmacct.net/";
61     license = licenses.gpl2;
62     maintainers = with maintainers; [ _0x4A6F ];
63     platforms = platforms.unix;
64   };