diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/applications/networking/compactor/default.nix new file mode 100644 index 000000000000..749b94f7b7ec --- /dev/null +++ b/pkgs/applications/networking/compactor/default.nix @@ -0,0 +1,52 @@ +{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, gcc, libpcap, libtins, libtool, lzma, openssl, pkgconfig, stdenv, tcpdump, wireshark-cli }: + +stdenv.mkDerivation rec { + name = "compactor-${version}"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "dns-stats"; + repo = "compactor"; + rev = "${version}"; + sha256 = "1zn6w99xqq5igaz0n89429i78a5pj4nnfn1mm5yv1yfbn1lm0y3l"; + }; + + # cbor-diag, cddl and wireshark-cli are only used for tests. + nativeBuildInputs = [ autoconf automake libtool pkgconfig cbor-diag cddl wireshark-cli ]; + buildInputs = [ + boost + libpcap + openssl + libtins + lzma + ]; + + patchPhase = '' + patchShebangs test-scripts/ + ''; + + preConfigure = '' + sh autogen.sh + substituteInPlace configure \ + --replace "/usr/bin/file" "${file}/bin/file" + ''; + CXXFLAGS = "-std=c++11"; + configureFlags = [ + "--with-boost-libdir=${boost.out}/lib" + "--with-boost=${boost.dev}" + ]; + + doCheck = true; + preCheck = '' + substituteInPlace test-scripts/check-live-pcap.sh \ + --replace "/usr/sbin/tcpdump" "${tcpdump}/bin/tcpdump" + ''; + + meta = with stdenv.lib; { + description = "Tools to capture DNS traffic and record it in C-DNS files"; + homepage = http://dns-stats.org/; + license = [ licenses.boost licenses.mpl20 licenses.openssl ]; + maintainers = with maintainers; [ fdns ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d38c6481662..3513b266bb8f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1009,6 +1009,8 @@ with pkgs; colpack = callPackage ../applications/science/math/colpack { }; + compactor = callPackage ../applications/networking/compactor { }; + consul = callPackage ../servers/consul { }; consul-ui = callPackage ../servers/consul/ui.nix { };