forked from tribes/guix
10ea4f874e
Fixes various CVEs, too many to list.
* gnu/packages/chromium.scm (%preserved-third-party-files): Add
base/third_party/nspr,
buildtools/third_party/libc++,
buildtools/third_party/libc++abi,
third_party/catapult/third_party/beautifulsoup4-4.9.3,
third_party/catapult/third_party/html5lib-1.1,
third_party/catapult/third_party/typ,
third_party/dawn/third_party/renderdoc,
third_party/dawn/third_party/webgpu-headers,
third_party/devscripts,
third_party/devtools-frontend/src/front_end/third_party/csp_evaluator,
third_party/devtools-frontend/src/front_end/third_party/legacy-javascript,
third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec,
third_party/federated_compute/chromium/fcp/confidentialcompute,
third_party/freetype,
third_party/fxdiv,
third_party/hyphenation-patterns,
third_party/icu,
third_party/libc++,
third_party/libpfm4,
third_party/libpng,
third_party/libx11,
third_party/libxcb-keysyms,
third_party/llvm-libc,
third_party/neon_2_sse,
third_party/opus,
third_party/pdfium/third_party/lcms,
third_party/pdfium/third_party/libopenjpeg,
third_party/perfetto/protos/third_party/pprof,
third_party/perfetto/protos/third_party/primes,
third_party/perfetto/protos/third_party/simpleperf,
third_party/pyyaml,
third_party/sentencepiece,
third_party/sentencepiece/src/third_party/darts_clone,
third_party/six and
third_party/skia/include/third_party/vulkan.
Remove:
net/third_party/nss,
third_party/compiler-rt/src/lib,
third_party/libaom/source/libaom/third_party/SVT-AV1,
third_party/skia/third_party/vulkanmemoryallocator and
third_party/webrtc/rtc_base/third_party/sigslot.
(%chromium-version): Update to 147.0.7727.55.
(%ungoogled-origin, %debian-origin): Update hashes.
(%debian-patches): Add debianization/safe-libcxx.patch,
disable/enterprise-tests.patch,
disable/rustc-allow-features.patch,
fixes/bytemuck.patch,
fixes/libpng-testonly.patch,
llvm-19/clang19.patch (move from bookwork),
llvm-19/clone-traits.patch,
llvm-19/keyfactory.patch,
llvm-19/value-or.patch,
llvm-22/ignore-for-ubsan.patch,
trixie/cookie-string-view.patch and
trixie/nodejs-main.patch.
Remove trixie/rust-no-alloc-shim.patch.
(%guix-patches): Add ungoogled-chromium-custom-compiler.patch and
ungoogled-chromium-empty-parsed-rustc-args.patch. Remove
ungoogled-chromium-unbundle-icu-target.patch which was merged upstream.
(ungoogled-chromium-snippet): Remove icu from replace_gn_files args. Our
icu does not have ucmndata.h, umapfile.h and putilimp.h which are required
to build now.
(ungoogled-chromium) [arguments] <#:configure-flags>: Add is_component_build,
webnn_use_tflite, fatal_linker_warnings, enable_perfetto_unittests,
skia_enable_skshapper_tests, tint_build_unittests, enable_nocompile_tests,
enable_screen_ai_browsertests flags and set them to false. Set
use_system_icu to false. Remove enable_glic, enable_js_type_check and
removed_rust_stdlib_libs. The first two were removed and the last one is
not necessary any longer. Add blink_symbol_level and v8_symbol_level and
set them to zero.
[arguments] <#:phases> {patch-stuff}: Remove compiler substitution which
is not needed anymore. Adjust rustfmt_path to guix.
{include-pthreadpool}: New phase.
{adjust-CPLUS_INCLUDE_PATH}: Help clang find gcc's bits/c++config.h.
[inputs]: icu-77 is required now, even though we're not using it this time.
* gnu/packages/patches/ungoogled-chromium-custom-compiler.patch: Add it.
* gnu/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch: Same.
* gnu/packages/patches/ungoogled-chromium-unbundle-icu-target.patch: Remove it.
* gnu/local.mk: (Un)register the above patches.
Change-Id: I597b69b15368e9b410fa3d29342700d9ea0b0d82
Signed-off-by: Andreas Enge <andreas@enge.fr>
47 lines
2.1 KiB
Diff
47 lines
2.1 KiB
Diff
From da37bd781c0371e02ffc4877c3ac1b5f2020c207 Mon Sep 17 00:00:00 2001
|
|
From: Matt Jolly <kangie@gentoo.org>
|
|
Date: Tue, 17 Feb 2026 15:45:01 +1000
|
|
Subject: [PATCH] Handle case where `parsed_rustc_args.cfg` is empty
|
|
|
|
This may occur when (for example) using the unbundle toolchain
|
|
|
|
Signed-off-by: Matt Jolly <kangie@gentoo.org>
|
|
--- a/third_party/rust/cxx/chromium_integration/run_cxxbridge.py
|
|
+++ b/third_party/rust/cxx/chromium_integration/run_cxxbridge.py
|
|
@@ -44,18 +44,20 @@ def calculate_cxxbridge_args(unrecognized_script_args, rustc_print_cfg_path):
|
|
parser.add_argument("--cfg", action="append"),
|
|
parsed_rustc_args, _other_args = parser.parse_known_args(
|
|
args=unrecognized_script_args[:rustflags_separator])
|
|
- for cfg_arg in parsed_rustc_args.cfg:
|
|
- if "=" not in cfg_arg: # `buildflag_header.gni` only supports bool flags.
|
|
- # TODO(https://crbug.com/436606652): Stop using `_BUILDFLAG_NOT_SET_`
|
|
- # prefix and instead use `--check-cfg` in `run_cxxbridge.py` to
|
|
- # detect buildflag names.
|
|
- FALSE_PREFIX = "_BUILDFLAG_NOT_SET_"
|
|
- if cfg_arg.startswith(FALSE_PREFIX):
|
|
- flagname = cfg_arg[len(FALSE_PREFIX):]
|
|
- cxxbridge_args.append(f"--cfg={flagname}=false")
|
|
- else:
|
|
- flagname = cfg_arg
|
|
- cxxbridge_args.append(f"--cfg={flagname}=true")
|
|
+ # Unbundled toolchain may not have any `--cfg` flags
|
|
+ if parsed_rustc_args.cfg:
|
|
+ for cfg_arg in parsed_rustc_args.cfg:
|
|
+ if "=" not in cfg_arg: # `buildflag_header.gni` only supports bool flags.
|
|
+ # TODO(https://crbug.com/436606652): Stop using `_BUILDFLAG_NOT_SET_`
|
|
+ # prefix and instead use `--check-cfg` in `run_cxxbridge.py` to
|
|
+ # detect buildflag names.
|
|
+ FALSE_PREFIX = "_BUILDFLAG_NOT_SET_"
|
|
+ if cfg_arg.startswith(FALSE_PREFIX):
|
|
+ flagname = cfg_arg[len(FALSE_PREFIX):]
|
|
+ cxxbridge_args.append(f"--cfg={flagname}=false")
|
|
+ else:
|
|
+ flagname = cfg_arg
|
|
+ cxxbridge_args.append(f"--cfg={flagname}=true")
|
|
|
|
with open(rustc_print_cfg_path, 'r') as file:
|
|
for line in file:
|
|
--
|
|
2.52.0
|
|
|