summaryrefslogtreecommitdiff
path: root/pkgs/applications/networking/browsers/chromium/common.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium/common.nix')
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix42
1 files changed, 19 insertions, 23 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index a6cc7e4f6554..023f44942cd4 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -7,7 +7,7 @@
, xdg-utils, yasm, nasm, minizip, libwebp
, libusb1, pciutils, nss, re2
-, python2Packages, python3Packages, perl, pkg-config
+, python2, python3, perl, pkg-config
, nspr, systemd, libkrb5
, util-linux, alsaLib
, bison, gperf
@@ -20,12 +20,13 @@
, pipewire
, libva
, libdrm, wayland, mesa, libxkbcommon # Ozone
+, curl
# optional dependencies
, libgcrypt ? null # gnomeSupport || cupsSupport
# package customization
-, gnomeSupport ? false, gnome ? null
+, gnomeSupport ? false, gnome2 ? null
, gnomeKeyringSupport ? false, libgnome-keyring3 ? null
, proprietaryCodecs ? true
, cupsSupport ? true
@@ -42,16 +43,12 @@ with lib;
let
jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
- # TODO: Python 3 support is incomplete and "python3 ../../build/util/python2_action.py"
- # currently doesn't work due to mixed Python 2/3 dependencies:
- pythonPackages = if chromiumVersionAtLeast "93"
- then python3Packages
- else python2Packages;
- forcePython3Patch = (githubPatch
- # Reland #8 of "Force Python 3 to be used in build."":
- "a2d3c362802d9e6b62f895fcda75a3695b77b1b8"
- "1r9spr2wmjk9x9l3m1gzn6692mlvbxdz0r5hlr5rfwiwr900rxi2"
- );
+ python2WithPackages = python2.withPackages(ps: with ps; [
+ ply jinja2 setuptools
+ ]);
+ python3WithPackages = python3.withPackages(ps: with ps; [
+ ply jinja2 setuptools
+ ]);
# The additional attributes for creating derivations based on the chromium
# source tree.
@@ -112,10 +109,8 @@ let
warnObsoleteVersionConditional = min-version: result:
let ungoogled-version = (importJSON ./upstream-info.json).ungoogled-chromium.version;
- in if versionAtLeast ungoogled-version min-version
- then warn "chromium: ungoogled version ${ungoogled-version} is newer than a conditional bounded at ${min-version}. You can safely delete it."
- result
- else result;
+ in warnIf (versionAtLeast ungoogled-version min-version) "chromium: ungoogled version ${ungoogled-version} is newer than a conditional bounded at ${min-version}. You can safely delete it."
+ result;
chromiumVersionAtLeast = min-version:
let result = versionAtLeast upstream-info.version min-version;
in warnObsoleteVersionConditional min-version result;
@@ -139,10 +134,12 @@ let
};
nativeBuildInputs = [
+ ninja pkg-config
+ python2WithPackages perl nodejs
+ gnutar which
llvmPackages.lldClang.bintools
- ninja which pythonPackages.python perl pkg-config
- pythonPackages.ply pythonPackages.jinja2 nodejs
- gnutar pythonPackages.setuptools
+ ] ++ lib.optionals (chromiumVersionAtLeast "92") [
+ python3WithPackages
];
buildInputs = defaultDependencies ++ [
@@ -157,8 +154,9 @@ let
pipewire
libva
libdrm wayland mesa.drivers libxkbcommon
+ curl
] ++ optional gnomeKeyringSupport libgnome-keyring3
- ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
+ ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
++ optionals cupsSupport [ libgcrypt cups ]
++ optional pulseSupport libpulseaudio;
@@ -174,8 +172,6 @@ let
postPatch = lib.optionalString (chromiumVersionAtLeast "91") ''
# Required for patchShebangs (unsupported):
chmod -x third_party/webgpu-cts/src/tools/deno
- '' + optionalString (chromiumVersionAtLeast "92") ''
- patch -p1 --reverse < ${forcePython3Patch}
'' + ''
# remove unused third-party
for lib in ${toString gnSystemLibraries}; do
@@ -313,7 +309,7 @@ let
# This is to ensure expansion of $out.
libExecPath="${libExecPath}"
- python build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
+ ${python2}/bin/python2 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
# Fail if `gn gen` contains a WARNING.