diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-08-25 16:53:05 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-08-25 16:53:05 +0000 |
commit | b0849305d63df6cc0acfe199cec3a997ad3c5a75 (patch) | |
tree | 6ff64291dec94a85c6e523a3f78da127a7daa1dd /pkgs/applications/networking/browsers/chromium | |
parent | c901f337b8fed63ba0bb53674950ce4c7bf94dcd (diff) | |
parent | 7e07d142e78656c5f16b18d81ee4eb9444c9b93d (diff) | |
download | nixpkgs-b0849305d63df6cc0acfe199cec3a997ad3c5a75.tar nixpkgs-b0849305d63df6cc0acfe199cec3a997ad3c5a75.tar.gz nixpkgs-b0849305d63df6cc0acfe199cec3a997ad3c5a75.tar.bz2 nixpkgs-b0849305d63df6cc0acfe199cec3a997ad3c5a75.tar.lz nixpkgs-b0849305d63df6cc0acfe199cec3a997ad3c5a75.tar.xz nixpkgs-b0849305d63df6cc0acfe199cec3a997ad3c5a75.tar.zst nixpkgs-b0849305d63df6cc0acfe199cec3a997ad3c5a75.zip |
Merge remote-tracking branch 'nixpkgs/master' into master
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium')
6 files changed, 57 insertions, 45 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index 7c0609730c2..51e3fb032f2 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -90,5 +90,6 @@ mkChromiumDerivation (base: rec { platforms = platforms.linux; hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else []; timeout = 172800; # 48 hours + broken = channel == "dev"; # Requires LLVM 11 }; }) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index fdb8584f08e..e538fb66bf9 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -4,7 +4,7 @@ , bzip2, flac, speex, libopus , libevent, expat, libjpeg, snappy , libpng, libcap -, xdg_utils, yasm, minizip, libwebp +, xdg_utils, yasm, nasm, minizip, libwebp , libusb1, pciutils, nss, re2, zlib , python2Packages, perl, pkgconfig @@ -13,10 +13,12 @@ , bison, gperf , glib, gtk3, dbus-glib , glibc +, xorg , libXScrnSaver, libXcursor, libXtst, libGLU, libGL , protobuf, speechd, libXdamage, cups -, ffmpeg, libxslt, libxml2, at-spi2-core +, ffmpeg_3, libxslt, libxml2, at-spi2-core , jre +, pipewire_0_2 # optional dependencies , libgcrypt ? null # gnomeSupport || cupsSupport @@ -72,7 +74,7 @@ let in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); gnSystemLibraries = [ - "flac" "libwebp" "libxslt" "yasm" "opus" "snappy" "libpng" + "flac" "libwebp" "libxslt" "opus" "snappy" "libpng" # "zlib" # version 77 reports unresolved dependency on //third_party/zlib:zlib_config # "libjpeg" # fails with multiple undefined references to chromium_jpeg_* # "re2" # fails with linker errors @@ -89,9 +91,10 @@ let bzip2 flac speex opusWithCustomModes libevent expat libjpeg snappy libpng libcap - xdg_utils yasm minizip libwebp + xdg_utils minizip libwebp libusb1 re2 zlib - ffmpeg libxslt libxml2 + ffmpeg_3 libxslt libxml2 + nasm # harfbuzz # in versions over 63 harfbuzz and freetype are being built together # so we can't build with one from system and other from source ]; @@ -121,8 +124,9 @@ let nativeBuildInputs = [ ninja which python2Packages.python perl pkgconfig python2Packages.ply python2Packages.jinja2 nodejs - gnutar - ] ++ optional (versionAtLeast version "83") python2Packages.setuptools; + gnutar python2Packages.setuptools + (xorg.xcbproto.override { python = python2Packages.python; }) + ]; buildInputs = defaultDependencies ++ [ nspr nss systemd @@ -132,6 +136,7 @@ let libXScrnSaver libXcursor libXtst libGLU libGL pciutils protobuf speechd libXdamage at-spi2-core jre + pipewire_0_2 ] ++ optional useVaapi libva ++ optional gnomeKeyringSupport libgnome-keyring3 ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] @@ -154,13 +159,10 @@ let # # ++ optionals (channel == "dev") [ ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) ] # ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) - ] ++ optionals (useVaapi) ([ # Fixes for the VA-API build: + ] ++ optionals (useVaapi) [ # Improvements for the VA-API build: ./patches/enable-vdpau-support-for-nvidia.patch # https://aur.archlinux.org/cgit/aur.git/tree/vdpau-support.patch?h=chromium-vaapi ./patches/enable-video-acceleration-on-linux.patch # Can be controlled at runtime (i.e. without rebuilding Chromium) - ] ++ optionals (versionRange "81" "82") [ - (githubPatch "5b2ff215473e0526b5b24aeff4ad90d369b21c75" "0n00vh8wfpn2ay5fqsxcsx0zadnv7mihm72bcvnrfzh75nzbg902") - (githubPatch "98e343ab369e4262511b5fce547728e3e5eefba8" "00wwp653jk0k0yvix00vr7ymgck9dj7fxjwx4nc67ynn84dh6064") - ]); + ]; postPatch = '' # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX @@ -180,6 +182,11 @@ let '/usr/share/locale/' \ '${glibc}/share/locale/' + substituteInPlace ui/gfx/x/BUILD.gn \ + --replace \ + '/usr/share/xcb' \ + '${xorg.xcbproto}/share/xcb/' + sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg_utils}/bin/xdg-@' \ chrome/browser/shell_integration_linux.cc @@ -228,7 +235,6 @@ let ''; gnFlags = mkGnFlags ({ - linux_use_bundled_binutils = false; use_lld = false; use_gold = true; gold_path = "${stdenv.cc}/bin"; @@ -246,6 +252,8 @@ let # added later in the wrapped -wv build or downloaded from Google. enable_widevine = true; use_cups = cupsSupport; + # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture. + rtc_use_pipewire = true; treat_warnings_as_errors = false; is_clang = stdenv.cc.isClang; 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 diff --git a/pkgs/applications/networking/browsers/chromium/patches/enable-vdpau-support-for-nvidia.patch b/pkgs/applications/networking/browsers/chromium/patches/enable-vdpau-support-for-nvidia.patch index b5372d1a255..8d879de7bfd 100644 --- a/pkgs/applications/networking/browsers/chromium/patches/enable-vdpau-support-for-nvidia.patch +++ b/pkgs/applications/networking/browsers/chromium/patches/enable-vdpau-support-for-nvidia.patch @@ -31,15 +31,6 @@ // TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT // |output_mode_| as well. if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) -@@ -1105,7 +1113,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { - // depends on the bitstream and sometimes it's not enough to cover the amount - // of frames needed by the client pipeline (see b/133733739). - // TODO(crbug.com/911754): Enable for VP9 Profile 2. -- if (IsGeminiLakeOrLater() && -+ if (false && IsGeminiLakeOrLater() && - (profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY)) { - // Add one to the reference frames for the one being currently egressed, and - // an extra allocation for both |client_| and |decoder_|, see --- a/media/gpu/vaapi/vaapi_video_decode_accelerator.h +++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.h @@ -204,6 +204,7 @@ class MEDIA_GPU_EXPORT VaapiVideoDecodeAccelerator diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index 1dd9baa628a..239a6282a67 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -4,7 +4,6 @@ , nspr , nss , fetchzip -, patchelfUnstable , enablePepperFlash ? false , upstream-info @@ -45,11 +44,11 @@ let flash = stdenv.mkDerivation rec { pname = "flashplayer-ppapi"; - version = "32.0.0.363"; + version = "32.0.0.414"; src = fetchzip { url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; - sha256 = "0znk8an892mykgbz56hyv3gz65vc9mhb3vn96c6bsvicwl1fn460"; + sha256 = "0wzf5i6qf5wgjm905kd3qh97rj47fybl9g7z72vasilbx8q5wfwk"; stripRoot = false; }; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index defb58822a0..14e9f306bf9 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { beta = { - sha256 = "0z9p4v5mkinf7hbdagh4bz6ymqjxg3df3wjpvm201ilzzngmjqz1"; - sha256bin64 = "1srvlirhnynh0q2a17p8z13p7r54z0cchh1d1h07hqljnwmsf8qj"; - version = "83.0.4103.34"; + sha256 = "0i7vd0w1swvxw46wiy1xrni02xa7yvccw4cp9v2dc2lm5r43dw5q"; + sha256bin64 = "0by3fgmd54zj5q5znazrl3vf42ik3rhirwy5815i7isqiq7bb6lq"; + version = "85.0.4183.69"; }; dev = { - sha256 = "178fc112bsbrgj2hss78y8rhnz8hl85fr33gawk9fz88zk5qz7xd"; - sha256bin64 = "06qra245l2bbgxc3k04aabkgq1qnzybnrjhrjb25vriv31ji36b1"; - version = "84.0.4128.3"; + sha256 = "1yasmx3alal3gygyjvvjk799z0b6p6nm7q10m0qyls2mpfvxpcyw"; + sha256bin64 = "0lp93z9qwdbjblmj0d514plk44hs0yqw1v7vr5mnrrx6l9gm0yg0"; + version = "86.0.4229.0"; }; stable = { - sha256 = "19kpzmqmld0m0nflx13w9flxfal19msnxhzl3lip1jqih65z4y7l"; - sha256bin64 = "0sl4wv7npc3rhi7jgn679hi7j5ykzwpx5dahy78h87yfg4fx84wx"; - version = "81.0.4044.138"; + sha256 = "1n4n95gllqmsrzxmcp9p4gz95gndq2v3vknfvm8p1qfhjqah0hfx"; + sha256bin64 = "1ak903wm8zq6pri88md2wdij3izr6kz9d4avyqnpmd68ch16vfnj"; + version = "84.0.4147.135"; }; } |