about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbin/__dispatch.sh3
l---------bin/depot-build1
-rw-r--r--tools/depot-build.nix8
3 files changed, 12 insertions, 0 deletions
diff --git a/bin/__dispatch.sh b/bin/__dispatch.sh
index 0808e1f634..d8214bccd0 100755
--- a/bin/__dispatch.sh
+++ b/bin/__dispatch.sh
@@ -47,6 +47,9 @@ case "${TARGET_TOOL}" in
   git-bug)
     attr="third_party.git-bug"
     ;;
+  depot-build)
+    attr="tools.depot-build"
+    ;;
   *)
     echo "The tool '${TARGET_TOOL}' is currently not installed in this repository."
     exit 1
diff --git a/bin/depot-build b/bin/depot-build
new file mode 120000
index 0000000000..8390ec9c96
--- /dev/null
+++ b/bin/depot-build
@@ -0,0 +1 @@
+__dispatch.sh
\ No newline at end of file
diff --git a/tools/depot-build.nix b/tools/depot-build.nix
new file mode 100644
index 0000000000..5661d58760
--- /dev/null
+++ b/tools/depot-build.nix
@@ -0,0 +1,8 @@
+# Utility script for building any arbitrary depot path in its folder.
+{ pkgs, ... }:
+
+pkgs.writeShellScriptBin "depot-build" ''
+  TARGET=$(git rev-parse --show-prefix | sed 's|/$||')
+  echo "Building //$TARGET"
+  nix-build -A $(echo $TARGET | sed 's|/|.|') $(${pkgs.git}/bin/git rev-parse --show-toplevel)
+''