diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium/default.nix')
-rw-r--r-- | pkgs/applications/networking/browsers/chromium/default.nix | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 25ef76f331b..2429baba4b3 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,8 +1,9 @@ { newScope, config, stdenv, llvmPackages_9, llvmPackages_10 -, makeWrapper, ed +, makeWrapper, ed, gnugrep, coreutils , glib, gtk3, gnome3, gsettings-desktop-schemas, gn, fetchgit , libva ? null -, gcc, nspr, nss, patchelfUnstable, runCommand +, pipewire_0_2 +, gcc, nspr, nss, runCommand , lib # package customization @@ -22,9 +23,7 @@ }: let - llvmPackages = if channel != "stable" - then llvmPackages_10 - else llvmPackages_9; + llvmPackages = llvmPackages_10; stdenv = llvmPackages.stdenv; callPackage = newScope chromium; @@ -36,8 +35,6 @@ let mkChromiumDerivation = callPackage ./common.nix ({ inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useOzone; - gnChromium = gn; - } // lib.optionalAttrs (channel != "stable") { # TODO: Remove after we can update gn for the stable channel (backward incompatible changes): gnChromium = gn.overrideAttrs (oldAttrs: { version = "2020-03-23"; @@ -47,6 +44,24 @@ let sha256 = "00y2d35wvqmx9glaqhfb62wdgbfpwr77v0934nnvh9ks71vnsjqy"; }; }); + } // lib.optionalAttrs (channel == "beta") { + gnChromium = gn.overrideAttrs (oldAttrs: { + version = "2020-05-19"; + src = fetchgit { + url = "https://gn.googlesource.com/gn"; + rev = "d0a6f072070988e7b038496c4e7d6c562b649732"; + sha256 = "0197msabskgfbxvhzq73gc3wlr3n9cr4bzrhy5z5irbvy05lxk17"; + }; + }); + } // lib.optionalAttrs (channel == "dev") { + gnChromium = gn.overrideAttrs (oldAttrs: { + version = "2020-07-20"; + src = fetchgit { + url = "https://gn.googlesource.com/gn"; + rev = "3028c6a426a4aaf6da91c4ebafe716ae370225fe"; + sha256 = "0h3wf4152zdvrbb0jbj49q6814lfl3rcy5mj8b2pl9s0ahvkbc6q"; + }; + }); }); browser = callPackage ./browser.nix { inherit channel enableWideVine; }; @@ -63,8 +78,6 @@ let # The .deb file for Google Chrome src = upstream-info.binary; - nativeBuildInputs = [ patchelfUnstable ]; - phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ]; unpackCmd = let @@ -156,7 +169,7 @@ in stdenv.mkDerivation { buildCommand = let browserBinary = "${chromiumWV}/libexec/chromium/chromium"; getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")"; - libPath = stdenv.lib.makeLibraryPath [ libva ]; + libPath = stdenv.lib.makeLibraryPath [ libva pipewire_0_2 ]; in with stdenv.lib; '' mkdir -p "$out/bin" @@ -183,7 +196,7 @@ in stdenv.mkDerivation { '' + '' # libredirect causes chromium to deadlock on startup - export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')" + export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | ${coreutils}/bin/tr ':' '\n' | ${gnugrep}/bin/grep -v /lib/libredirect\\\\.so$ | ${coreutils}/bin/tr '\n' ':')" export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS |