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/development/tools/cbor-diag/Gemfile b/pkgs/development/tools/cbor-diag/Gemfile new file mode 100644 index 000000000000..798e507460eb --- /dev/null +++ b/pkgs/development/tools/cbor-diag/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'cbor-diag' diff --git a/pkgs/development/tools/cbor-diag/Gemfile.lock b/pkgs/development/tools/cbor-diag/Gemfile.lock new file mode 100644 index 000000000000..0d129765aa4a --- /dev/null +++ b/pkgs/development/tools/cbor-diag/Gemfile.lock @@ -0,0 +1,19 @@ +GEM + remote: https://rubygems.org/ + specs: + cbor-diag (0.5.2) + json + treetop (~> 1) + json (2.1.0) + polyglot (0.3.5) + treetop (1.6.10) + polyglot (~> 0.3) + +PLATFORMS + ruby + +DEPENDENCIES + cbor-diag + +BUNDLED WITH + 1.14.6 diff --git a/pkgs/development/tools/cbor-diag/default.nix b/pkgs/development/tools/cbor-diag/default.nix new file mode 100644 index 000000000000..049d9f38c0c1 --- /dev/null +++ b/pkgs/development/tools/cbor-diag/default.nix @@ -0,0 +1,30 @@ +{ lib, bundlerApp, ruby }: + +bundlerApp { + pname = "cbor-diag"; + + inherit ruby; + gemdir = ./.; + + exes = [ + "cbor2diag.rb" + "cbor2json.rb" + "cbor2pretty.rb" + "cbor2yaml.rb" + "diag2cbor.rb" + "diag2pretty.rb" + "json2cbor.rb" + "json2pretty.rb" + "pretty2cbor.rb" + "pretty2diag.rb" + "yaml2cbor.rb" + ]; + + meta = with lib; { + description = "CBOR diagnostic utilities"; + homepage = https://github.com/cabo/cbor-diag; + license = with licenses; asl20; + maintainers = with maintainers; [ fdns ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/tools/cbor-diag/gemset.nix b/pkgs/development/tools/cbor-diag/gemset.nix new file mode 100644 index 000000000000..2de0e9a647a7 --- /dev/null +++ b/pkgs/development/tools/cbor-diag/gemset.nix @@ -0,0 +1,36 @@ +{ + cbor-diag = { + dependencies = ["json" "treetop"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1"; + type = "gem"; + }; + version = "0.5.2"; + }; + json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + type = "gem"; + }; + version = "2.1.0"; + }; + polyglot = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; + type = "gem"; + }; + version = "0.3.5"; + }; + treetop = { + dependencies = ["polyglot"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7"; + type = "gem"; + }; + version = "1.6.10"; + }; +} \ No newline at end of file diff --git a/pkgs/development/tools/cddl/Gemfile b/pkgs/development/tools/cddl/Gemfile new file mode 100644 index 000000000000..2ba729084f1a --- /dev/null +++ b/pkgs/development/tools/cddl/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'cddl' diff --git a/pkgs/development/tools/cddl/Gemfile.lock b/pkgs/development/tools/cddl/Gemfile.lock new file mode 100644 index 000000000000..65701dd45bf8 --- /dev/null +++ b/pkgs/development/tools/cddl/Gemfile.lock @@ -0,0 +1,28 @@ +GEM + remote: https://rubygems.org/ + specs: + abnc (0.1.0) + cbor-diag (0.5.2) + json + treetop (~> 1) + cddl (0.8.5) + abnc + cbor-diag + colorize + json + regexp-examples + colorize (0.8.1) + json (2.1.0) + polyglot (0.3.5) + regexp-examples (1.4.2) + treetop (1.6.10) + polyglot (~> 0.3) + +PLATFORMS + ruby + +DEPENDENCIES + cddl + +BUNDLED WITH + 1.14.6 diff --git a/pkgs/development/tools/cddl/default.nix b/pkgs/development/tools/cddl/default.nix new file mode 100644 index 000000000000..37ad593d7964 --- /dev/null +++ b/pkgs/development/tools/cddl/default.nix @@ -0,0 +1,17 @@ +{ lib, bundlerApp, ruby }: + +bundlerApp { + pname = "cddl"; + + inherit ruby; + gemdir = ./.; + exes = [ "cddl" ]; + + meta = with lib; { + description = "A parser, generator, and validator for CDDL"; + homepage = https://rubygems.org/gems/cddl; + license = with licenses; mit; + maintainers = with maintainers; [ fdns ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/tools/cddl/gemset.nix b/pkgs/development/tools/cddl/gemset.nix new file mode 100644 index 000000000000..92aa41995051 --- /dev/null +++ b/pkgs/development/tools/cddl/gemset.nix @@ -0,0 +1,69 @@ +{ + abnc = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13nvzrk72nj130fs8bq8q3cfm48939rdzh7l31ncj5c4969hrbig"; + type = "gem"; + }; + version = "0.1.0"; + }; + cbor-diag = { + dependencies = ["json" "treetop"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1"; + type = "gem"; + }; + version = "0.5.2"; + }; + cddl = { + dependencies = ["abnc" "cbor-diag" "colorize" "json" "regexp-examples"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pg91wrby0qgrdnf089ddy5yy2jalxd3bb9dljj16cpwv4gjx047"; + type = "gem"; + }; + version = "0.8.5"; + }; + colorize = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b"; + type = "gem"; + }; + version = "0.8.1"; + }; + json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + type = "gem"; + }; + version = "2.1.0"; + }; + polyglot = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; + type = "gem"; + }; + version = "0.3.5"; + }; + regexp-examples = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "104f0j0h2x5ijly7kyaj7zz0md65r2c03cpbi5cngm0hs2sr1qkz"; + type = "gem"; + }; + version = "1.4.2"; + }; + treetop = { + dependencies = ["polyglot"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7"; + type = "gem"; + }; + version = "1.6.10"; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 33a9b2bf23b8..43c81fb1be70 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -975,8 +975,12 @@ with pkgs; image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { }; + cbor-diag = callPackage ../development/tools/cbor-diag { }; + ccnet = callPackage ../tools/networking/ccnet { }; + cddl = callPackage ../development/tools/cddl { }; + cfdyndns = callPackage ../applications/networking/dyndns/cfdyndns { }; ckbcomp = callPackage ../tools/X11/ckbcomp { }; @@ -1003,6 +1007,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 { };