From f709a74fa331b30b0bfce73eefef646a030a49c2 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 25 Oct 2022 20:54:15 +0200 Subject: [PATCH] chromium{Beta,Dev}: Fix the configuration phase Setting `clang_base_path` [0] does skip [1] a clang version check [2] that would fail in our case: ``` configuring ERROR at //build/config/compiler/BUILD.gn:1314:22: Script returned non-zero exit code. clang_revision = exec_script("//tools/clang/scripts/update.py", ^---------- Current dir: /tmp/nix-build-chromium-unwrapped-107.0.5304.29.drv-0/chromium-107.0.5304.29/out/Release/ Command: python3 /tmp/nix-build-chromium-unwrapped-107.0.5304.29.drv-0/chromium-107.0.5304.29/tools/clang/scripts/update.py --print-revision --verify-version=16.0.0 Returned 1 and printed out: The expected clang version is llvmorg-16-init-4609-g025a5b22-2 but the actual version is Did you run "gclient sync"? See //build/config/BUILDCONFIG.gn:329:3: which caused the file to be included. "//build/config/compiler:afdo", ^----------------------------- error: builder for '/nix/store/02riyhzvrgn2vaab29d3gipxzkx6nb44-chromium-unwrapped-107.0.5304.29.drv' failed with exit code 1 ``` I also chose to disable the Qt support for now. The Qt support is enabled by default on Linux [3] but we need to add the required dependencies first to fix the build (and my current priority is to get a basic build working for the security critical stable channel update): ``` configuring ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code. pkgresult = exec_script(pkg_config_script, args, "value") ^---------- Current dir: /tmp/nix-build-chromium-unwrapped-107.0.5304.62.drv-0/chromium-107.0.5304.62/out/Release/ Command: python3 /tmp/nix-build-chromium-unwrapped-107.0.5304.62.drv-0/chromium-107.0.5304.62/build/config/linux/pkg-config.py Qt5Core Qt5Widgets Returned 1. stderr: Package Qt5Core was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5Core.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5Core' found Package Qt5Widgets was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5Widgets.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5Widgets' found Could not run pkg-config. See //ui/qt/BUILD.gn:13:1: whence it was called. pkg_config("qt5_config") { ^------------------------- See //ui/linux/BUILD.gn:54:15: which caused the file to be included. deps += [ "//ui/qt" ] ^-------- error: builder for '/nix/store/3zzddkh74cnhvq6nql32y9pnbvzf2jv9-chromium-unwrapped-107.0.5304.62.drv' failed with exit code 1 ``` [0]: https://source.chromium.org/chromium/chromium/src/+/refs/tags/107.0.5304.62:docs/clang.md [1]: https://source.chromium.org/chromium/chromium/src/+/refs/tags/107.0.5304.62:build/config/compiler/BUILD.gn;l=1306 [2]: https://source.chromium.org/chromium/chromium/src/+/refs/tags/107.0.5304.62:tools/clang/scripts/update.py;l=358 [3]: https://source.chromium.org/chromium/chromium/src/+/refs/tags/107.0.5304.62:ui/qt/qt.gni;l=8 --- pkgs/applications/networking/browsers/chromium/common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index afee9cf4f61b..862fc4132756 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -293,6 +293,9 @@ let rtc_use_pipewire = true; # Disable PGO because the profile data requires a newer compiler version (LLVM 14 isn't sufficient): chrome_pgo_phase = 0; + } // optionalAttrs (chromiumVersionAtLeast "107") { + clang_base_path = "${llvmPackages.clang}"; + use_qt = false; } // optionalAttrs proprietaryCodecs { # enable support for the H.264 codec proprietary_codecs = true;