From 459b1088c15aff52028a3b67c0fdeb7e5d2777fd Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Sun, 22 Jan 2023 14:59:29 +0000 Subject: [PATCH] first failing test --- default.nix | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ rover.fnl | 9 +++++++++ shell.nix | 10 ++++++++++ 3 files changed, 68 insertions(+) create mode 100644 default.nix create mode 100644 rover.fnl create mode 100644 shell.nix diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..d597611 --- /dev/null +++ b/default.nix @@ -0,0 +1,49 @@ +{ stdenv +, callPackage +, fennel +, fetchFromGitHub +, fetchurl +, lib +, lua53Packages +, lua5_3 +}: +let pname = "rover"; + lume = let lua = lua5_3; in lua53Packages.buildLuaPackage rec { + pname = "lume"; + version = "1"; + src = fetchFromGitHub { + repo = "lume"; owner = "rxi"; + rev = "98847e7812cf28d3d64b289b03fad71dc704547d"; + hash = "sha256-/u23EqgjjkU8FV9oXvMNXBkY8JAOJUhJAzXTSibJthU="; + }; + buildPhase = ":"; + installPhase = '' + mkdir -p "$out/share/lua/${lua.luaversion}" + cp lume.lua "$out/share/lua/${lua.luaversion}" + ''; + }; + + lua = lua5_3.withPackages (ps: with ps; [ + lgi + luafilesystem + luaposix + readline + lume + ]); + fennel_ = lua.pkgs.fennel; +in stdenv.mkDerivation rec { + inherit pname; + fennel = fennel_; + + version = "0.1"; + src = lib.sources.cleanSource ./.; + + buildInputs = [ + lua + fennel + ]; + nativeBuildInputs = [ + lua + ]; + +} diff --git a/rover.fnl b/rover.fnl new file mode 100644 index 0000000..acd1579 --- /dev/null +++ b/rover.fnl @@ -0,0 +1,9 @@ +(local { : view } (require :fennel)) + +(fn rover [x y direction] + {}) + +(let [r (rover 0 0 :n)] + (match r + {:x 0 :y 0 :direction :n} true + _ (assert false (view r)))) diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..ab930ca --- /dev/null +++ b/shell.nix @@ -0,0 +1,10 @@ +with import {} ; +let p = callPackage ./. {}; +in p.overrideAttrs(o: { + nativeBuildInputs = o.nativeBuildInputs ++ (with pkgs; [ + socat + overmind + entr + ]); + JUST_HACKING = 1; +})