about summary refs log tree commit diff
path: root/pkgs/profpatsch/netencode/default.nix
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2020-06-05 23:54:51 +0200
committerProfpatsch <mail@profpatsch.de>2020-06-06 14:14:44 +0200
commit75eb816a6372518b6c047a266089875a358e9517 (patch)
tree6797a1c3ecc5b81cee1e6fac136bd276bdda0b8b /pkgs/profpatsch/netencode/default.nix
parent1b123de4a817a5f5b21def3d01914c97017ce19a (diff)
pkgs/profpatsch: rename encode to netencode
Less generic, has the spirit of “netstrings, but extended to a
structured encoding format”.
Diffstat (limited to 'pkgs/profpatsch/netencode/default.nix')
-rw-r--r--pkgs/profpatsch/netencode/default.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/profpatsch/netencode/default.nix b/pkgs/profpatsch/netencode/default.nix
new file mode 100644
index 00000000..31c6fb8d
--- /dev/null
+++ b/pkgs/profpatsch/netencode/default.nix
@@ -0,0 +1,42 @@
+{ pkgs, writeRustSimpleLib }:
+
+let
+  version-check = pkgs.buildRustCrate {
+    pname = "version-check";
+    version = "0.9.2";
+    crateName = "version-check";
+    sha256 = "1vwvc1mzwv8ana9jv8z933p2xzgj1533qwwl5zr8mi89azyhq21v";
+  };
+  memchr = pkgs.buildRustCrate {
+    pname = "memchr";
+    version = "2.3.3";
+    crateName = "memchr";
+    sha256 = "1ivxvlswglk6wd46gadkbbsknr94gwryk6y21v64ja7x4icrpihw";
+  };
+  nom = pkgs.buildRustCrate {
+    pname = "nom";
+    version = "5.1.1";
+    crateName = "nom";
+    sha256 = "1gb4r6mjwd645jqh02nhn60i7qkw8cgy3xq1r4clnmvz3cmkv1l0";
+    dependencies = [ memchr ];
+    buildDependencies = [ version-check ];
+    features = [ "std" "alloc" ];
+  };
+
+  netencode-rs-common = tests: writeRustSimpleLib "encode" {
+    dependencies = [ nom ];
+    buildTests = tests;
+    release = false;
+    verbose = true;
+  } ./netencode.rs ;
+
+  netencode-rs-tests = netencode-rs-common true;
+
+  netencode-rs = netencode-rs-common false;
+
+in {
+  inherit
+   netencode-rs
+   netencode-rs-tests
+   ;
+}