anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / compactor / default.nix
blob88f0b34fd27cfa54c71acba1c3154e0b56117b87
1 { lib, stdenv, fetchFromGitHub
2 , asciidoctor, autoreconfHook, pkg-config
3 , boost, libctemplate, libmaxminddb, libpcap, libtins, openssl, protobuf, xz, zlib, catch2
4 , cbor-diag, cddl, diffutils, file, mktemp, netcat, tcpdump, wireshark-cli
5 }:
7 stdenv.mkDerivation rec {
8   pname = "compactor";
9   version = "1.2.3";
11   src = fetchFromGitHub {
12     owner = "dns-stats";
13     repo = "compactor";
14     rev = version;
15     fetchSubmodules = true;
16     hash = "sha256-5Z14suhO5ghhmZsSj4DsSoKm+ct2gQFO6qxhjmx4Xm4=";
17   };
19   patches = [
20     ./patches/add-a-space-after-type-in-check-response-opt-sh.patch
21   ];
23   nativeBuildInputs = [
24     asciidoctor
25     autoreconfHook
26     pkg-config
27   ];
28   buildInputs = [
29     boost
30     libctemplate
31     libmaxminddb
32     libpcap
33     libtins
34     openssl
35     protobuf
36     xz
37     zlib
38   ];
40   postPatch = ''
41     patchShebangs test-scripts/
42     cp ${catch2}/include/catch2/catch.hpp tests/catch.hpp
43   '';
45   preConfigure = ''
46     substituteInPlace configure \
47       --replace "/usr/bin/file" "${file}/bin/file"
48   '';
50   configureFlags = [
51     "--with-boost-libdir=${boost.out}/lib"
52     "--with-boost=${boost.dev}"
53   ];
54   enableParallelBuilding = true;
56   doCheck = !stdenv.hostPlatform.isDarwin; # check-dnstap.sh failing on Darwin
57   nativeCheckInputs = [
58     cbor-diag
59     cddl
60     diffutils
61     file
62     mktemp
63     netcat
64     tcpdump
65     wireshark-cli
66   ];
68   meta = with lib; {
69     description = "Tools to capture DNS traffic and record it in C-DNS files";
70     homepage    = "https://dns-stats.org/";
71     changelog   = "https://github.com/dns-stats/compactor/raw/${version}/ChangeLog.txt";
72     license     = licenses.mpl20;
73     maintainers = with maintainers; [ fdns ];
74     platforms   = platforms.unix;
75   };