···11+#! @shell@ -e
22+33+fixupHooks=()
44+55+if [ -e @out@/nix-support/setup-hooks.sh ]; then
66+ source @out@/nix-support/setup-hooks.sh
77+fi
88+99+# References to remove
1010+targets=()
1111+while getopts t: o; do
1212+ case "$o" in
1313+ t) storeId=$(echo "$OPTARG" | sed -n "s|^@storeDir@/\\([a-z0-9]\{32\}\\)-.*|\1|p")
1414+ if [ -z "$storeId" ]; then
1515+ echo "-t argument must be a Nix store path"
1616+ exit 1
1717+ fi
1818+ targets+=("$storeId")
1919+ esac
2020+done
2121+shift $(($OPTIND-1))
2222+2323+# Files to remove the references from
2424+regions=()
2525+for i in "$@"; do
2626+ test ! -L "$i" -a -f "$i" && regions+=("$i")
2727+done
2828+2929+for target in "${targets[@]}" ; do
3030+ sed -i -e "s|@storeDir@/$target-|@storeDir@/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" "${regions[@]}"
3131+done
3232+3333+for region in "${regions[@]}"; do
3434+ for hook in "${fixupHooks[@]}"; do
3535+ eval "$hook" "$i"
3636+ done
3737+done