This fixes:
--------------------------------------------------------------------------------
configuring
ERROR at //ui/gtk/BUILD.gn:17:1: Assertion failed.
assert(use_gio, "GIO is required for building with GTK")
^-----
GIO is required for building with GTK
See //content/shell/BUILD.gn:308:15: which caused the file to be included.
deps += [ "//ui/gtk" ]
^---------
--------------------------------------------------------------------------------
But there's still another build issue(s) left:
--------------------------------------------------------------------------------
[25491/48383] ACTION //components/url_formatter/spoof_checks/top_domains:generate_top_domain_list_variables_file(//build/toolchain/linux/unbundle:default)d_tmp/browser_command.mojom-webui.jsab_page_third_party.mojom-webui.js
FAILED: gen/components/url_formatter/spoof_checks/top_domains/top500-domains-inc.cc
python3 ../../build/gn_run_binary.py make_top_domain_list_variables ../../components/url_formatter/spoof_checks/top_domains/domains.list top500_domains gen/components/url_formatter/spoof_checks/top_domains/top500-domains-inc.cc
make_top_domain_list_variables failed with exit code -4
ninja: build stopped: subcommand failed.
--------------------------------------------------------------------------------
This will be required to prevent crashes on Wayland compositors that
support version 4 of the wl_output protocol (available since Wayland
1.20.0). This should affect any compositor that is based on wlroots
0.15.0 and soon more. Upstream will hopefully backport those patches
soon (if not we could also apply them to M97 - only two trivial
changes are necessary to apply the first patch).
More information:
- Chromium bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=1279574
- wlroots bug report: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3344
Those functions can be required anywhere in the Nix expressions for
Chromium and therefore they should be defined in default.nix and
inherited where necessary.
This fixes the chromiumBeta build which failed because I forgot to
update the channel conditional when the beta channel advanced to M94.
This is exactly why the version based conditionals should be used
everywhere.
This should make it a little bit easier to read. The (native) build
inputs and options now have a consistent order, defaultDependencies and
yasm aren't required anymore, and this adds some brief comments.
Note: The third_party/node/linux/node-linux-x64/bin/node change causes
rebuilds.
Note: I've only tested this with llvmPackages_git but it should work
with llvmPackages_13 as well.
fieldtrial_testing_like_official_build was renamed to
disable_fieldtrial_testing_config:
486e9d58c0
This doesn't cause any rebuilds because we use a set but should make it
a bit easier to understand what's going on. This also moves two flags
that where incorrectly in "optionalAttrs pulseSupport" (enabled by
default) out of there.
The native client deprecation is stated here:
https://developer.chrome.com/docs/native-client/
Our system FFmpeg version is too outdated and Snappy causes a linking
failure (I didn't have time to investigate yet). Hopefully we can revert
this before the stable release of M93.
The recent glibc update (acdcb85) broke the text rendering, see #131074.
This will hopefully work for ungoogled-chromium as well (at least the
patch applies).
Thanks: Lily Foster <lily@lily.flowers>
The final linking still fails though, even with llvm-git.
We might have to diable use_thin_lto for now:
ld.lld: error: undefined symbol: snappy::Compress(char const*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)
>>> referenced by compression_module.cc
>>> thinlto-cache/Thin-ed5ed5.tmp.o:(reporting::CompressionModule::CompressRecord(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, absl::optional<reporting::CompressionInformation>)>) const)
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
See https://bugs.chromium.org/p/chromium/issues/detail?id=1215229.
Before this the build failed with this error:
[101/47617] ACTION //build/util:chromium_git_revision(//build/toolchain/linux/unbundle:default)oaded_data.pbchain/linux/unbundle:default)
FAILED: gen/build/util/chromium_git_revision.h
python3 ../../build/util/lastchange.py --header gen/build/util/chromium_git_revision.h --revision-id-only --revision-id-prefix @ -m\ CHROMIUM_GIT_REVISION
ERROR:root:Failed to get git top directory from '/build/chromium-93.0.4542.2/build/util': Git command 'git git rev-parse --show-toplevel' in /build/chromium-93.0.4542.2/build/util failed: [Errno 2] No such file or directory: 'git'
This will begin the process of breaking up the `useLLVM` monolith. That
is good in general, but I hope will be good for NetBSD and Darwin in
particular.
Co-authored-by: sterni <sternenseemann@systemli.org>