diff --git a/pkgs/default.nix b/pkgs/default.nix index 2f3a583..3d5d59f 100644 --- 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 new file mode 100644 index 0000000..df204bb --- /dev/null +++ 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 new file mode 100644 index 0000000..d712721 --- /dev/null +++ b/pkgs/devout/devout.fnl @@ -0,0 +1,2 @@ + +{ } diff --git a/pkgs/devout/test.fnl b/pkgs/devout/test.fnl new file mode 100644 index 0000000..a3c6280 --- /dev/null +++ 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")