1#! @shell@
2# shellcheck shell=bash
3
4set -eu -o pipefail +o posix
5shopt -s nullglob
6
7if (( "${NIX_DEBUG:-0}" >= 7 )); then
8 set -x
9fi
10
11source @signingUtils@
12
13extraAfter=()
14extraBefore=()
15params=("$@")
16
17input=
18
19pprev=
20prev=
21for p in \
22 ${extraBefore+"${extraBefore[@]}"} \
23 ${params+"${params[@]}"} \
24 ${extraAfter+"${extraAfter[@]}"}
25do
26 if [ "$pprev" != "-change" ] && [[ "$prev" != -* ]] && [[ "$p" != -* ]]; then
27 input="$p"
28 fi
29 pprev="$prev"
30 prev="$p"
31done
32
33# Optionally print debug info.
34if (( "${NIX_DEBUG:-0}" >= 1 )); then
35 # Old bash workaround, see above.
36 echo "extra flags before to @prog@:" >&2
37 printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2
38 echo "original flags to @prog@:" >&2
39 printf " %q\n" ${params+"${params[@]}"} >&2
40 echo "extra flags after to @prog@:" >&2
41 printf " %q\n" ${extraAfter+"${extraAfter[@]}"} >&2
42fi
43
44@prog@ \
45 ${extraBefore+"${extraBefore[@]}"} \
46 ${params+"${params[@]}"} \
47 ${extraAfter+"${extraAfter[@]}"}
48
49sign "$input"