```
[1467/49932] ACTION //gpu/config:process_json(//build/toolchain/linux:clang_x64)
FAILED: gen/gpu/config/gpu_driver_bug_list_arrays_and_structs_autogen.h gen/gpu/config/gpu_driver_bug_list_autogen.cc gen/gpu/config/gpu_driver_bug_list_autogen.h gen/gpu/config/gpu_driver_bug_list_exceptions_autogen.h gen/gpu/config/software_rendering_list_arrays_and_structs_autogen.h gen/gpu/config/software_rendering_list_autogen.cc gen/gpu/config/software_rendering_list_autogen.h gen/gpu/config/software_rendering_list_exceptions_autogen.h
/usr/bin/python3 ../../gpu/config/process_json.py --output-dir gen/gpu/config --skip-testing-data --os-filter linux
Traceback (most recent call last):
File "../../gpu/config/process_json.py", line 1066, in <module>
sys.exit(main(sys.argv[1:]))
File "../../gpu/config/process_json.py", line 1041, in main
script_dir, options.output_dir, options.os_filter)
File "../../gpu/config/process_json.py", line 930, in process_software_rendering_list
'Software')
File "../../gpu/config/process_json.py", line 837, in process_json_file
json_data = json.load(json_file)
File "/usr/lib64/python3.5/json/__init__.py", line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib64/python3.5/json/__init__.py", line 312, in loads
s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'
```
- build internal ffmpeg to avoid dependency on system one (we have dropped restricted in rosa2021.1 and have merged it into main and contrib)
- clean up build dependencies a bit (more clean up is required)
- remove not used if-else and patches
- drop patches for VA-API, upstream has VA-API support now, it is enabled, it is enough, I am fed up with different patches here
- drop patch for scripts generating installtion packages which are not used by us
- rename master_prefenrecnes to master_prefenrences.json to make "abf put" not upload it to filestore.
- cherry-pick upstream fixes for statx() in new glibc
- switch to internal libsecret backend instead of the no more maintained gnome-keyring
https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1828192
libsecret should handle passwords previously saved via gnome-keyring
- use system fontconfig and freetype (maybe it will help to make fonts better, maybe not, but there is no sense in using bundled ones), use system libdrm
- remove odd metadata in new platforms
- enable Vulkan (RB#11463), keleg@ noted disabled Vulkan in chrome://gpu despite hardware supporting it
https://bugzilla.rosalinux.ru/show_bug.cgi?id=11463
- disable Control Flow Integrity (is_cfi) to avoid depending on too new clang, CFI amkes no sense for us
- install crashpad_handler (chromium tries to execve() it)
```
DEBUG: In file included from ../../base/files/file_path_watcher_linux.cc:5:
DEBUG: In file included from ../../base/files/file_path_watcher.h:14:
DEBUG: In file included from ../../base/callback.h:14:
DEBUG: In file included from ../../base/bind.h:13:
DEBUG: In file included from ../../base/bind_internal.h:17:
DEBUG: In file included from ../../base/callback_internal.h:13:
DEBUG: In file included from ../../base/memory/ref_counted.h:14:
DEBUG: In file included from ../../base/check_op.h:11:
DEBUG: ../../base/check.h:88:3: error: 'nomerge' attribute cannot be applied to a declaration
DEBUG: NOMERGE ~CheckError();
DEBUG: ^ ~
DEBUG: ../../base/compiler_specific.h:337:19: note: expanded from macro 'NOMERGE'
DEBUG: #define NOMERGE [[clang::nomerge]]
DEBUG: ^
DEBUG: 1 error generated.
```
I am fed up in updating those patches to newer releases of Chromium,
they seem to be not really useful and, if I remember correctly, they made some regressions.
Dropping them.
It was:
Версия 89.0.4389.90 (Официальная сборка), rosa 2019.1 (64 бит)
It wil be:
Версия 89.0.4389.90 (Официальная сборка), ROSA 2019.1, RPM %%EVRD (64 бит)
converted lowercase rosa to uppercase ROSA, added RPM package version
- first build of v89
- replaced custom BUILD.gn with a patch of source code; we may just miss that custom BUILD.gn has stopped working, but we will explicitly detect the moment when applying patch fails (custom BUILD.gn may be restored later if it makes sense to reduce maintenance burden)
- dropped build-with-pipewire-0.3.patch, upstream now supports both pipewire 0.2 and 0.3
- took updated chromium-40-sorenson-spark.patch and chromium-55-extra-media.patch from Mageia (I want to remove these patches actually)
- dropped some patches with not needed compiler-related changes
- spec clean up:
+ removed not used for a long time support of building with GCC (Chromium upstream has tight integration with clang, I don't think that we will ever need buildability with GCC, for now it may be broken and just makes the spec more complex)
+ removed switches of libpng and vaapi without changing their values to redcue complexity of the spec
- removed not used VA-API patch, replaced with VA-API enhacements from ppa:saiarcot895/chromium-beta, including support of VA-API VDPAU backend on Nvidia proprietary drivers
Commit d9f0d84840 ("Build with llvm11") removed "-stdlib=libc++".
Building of the gn utility which is used to build Chromium (and is not packaged) requires a newer libstdc++ than the one in rosa2016.1.
Fix building it by using libstdc++-gcc10. This is a better solution than the one removed by that commit because compiler flags will not influence the build of Chromium itlsef.
llvm11 (https://abf.io/import/llvm11) is a separately packaged LLVM 11 + Clang 11.
It is easier to use it than update system clang+llvm in stable platforms which causes lots of problems and regressions.
Reduced amount of compiler-related patches.
TODO: drop chromium-compiler-r4.patch ?
Renamed "netive_clang" to "bundled_llvm" for clearity, it is not clear to me that "native" means "bundled binary blob/source".
(still not buildable on aarch64)
+ some clean up of odd conditions
+ python-beautifulsoup4 dropped python2 in rosa2019.1,
but build scripts of Chromium work only with python 2,
bundled python 2 modules must be used