diff options
author | obadz <obadz-git@obadz.com> | 2016-08-19 19:18:14 +0100 |
---|---|---|
committer | obadz <obadz-git@obadz.com> | 2016-08-19 19:18:23 +0100 |
commit | 4574f22841d23a12fc135af74f198c4313002f4a (patch) | |
tree | e5e360dab437154de4520617fb29996a29f71927 /pkgs/applications/networking/browsers/chromium | |
parent | b0e11652f4b21759471a133a5a2a6ab2517e3837 (diff) | |
download | nixlib-4574f22841d23a12fc135af74f198c4313002f4a.tar nixlib-4574f22841d23a12fc135af74f198c4313002f4a.tar.gz nixlib-4574f22841d23a12fc135af74f198c4313002f4a.tar.bz2 nixlib-4574f22841d23a12fc135af74f198c4313002f4a.tar.lz nixlib-4574f22841d23a12fc135af74f198c4313002f4a.tar.xz nixlib-4574f22841d23a12fc135af74f198c4313002f4a.tar.zst nixlib-4574f22841d23a12fc135af74f198c4313002f4a.zip |
chromium: remove one layer of wrapper by using ed
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium')
-rw-r--r-- | pkgs/applications/networking/browsers/chromium/default.nix | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index f2c37d9e9737..e55a599267a0 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,4 +1,4 @@ -{ newScope, stdenv, makeWrapper, makeDesktopItem, writeScript +{ newScope, stdenv, makeWrapper, makeDesktopItem, ed # package customization , channel ? "stable" @@ -66,38 +66,36 @@ let in stdenv.mkDerivation { name = "chromium${suffix}-${chromium.browser.version}"; - buildInputs = [ makeWrapper ]; + buildInputs = [ makeWrapper ed ]; outputs = ["out" "sandbox"]; buildCommand = let browserBinary = "${chromium.browser}/libexec/chromium/chromium"; getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")"; - launchScript = writeScript "chromium" '' - #! ${stdenv.shell} - - if [ -x "/var/setuid-wrappers/${sandboxExecutableName}" ] - then - export CHROME_DEVEL_SANDBOX="/var/setuid-wrappers/${sandboxExecutableName}" - else - export CHROME_DEVEL_SANDBOX="@sandbox@/bin/${sandboxExecutableName}" - fi - - # libredirect causes chromium to deadlock on startup - export LD_PRELOAD="$(echo -n "$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\.so$ | tr '\n' ':')" - - exec @out@/bin/.chromium-wrapped "''${extraFlagsArray[@]}" "$@" - ''; in with stdenv.lib; '' mkdir -p "$out/bin" "$out/share/applications" ln -s "${chromium.browser}/share" "$out/share" - eval makeWrapper "${browserBinary}" "$out/bin/.chromium-wrapped" \ + eval makeWrapper "${browserBinary}" "$out/bin/chromium" \ ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled} - cp -v "${launchScript}" "$out/bin/chromium" - substituteInPlace $out/bin/chromium --subst-var out --subst-var sandbox - chmod 755 "$out/bin/chromium" + ed -v -s "$out/bin/chromium" << EOF + 2i + + if [ -x "/var/setuid-wrappers/${sandboxExecutableName}" ] + then + export CHROME_DEVEL_SANDBOX="/var/setuid-wrappers/${sandboxExecutableName}" + else + export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}" + fi + + # libredirect causes chromium to deadlock on startup + export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')" + + . + w + EOF ln -sv "${chromium.browser.sandbox}" "$sandbox" |