about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/ocaml-modules/dns
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules/dns')
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/certify.nix33
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/cli.nix48
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/default.nix1
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/mirage.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/resolver.nix32
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/server.nix34
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/stub.nix33
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dns/tsig.nix22
8 files changed, 221 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/certify.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/certify.nix
new file mode 100644
index 000000000000..1835114d707c
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/certify.nix
@@ -0,0 +1,33 @@
+{ buildDunePackage, dns, dns-tsig, dns-mirage, randomconv, x509
+, mirage-random, mirage-time, mirage-clock, mirage-stack
+, logs, mirage-crypto-pk, mirage-crypto-rng, tls, lwt
+}:
+
+buildDunePackage {
+  pname = "dns-certify";
+
+  inherit (dns) version src useDune2 minimumOCamlVersion;
+
+  propagatedBuildInputs = [
+    dns
+    dns-tsig
+    dns-mirage
+    randomconv
+    x509
+    mirage-random
+    mirage-time
+    mirage-clock
+    mirage-stack
+    logs
+    mirage-crypto-pk
+    mirage-crypto-rng
+    tls
+    lwt
+  ];
+
+  doCheck = true;
+
+  meta = dns.meta // {
+    description = "MirageOS let's encrypt certificate retrieval";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/cli.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/cli.nix
new file mode 100644
index 000000000000..6e149180642d
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/cli.nix
@@ -0,0 +1,48 @@
+{ buildDunePackage, dns, dns-tsig, dns-client, dns-server, dns-certify
+, rresult, bos, cmdliner, fpath, x509, mirage-crypto, mirage-crypto-pk
+, mirage-crypto-rng, hex, ptime, mtime, logs, fmt, ipaddr, lwt
+, randomconv, alcotest
+}:
+
+buildDunePackage {
+  pname = "dns-cli";
+
+  minimumOCamlVersion = "4.08";
+
+  inherit (dns) version src useDune2;
+
+  # no need to propagate as this is primarily
+  # an executable package
+  buildInputs = [
+    dns
+    dns-tsig
+    dns-client
+    dns-server
+    dns-certify
+    rresult
+    bos
+    cmdliner
+    fpath
+    x509
+    mirage-crypto
+    mirage-crypto-pk
+    mirage-crypto-rng
+    hex
+    ptime
+    mtime
+    logs
+    fmt
+    ipaddr
+    lwt
+    randomconv
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    alcotest
+  ];
+
+  meta = dns.meta // {
+    description = "Unix command line utilities using uDNS";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/default.nix
index 09753c14b35d..21d9d02da4b8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/dns/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/default.nix
@@ -6,6 +6,7 @@ buildDunePackage rec {
   pname = "dns";
   version = "4.6.2";
 
+  useDune2 = true;
   minimumOCamlVersion = "4.07";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/mirage.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/mirage.nix
new file mode 100644
index 000000000000..4a45abba68e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/mirage.nix
@@ -0,0 +1,18 @@
+{ buildDunePackage, dns, mirage-stack, ipaddr, lwt }:
+
+buildDunePackage {
+  pname = "dns-mirage";
+
+  inherit (dns) version src useDune2 minimumOCamlVersion;
+
+  propagatedBuildInputs = [
+    dns
+    mirage-stack
+    ipaddr
+    lwt
+  ];
+
+  meta = dns.meta // {
+    description = "An opinionated Domain Name System (DNS) library";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/resolver.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/resolver.nix
new file mode 100644
index 000000000000..121ecb588d02
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/resolver.nix
@@ -0,0 +1,32 @@
+{ buildDunePackage, dns, dns-server, dns-mirage, lru, duration
+, randomconv, lwt, mirage-time, mirage-clock, mirage-random
+, alcotest
+}:
+
+buildDunePackage {
+  pname = "dns-resolver";
+
+  inherit (dns) version src useDune2 minimumOCamlVersion;
+
+  propagatedBuildInputs = [
+    dns
+    dns-server
+    dns-mirage
+    lru
+    duration
+    randomconv
+    lwt
+    mirage-time
+    mirage-clock
+    mirage-random
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    alcotest
+  ];
+
+  meta = dns.meta // {
+    description = "DNS resolver business logic";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/server.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/server.nix
new file mode 100644
index 000000000000..1dc001f5f808
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/server.nix
@@ -0,0 +1,34 @@
+{ buildDunePackage, dns, dns-mirage, randomconv, duration, lwt
+, mirage-time, mirage-clock, mirage-stack, metrics
+, alcotest, mirage-crypto-rng, dns-tsig, base64
+}:
+
+buildDunePackage {
+  pname = "dns-server";
+
+  inherit (dns) version src useDune2 minimumOCamlVersion;
+
+  propagatedBuildInputs = [
+    dns
+    dns-mirage
+    randomconv
+    duration
+    lwt
+    mirage-time
+    mirage-clock
+    mirage-stack
+    metrics
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    alcotest
+    mirage-crypto-rng
+    dns-tsig
+    base64
+  ];
+
+  meta = dns.meta // {
+    description = "DNS server, primary and secondary";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/stub.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/stub.nix
new file mode 100644
index 000000000000..dfe623f1c500
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/stub.nix
@@ -0,0 +1,33 @@
+{ buildDunePackage, dns, dns-client, dns-mirage, dns-resolver, dns-tsig
+, dns-server, duration, randomconv, lwt, mirage-time, mirage-clock
+, mirage-random, mirage-stack, metrics
+}:
+
+buildDunePackage {
+  pname = "dns-stub";
+
+  inherit (dns) version src useDune2 minimumOCamlVersion;
+
+  propagatedBuildInputs = [
+    dns
+    dns-client
+    dns-mirage
+    dns-resolver
+    dns-tsig
+    dns-server
+    duration
+    randomconv
+    lwt
+    mirage-time
+    mirage-clock
+    mirage-random
+    mirage-stack
+    metrics
+  ];
+
+  doCheck = true;
+
+  meta = dns.meta // {
+    description = "DNS stub resolver";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dns/tsig.nix b/nixpkgs/pkgs/development/ocaml-modules/dns/tsig.nix
new file mode 100644
index 000000000000..11786a21e0dc
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dns/tsig.nix
@@ -0,0 +1,22 @@
+{ buildDunePackage, dns, mirage-crypto, base64, alcotest }:
+
+buildDunePackage {
+  pname = "dns-tsig";
+
+  inherit (dns) version src useDune2 minimumOCamlVersion;
+
+  propagatedBuildInputs = [
+    mirage-crypto
+    dns
+    base64
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    alcotest
+  ];
+
+  meta = dns.meta // {
+    description = "TSIG support for DNS";
+  };
+}