aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix38
1 files changed, 23 insertions, 15 deletions
diff --git a/nixpkgs/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix b/nixpkgs/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix
index 25ee5462b29..f9a2693f243 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix
@@ -1,10 +1,10 @@
-{ stdenv, llvmPackages, gnChromium, ninja, which, nodejs, fetchpatch, gnutar
+{ stdenv, lib, llvmPackages, gnChromium, ninja, which, nodejs, fetchpatch, gnutar
# default dependencies
, 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
@@ -74,7 +76,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
@@ -91,9 +93,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
];
@@ -128,8 +131,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
@@ -139,6 +143,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 ]
@@ -161,13 +166,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
@@ -187,10 +189,15 @@ 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
- sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${systemd.lib}/lib/\1!' \
+ sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
device/udev_linux/udev?_loader.cc
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
@@ -239,7 +246,6 @@ let
'';
gnFlags = mkGnFlags ({
- linux_use_bundled_binutils = false;
use_lld = false;
use_gold = true;
gold_path = "${stdenv.cc}/bin";
@@ -257,6 +263,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;