biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / networking / pmacct / default.nix
blob3cd43ec9a873c7bb69cb51e81530d357f1403022
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , pkg-config
5 , autoreconfHook
6 , libtool
7 , libpcap
8 , libcdada
9 # Optional Dependencies
10 , withJansson ? true, jansson
11 , withNflog ? true, libnetfilter_log
12 , withSQLite ? true, sqlite
13 , withPgSQL ? true, postgresql
14 , withMysql ? true, libmysqlclient, zlib, numactl
15 , gnutlsSupport ? false, gnutls
16 , testers
19 stdenv.mkDerivation (finalAttrs: {
20   version = "1.7.9";
21   pname = "pmacct";
23   src = fetchFromGitHub {
24     owner = "pmacct";
25     repo = "pmacct";
26     rev = "v${finalAttrs.version}";
27     hash = "sha256-3gV6GUhTQnH09NRIJQI0xBn05Bgo3AJsE2cSxNPXITo=";
28   };
30   nativeBuildInputs = [
31     autoreconfHook
32     pkg-config
33     libtool
34   ];
35   buildInputs = [
36     libcdada
37     libpcap
38   ] ++ lib.optional withJansson jansson
39   ++ lib.optional withNflog libnetfilter_log
40   ++ lib.optional withSQLite sqlite
41   ++ lib.optional withPgSQL postgresql
42   ++ lib.optionals withMysql [ libmysqlclient zlib numactl ]
43   ++ lib.optional gnutlsSupport gnutls;
45   MYSQL_CONFIG = lib.optionalString withMysql "${lib.getDev libmysqlclient}/bin/mysql_config";
47   configureFlags = [
48     "--with-pcap-includes=${libpcap}/include"
49   ] ++ lib.optional withJansson "--enable-jansson"
50   ++ lib.optional withNflog "--enable-nflog"
51   ++ lib.optional withSQLite "--enable-sqlite3"
52   ++ lib.optional withPgSQL "--enable-pgsql"
53   ++ lib.optional withMysql "--enable-mysql"
54   ++ lib.optional gnutlsSupport "--enable-gnutls";
56   passthru.tests = {
57     version = testers.testVersion { package = finalAttrs.finalPackage; command = "pmacct -V"; };
58   };
60   meta = with lib; {
61     description = "Small set of multi-purpose passive network monitoring tools";
62     longDescription = ''
63       pmacct is a small set of multi-purpose passive network monitoring tools
64       [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry]
65     '';
66     homepage = "http://www.pmacct.net/";
67     changelog = "https://github.com/pmacct/pmacct/blob/v${version}/ChangeLog";
68     license = licenses.gpl2Plus;
69     maintainers = with maintainers; [ _0x4A6F ];
70     platforms = platforms.unix;
71   };