chromiumDev: Fix the build

python.withPackages avoids the problem with mixed Python 2 and Python 3
dependencies.
wip/little-gl
Michael Weiss 3 years ago
parent 6751553404
commit e2adee6827
No known key found for this signature in database
GPG Key ID: 5BE487C4D4771D83
  1. 30
      pkgs/applications/networking/browsers/chromium/common.nix

@ -7,7 +7,7 @@
, xdg-utils, yasm, nasm, minizip, libwebp , xdg-utils, yasm, nasm, minizip, libwebp
, libusb1, pciutils, nss, re2 , libusb1, pciutils, nss, re2
, python2Packages, python3Packages, perl, pkg-config , python2, python3, perl, pkg-config
, nspr, systemd, libkrb5 , nspr, systemd, libkrb5
, util-linux, alsaLib , util-linux, alsaLib
, bison, gperf , bison, gperf
@ -43,16 +43,12 @@ with lib;
let let
jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 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" python2WithPackages = python2.withPackages(ps: with ps; [
# currently doesn't work due to mixed Python 2/3 dependencies: ply jinja2 setuptools
pythonPackages = if chromiumVersionAtLeast "93" ]);
then python3Packages python3WithPackages = python3.withPackages(ps: with ps; [
else python2Packages; ply jinja2 setuptools
forcePython3Patch = (githubPatch ]);
# Reland #8 of "Force Python 3 to be used in build."":
"a2d3c362802d9e6b62f895fcda75a3695b77b1b8"
"1r9spr2wmjk9x9l3m1gzn6692mlvbxdz0r5hlr5rfwiwr900rxi2"
);
# The additional attributes for creating derivations based on the chromium # The additional attributes for creating derivations based on the chromium
# source tree. # source tree.
@ -138,10 +134,12 @@ let
}; };
nativeBuildInputs = [ nativeBuildInputs = [
ninja pkg-config
python2WithPackages perl nodejs
gnutar which
llvmPackages.lldClang.bintools llvmPackages.lldClang.bintools
ninja which pythonPackages.python perl pkg-config ] ++ lib.optionals (chromiumVersionAtLeast "92") [
pythonPackages.ply pythonPackages.jinja2 nodejs python3WithPackages
gnutar pythonPackages.setuptools
]; ];
buildInputs = defaultDependencies ++ [ buildInputs = defaultDependencies ++ [
@ -174,8 +172,6 @@ let
postPatch = lib.optionalString (chromiumVersionAtLeast "91") '' postPatch = lib.optionalString (chromiumVersionAtLeast "91") ''
# Required for patchShebangs (unsupported): # Required for patchShebangs (unsupported):
chmod -x third_party/webgpu-cts/src/tools/deno chmod -x third_party/webgpu-cts/src/tools/deno
'' + optionalString (chromiumVersionAtLeast "92") ''
patch -p1 --reverse < ${forcePython3Patch}
'' + '' '' + ''
# remove unused third-party # remove unused third-party
for lib in ${toString gnSystemLibraries}; do for lib in ${toString gnSystemLibraries}; do
@ -313,7 +309,7 @@ let
# This is to ensure expansion of $out. # This is to ensure expansion of $out.
libExecPath="${libExecPath}" 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 ${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
# Fail if `gn gen` contains a WARNING. # Fail if `gn gen` contains a WARNING.

Loading…
Cancel
Save