Merge pull request #36375 from volth/commandLineArgs-escaping

chromium, google-chrome: fix escaping of commandLineArgs

authored by Michael Raskin and committed by GitHub da97c73f 9d937e3f

+8 -11
+1 -1
pkgs/applications/networking/browsers/chromium/default.nix
··· 90 90 mkdir -p "$out/bin" 91 91 92 92 eval makeWrapper "${browserBinary}" "$out/bin/chromium" \ 93 - ${commandLineArgs} \ 93 + --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \ 94 94 ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled} 95 95 96 96 ed -v -s "$out/bin/chromium" << EOF
+7 -10
pkgs/applications/networking/browsers/google-chrome/default.nix
··· 1 - { stdenv, fetchurl, patchelf, bash 1 + { stdenv, fetchurl, patchelf, makeWrapper 2 2 3 3 # Linked dynamic libraries. 4 4 , glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr ··· 72 72 src = chromium.upstream-info.binary; 73 73 74 74 buildInputs = [ 75 - patchelf 75 + patchelf makeWrapper 76 76 77 77 # needed for GSETTINGS_SCHEMAS_PATH 78 78 gsettings-desktop-schemas glib gtk ··· 120 120 mv "$icon_file" "$logo_output_path/google-$appname.png" 121 121 done 122 122 123 - cat > $exe << EOF 124 - #!${bash}/bin/sh 125 - export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} 126 - export PATH=$binpath\''${PATH:+:\$PATH} 127 - export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS 128 - $out/share/google/$appname/google-$appname ${commandLineArgs} "\$@" 129 - EOF 130 - chmod +x $exe 123 + makeWrapper "$out/share/google/$appname/google-$appname" "$exe" \ 124 + --prefix LD_LIBRARY_PATH : "$rpath" \ 125 + --prefix PATH : "$binpath" \ 126 + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ 127 + --add-flags ${escapeShellArg commandLineArgs} 131 128 132 129 for elf in $out/share/google/$appname/{chrome,chrome-sandbox,nacl_helper}; do 133 130 patchelf --set-rpath $rpath $elf