summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh')
-rw-r--r--pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh b/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh
new file mode 100644
index 00000000000..430aba8cdc7
--- /dev/null
+++ b/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh
@@ -0,0 +1,20 @@
+fixupOutputHooks+=('signDarwinBinariesIn $prefix')
+
+# Uses signingUtils, see definition of autoSignDarwinBinariesHook in
+# darwin-packages.nix
+
+signDarwinBinariesIn() {
+  local dir="$1"
+
+  if [ ! -d "$dir" ]; then
+    return 0
+  fi
+
+  if [ "${darwinDontCodeSign:-}" ]; then
+    return 0
+  fi
+
+  while IFS= read -r -d $'\0' f; do
+    signIfRequired "$f"
+  done < <(find "$dir" -type f -print0)
+}