commit 349bfecbb8f4469308ec2db74fe93dfd8eff5937
parent 450d3820b22627dd9ffc4582d0f461c80055ef73
Author: Daniel Barlow <dan@telent.net>
Date: Sat, 20 Apr 2024 17:45:40 +0100
new package "devout", does nothing yet
Diffstat:
4 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/pkgs/default.nix b/pkgs/default.nix
@@ -56,6 +56,7 @@ in {
# please keep the rest of this list alphabetised :-)
anoia = callPackage ./anoia {};
+ devout = callPackage ./devout {};
fennel = callPackage ./fennel {};
fennelrepl = callPackage ./fennelrepl {};
firewallgen = callPackage ./firewallgen {};
diff --git a/pkgs/devout/default.nix b/pkgs/devout/default.nix
@@ -0,0 +1,25 @@
+{
+ lua
+, nellie
+, writeFennel
+, anoia
+, fennel
+, stdenv
+, fennelrepl
+}:
+stdenv.mkDerivation {
+ name = "devout";
+ src = ./.;
+ checkInputs = [ fennelrepl ];
+ installPhase = ''
+ mkdir -p $out/bin
+ cp -p ${writeFennel "devout" {
+ packages = [fennel anoia nellie lua.pkgs.luafilesystem];
+ mainFunction = "run";
+ } ./devout.fnl} $out/bin/devout
+ '';
+ checkPhase = ''
+ fennelrepl ./test.fnl
+ '';
+ doCheck = true;
+}
diff --git a/pkgs/devout/devout.fnl b/pkgs/devout/devout.fnl
@@ -0,0 +1,2 @@
+
+{ }
diff --git a/pkgs/devout/test.fnl b/pkgs/devout/test.fnl
@@ -0,0 +1,20 @@
+(import-macros { : expect= } :anoia.assert)
+
+
+(fn database []
+ {
+ :find (fn [terms] [])
+ })
+
+
+(macro example [description & body]
+ `(do ,body))
+
+(example
+ "given an empty database, search for some criteria matches no entries"
+ (let [db (database)]
+ (expect= (db:find {:partname "boot"}) [])))
+
+
+
+(print "OK")