diff --git a/.gitmodules b/.gitmodules index 984153e..a2bc113 100644 --- a/.gitmodules +++ b/.gitmodules @@ -208,3 +208,6 @@ [submodule "nimble/nimble"] path = nimble/nimble url = https://github.com/nim-lang/nimble.git +[submodule "hottext"] + path = hottext + url = https://git.sr.ht/~ehmry/hottext diff --git a/Tuprules.tup b/Tuprules.tup index d6f21c8..7029f5b 100644 --- a/Tuprules.tup +++ b/Tuprules.tup @@ -13,7 +13,7 @@ NIM_FLAGS = --noNimblePath !nim = | $(NIM_GROUPS) |> ^o nim compile %f^ $(DIRENV) $(NIM) compile $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> %B !nim_run = | $(NIM_GROUPS) |> ^o nim run %f^ $(DIRENV) $(NIM) compile $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o -r %f |> %B.run -!nim_bin = | $(NIM_GROUPS) |> ^ nim bin %f^ $(DIRENV) $(NIM) compile $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> $(BIN_DIR)/%B +!nim_bin = | $(NIM_GROUPS) |> ^o nim bin %f^ $(DIRENV) $(NIM) compile $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> $(BIN_DIR)/%B !nim_check = | $(NIM_GROUPS) |> ^ nim doc %f^ $(DIRENV) $(NIM) doc $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> %B.html !symlink = |> ln -s %f %o |> @@ -23,3 +23,9 @@ NIM_FLAGS = --noNimblePath SYNDICATE_CONFIG_DIR = $(TUP_CWD)/config !assert_built = |> ^ ^ echo "" > %o |> $(SYNDICATE_CONFIG_DIR)/built/%b.pr + +!nim_check = | $(NIM_GROUPS) |> ^ nim doc %f^ $(DIRENV) $(NIM) doc $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> %B.html +!nim_lk = | $(BIN_DIR)/ |> ^o nim_lk^ $(BIN_DIR)/nim_lk > %o |> lock.json + +NIXEXPRS_DIR = $(TUP_CWD)/nixexprs +!nim_cfg = |> ^o nix build nim.cfg^ nix build --file $(NIXEXPRS_DIR)/configure.nix --argstr lockPath `pwd`/%f --out-link %o |> nim.cfg diff --git a/hottext b/hottext new file mode 160000 index 0000000..4fd7e9a --- /dev/null +++ b/hottext @@ -0,0 +1 @@ +Subproject commit 4fd7e9a43458c8358e6c81ce3385732d42562168 diff --git a/nixexprs/configure.nix b/nixexprs/configure.nix new file mode 100644 index 0000000..fa79147 --- /dev/null +++ b/nixexprs/configure.nix @@ -0,0 +1,10 @@ +{ pkgs ? import { }, lockPath }: +let inherit (pkgs) lib; +in lib.pipe lockPath [ + builtins.readFile + builtins.fromJSON + (builtins.getAttr "depends") + (map ({ path, srcDir, ... }: ''path:"${path}/${srcDir}"'')) + lib.strings.concatLines + (pkgs.writeText "nim.cfg") +]