about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh
blob: 6a254cd821236a15990864259d5aa5ccf56d0d97 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
postFixupHooks+=(signDarwinBinariesInAllOutputs)

# 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

  echo "signing $dir"

  while IFS= read -r -d $'\0' f; do
    signIfRequired "$f"
  done < <(find "$dir" -type f -print0)
}

# Apply fixup to each output.
signDarwinBinariesInAllOutputs() {
  local output

  for output in $(getAllOutputNames); do
     signDarwinBinariesIn "${!output}"
  done
}