diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium/common.nix')
| -rw-r--r-- | pkgs/applications/networking/browsers/chromium/common.nix | 42 |
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. |
