mirror of
https://github.com/servo/servo.git
synced 2025-06-02 15:25:31 +00:00
Fix mach argument quoting on NixOS (#35573)
This patch makes mach shell-quote its arguments when rerunning itself with `nix-shell`, so that spaces and other special characters are handled correctly. Signed-off-by: Delan Azabani <dazabani@igalia.com>
This commit is contained in:
parent
9c8a47e993
commit
14db055d46
1 changed files with 8 additions and 0 deletions
8
mach
8
mach
|
@ -15,6 +15,14 @@
|
|||
run_in_nix_if_needed() {
|
||||
if { [ -f /etc/NIXOS ] || [ -n "${MACH_USE_NIX}" ]; } && [ -z "${IN_NIX_SHELL}" ]; then
|
||||
EXTRA_NIX_ARGS=${SERVO_ANDROID_BUILD:+'--arg buildAndroid true'}
|
||||
|
||||
# `nix-shell` needs the whole command passed as a single argument, so the arguments need
|
||||
# to be shell-quoted. Rotate through the arguments, replacing them with quoted versions.
|
||||
for arg in "$@"; do
|
||||
set -- "$@" "$(printf \%q "$1")"
|
||||
shift
|
||||
done
|
||||
|
||||
echo "NOTE: Entering nix-shell ${MACH_DIR}/shell.nix"
|
||||
exec nix-shell "${MACH_DIR}/shell.nix" $EXTRA_NIX_ARGS --run "$*"
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue