diff options
| author | André Batista <nandre@riseup.net> | 2026-04-14 11:07:24 -0300 |
|---|---|---|
| committer | Andreas Enge <andreas@enge.fr> | 2026-04-15 13:10:02 +0200 |
| commit | 10ea4f874e5f1ff57df840a60195a073b1b0b898 (patch) | |
| tree | 34450b01f20a23c6981387be9ba20954c2a5688d /gnu | |
| parent | c5280fd612d8ec079ace414fac70878474f732b4 (diff) | |
gnu: ungoogled-chromium: Update to 147.0.7727.55.
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>
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/local.mk | 3 | ||||
| -rw-r--r-- | gnu/packages/chromium.scm | 174 | ||||
| -rw-r--r-- | gnu/packages/patches/ungoogled-chromium-custom-compiler.patch | 299 | ||||
| -rw-r--r-- | gnu/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch | 46 | ||||
| -rw-r--r-- | gnu/packages/patches/ungoogled-chromium-unbundle-icu-target.patch | 21 |
5 files changed, 455 insertions, 88 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 17d4af244bf..c5e5f07ec23 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -2522,10 +2522,11 @@ dist_patch_DATA = \ | |||
| 2522 | %D%/packages/patches/ultrastar-deluxe-no-freesans.patch \ | 2522 | %D%/packages/patches/ultrastar-deluxe-no-freesans.patch \ |
| 2523 | %D%/packages/patches/unity-test-set-subdir-correctly.patch \ | 2523 | %D%/packages/patches/unity-test-set-subdir-correctly.patch \ |
| 2524 | %D%/packages/patches/unity-test-support-int64.patch \ | 2524 | %D%/packages/patches/unity-test-support-int64.patch \ |
| 2525 | %D%/packages/patches/ungoogled-chromium-custom-compiler.patch \ | ||
| 2526 | %D%/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch \ | ||
| 2525 | %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ | 2527 | %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ |
| 2526 | %D%/packages/patches/ungoogled-chromium-RUNPATH.patch \ | 2528 | %D%/packages/patches/ungoogled-chromium-RUNPATH.patch \ |
| 2527 | %D%/packages/patches/ungoogled-chromium-system-nspr.patch \ | 2529 | %D%/packages/patches/ungoogled-chromium-system-nspr.patch \ |
| 2528 | %D%/packages/patches/ungoogled-chromium-unbundle-icu-target.patch \ | ||
| 2529 | %D%/packages/patches/unknown-horizons-python-3.8-distro.patch \ | 2530 | %D%/packages/patches/unknown-horizons-python-3.8-distro.patch \ |
| 2530 | %D%/packages/patches/unknown-horizons-python-3.9.patch \ | 2531 | %D%/packages/patches/unknown-horizons-python-3.9.patch \ |
| 2531 | %D%/packages/patches/unknown-horizons-python-3.10.patch \ | 2532 | %D%/packages/patches/unknown-horizons-python-3.10.patch \ |
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index ee46688d0f3..c6186ff7056 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm | |||
| @@ -79,11 +79,13 @@ | |||
| 79 | '("base/third_party/cityhash" ;Expat | 79 | '("base/third_party/cityhash" ;Expat |
| 80 | "base/third_party/double_conversion" ;BSD-3 | 80 | "base/third_party/double_conversion" ;BSD-3 |
| 81 | "base/third_party/icu" ;Unicode, X11-style | 81 | "base/third_party/icu" ;Unicode, X11-style |
| 82 | "base/third_party/nspr" ;MPL-2.0 | ||
| 82 | "base/third_party/superfasthash" ;BSD-3 | 83 | "base/third_party/superfasthash" ;BSD-3 |
| 83 | "base/third_party/symbolize" ;BSD-3 | 84 | "base/third_party/symbolize" ;BSD-3 |
| 84 | "base/third_party/xdg_user_dirs" ;Expat | 85 | "base/third_party/xdg_user_dirs" ;Expat |
| 86 | "buildtools/third_party/libc++" ;BSD | ||
| 87 | "buildtools/third_party/libc++abi" ;BSD | ||
| 85 | "net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+ | 88 | "net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+ |
| 86 | "net/third_party/nss" ;MPL-2.0 | ||
| 87 | "net/third_party/quiche" ;BSD-3 | 89 | "net/third_party/quiche" ;BSD-3 |
| 88 | "net/third_party/uri_template" ;ASL2.0 | 90 | "net/third_party/uri_template" ;ASL2.0 |
| 89 | "third_party/abseil-cpp" ;ASL2.0 | 91 | "third_party/abseil-cpp" ;ASL2.0 |
| @@ -104,8 +106,11 @@ | |||
| 104 | "third_party/catapult" ;BSD-3 | 106 | "third_party/catapult" ;BSD-3 |
| 105 | "third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0 | 107 | "third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0 |
| 106 | "third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0 | 108 | "third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0 |
| 109 | "third_party/catapult/third_party/beautifulsoup4-4.9.3" ;Expat | ||
| 110 | "third_party/catapult/third_party/html5lib-1.1" ;Expat | ||
| 107 | "third_party/catapult/third_party/polymer" ;BSD-3 | 111 | "third_party/catapult/third_party/polymer" ;BSD-3 |
| 108 | "third_party/catapult/third_party/six" ;Expat | 112 | "third_party/catapult/third_party/six" ;Expat |
| 113 | "third_party/catapult/third_party/typ" ;ASL2.0 | ||
| 109 | ;; XXX: This is a minified version of <https://d3js.org/>. | 114 | ;; XXX: This is a minified version of <https://d3js.org/>. |
| 110 | "third_party/catapult/tracing/third_party/d3" ;BSD-3 | 115 | "third_party/catapult/tracing/third_party/d3" ;BSD-3 |
| 111 | "third_party/catapult/tracing/third_party/gl-matrix" ;Expat | 116 | "third_party/catapult/tracing/third_party/gl-matrix" ;Expat |
| @@ -120,19 +125,12 @@ | |||
| 120 | "third_party/cld_3" ;ASL2.0 | 125 | "third_party/cld_3" ;ASL2.0 |
| 121 | "third_party/closure_compiler" ;ASL2.0 | 126 | "third_party/closure_compiler" ;ASL2.0 |
| 122 | "third_party/compiler-rt" ;ASL2.0 | 127 | "third_party/compiler-rt" ;ASL2.0 |
| 123 | "third_party/compiler-rt/src/lib" ;ASL2.0 | ||
| 124 | "third_party/compiler-rt/src/lib/builtins" ;ASL2.0 | ||
| 125 | "third_party/content_analysis_sdk" ;BSD-3 | 128 | "third_party/content_analysis_sdk" ;BSD-3 |
| 126 | "third_party/cpuinfo" ;BSD-2 | 129 | "third_party/cpuinfo" ;BSD-2 |
| 127 | "third_party/crabbyavif" ;ASL2.0 | 130 | "third_party/crabbyavif" ;ASL2.0 |
| 128 | "third_party/crabbyavif/src/sys/dav1d-sys" ;ASL2.0 | ||
| 129 | "third_party/crabbyavif/src/sys/aom-sys" ;ASL2.0 | ||
| 130 | "third_party/crabbyavif/src/sys/libgav1-sys" ;ASL2.0 | ||
| 131 | "third_party/crabbyavif/src/sys/libyuv-sys" ;ASL2.0 | ||
| 132 | "third_party/crabbyavif/src/sys/ndk-sys" ;ASL2.0 | ||
| 133 | "third_party/crashpad" ;ASL2.0 | 131 | "third_party/crashpad" ;ASL2.0 |
| 134 | "third_party/crashpad/crashpad/third_party/lss" ;ASL2.0 | 132 | "third_party/crashpad/crashpad/third_party/lss" ;ASL2.0 |
| 135 | "third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib | 133 | "third_party/crashpad/crashpad/third_party/zlib" ;Zlib |
| 136 | "third_party/crc32c" ;BSD-3 | 134 | "third_party/crc32c" ;BSD-3 |
| 137 | "third_party/cros_system_api" ;BSD-3 | 135 | "third_party/cros_system_api" ;BSD-3 |
| 138 | "third_party/dav1d" ;BSD-2 | 136 | "third_party/dav1d" ;BSD-2 |
| @@ -140,19 +138,25 @@ | |||
| 140 | ;; TODO: can likely be unbundled when Vulkan is updated. | 138 | ;; TODO: can likely be unbundled when Vulkan is updated. |
| 141 | "third_party/dawn/third_party/khronos" ;ASL2.0 | 139 | "third_party/dawn/third_party/khronos" ;ASL2.0 |
| 142 | "third_party/dawn/third_party/gn/webgpu-cts" ;BSD-3 | 140 | "third_party/dawn/third_party/gn/webgpu-cts" ;BSD-3 |
| 141 | "third_party/dawn/third_party/renderdoc" ;Expat | ||
| 142 | "third_party/dawn/third_party/webgpu-headers" ;BSD-3 | ||
| 143 | "third_party/depot_tools" ;BSD-3 | ||
| 144 | "third_party/devscripts" ;GPL2.0 | ||
| 143 | "third_party/devtools-frontend" ;BSD-3 | 145 | "third_party/devtools-frontend" ;BSD-3 |
| 144 | "third_party/devtools-frontend/src/front_end" | 146 | "third_party/devtools-frontend/src/front_end" |
| 145 | "third_party/devtools-frontend/src/front_end/third_party" | 147 | "third_party/devtools-frontend/src/front_end/third_party" |
| 146 | "third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat | 148 | "third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat |
| 147 | "third_party/devtools-frontend/src/front_end/third_party\ | 149 | "third_party/devtools-frontend/src/front_end/third_party\ |
| 148 | /additional_readme_paths.json" ;no explicit license; trivial | 150 | /additional_readme_paths.json" ;no explicit license; trivial |
| 149 | "third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat | ||
| 150 | "third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0 | 151 | "third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0 |
| 151 | "third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3 | 152 | "third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3 |
| 152 | "third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat | 153 | "third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat |
| 154 | "third_party/devtools-frontend/src/front_end/third_party/csp_evaluator" ;BSD-3 | ||
| 153 | "third_party/devtools-frontend/src/front_end/third_party/diff" ;ASL2.0 | 155 | "third_party/devtools-frontend/src/front_end/third_party/diff" ;ASL2.0 |
| 154 | "third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0 | 156 | "third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0 |
| 155 | "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3 | 157 | "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3 |
| 158 | "third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat | ||
| 159 | "third_party/devtools-frontend/src/front_end/third_party/legacy-javascript" ;ASL-2.0 | ||
| 156 | "third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0 | 160 | "third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0 |
| 157 | "third_party/devtools-frontend/src/front_end/third_party/lit" ;BSD-3 | 161 | "third_party/devtools-frontend/src/front_end/third_party/lit" ;BSD-3 |
| 158 | "third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3 | 162 | "third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3 |
| @@ -164,10 +168,12 @@ | |||
| 164 | "third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/parsel" ; Expat | 168 | "third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/parsel" ; Expat |
| 165 | "third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/rxjs" ; ASL2.0 | 169 | "third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/rxjs" ; ASL2.0 |
| 166 | "third_party/devtools-frontend/src/front_end/third_party/puppeteer-replay" ;ASL2.0 | 170 | "third_party/devtools-frontend/src/front_end/third_party/puppeteer-replay" ;ASL2.0 |
| 171 | "third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec" ;BSD-3 | ||
| 167 | "third_party/devtools-frontend/src/front_end/third_party\ | 172 | "third_party/devtools-frontend/src/front_end/third_party\ |
| 168 | /vscode.web-custom-data" ;Expat | 173 | /vscode.web-custom-data" ;Expat |
| 169 | "third_party/devtools-frontend/src/front_end/third_party/third-party-web" ;Expat | 174 | "third_party/devtools-frontend/src/front_end/third_party/third-party-web" ;Expat |
| 170 | "third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0 | 175 | "third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0 |
| 176 | "third_party/devtools-frontend/src/front_end/third_party/web-vitals" ;Expat | ||
| 171 | "third_party/devtools-frontend/src/third_party/i18n" ;ASL2.0 | 177 | "third_party/devtools-frontend/src/third_party/i18n" ;ASL2.0 |
| 172 | "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 | 178 | "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 |
| 173 | 179 | ||
| @@ -179,6 +185,7 @@ | |||
| 179 | "third_party/farmhash" ;Expat | 185 | "third_party/farmhash" ;Expat |
| 180 | "third_party/fast_float" ;ASL2.0, Boost1.0, Expat | 186 | "third_party/fast_float" ;ASL2.0, Boost1.0, Expat |
| 181 | "third_party/fdlibm" ;non-copyleft | 187 | "third_party/fdlibm" ;non-copyleft |
| 188 | "third_party/federated_compute/chromium/fcp/confidentialcompute" ;ASL2.0 | ||
| 182 | "third_party/federated_compute/src/fcp/base" ;ASL2.0 | 189 | "third_party/federated_compute/src/fcp/base" ;ASL2.0 |
| 183 | "third_party/federated_compute/src/fcp/confidentialcompute" ;ASL2.0 | 190 | "third_party/federated_compute/src/fcp/confidentialcompute" ;ASL2.0 |
| 184 | "third_party/federated_compute/src/fcp/protos/confidentialcompute" ;ASL2.0 | 191 | "third_party/federated_compute/src/fcp/protos/confidentialcompute" ;ASL2.0 |
| @@ -187,7 +194,9 @@ | |||
| 187 | "third_party/fft2d" ;non-copyleft | 194 | "third_party/fft2d" ;non-copyleft |
| 188 | "third_party/flatbuffers" ;ASL2.0 | 195 | "third_party/flatbuffers" ;ASL2.0 |
| 189 | "third_party/fp16" ;Expat | 196 | "third_party/fp16" ;Expat |
| 197 | "third_party/freetype" ;GPL2.0 | ||
| 190 | "third_party/fusejs" ;ASL2.0 | 198 | "third_party/fusejs" ;ASL2.0 |
| 199 | "third_party/fxdiv" ;Expat | ||
| 191 | "third_party/gemmlowp" ;ASL2.0 | 200 | "third_party/gemmlowp" ;ASL2.0 |
| 192 | "third_party/google_input_tools" ;ASL2.0 | 201 | "third_party/google_input_tools" ;ASL2.0 |
| 193 | "third_party/google_input_tools/third_party/closure_library" ;ASL2.0 | 202 | "third_party/google_input_tools/third_party/closure_library" ;ASL2.0 |
| @@ -196,6 +205,9 @@ | |||
| 196 | "third_party/harfbuzz-ng" ;Expat | 205 | "third_party/harfbuzz-ng" ;Expat |
| 197 | "third_party/highway" ;ASL2.0 | 206 | "third_party/highway" ;ASL2.0 |
| 198 | "third_party/hunspell" ;MPL1.1/GPL2+/LGPL2.1+ | 207 | "third_party/hunspell" ;MPL1.1/GPL2+/LGPL2.1+ |
| 208 | "third_party/hyphenation-patterns" ;Expat | ||
| 209 | ;; FIXME: Our icu does not have some headers such as udatamem.h. | ||
| 210 | "third_party/icu" ;Unicode3.0 | ||
| 199 | "third_party/ink" ;ASL2.0 | 211 | "third_party/ink" ;ASL2.0 |
| 200 | "third_party/ink_stroke_modeler" ;ASL2.0 | 212 | "third_party/ink_stroke_modeler" ;ASL2.0 |
| 201 | "third_party/inspector_protocol" ;BSD-3 | 213 | "third_party/inspector_protocol" ;BSD-3 |
| @@ -208,12 +220,14 @@ | |||
| 208 | "third_party/libaddressinput" ;ASL2.0 | 220 | "third_party/libaddressinput" ;ASL2.0 |
| 209 | "third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0" | 221 | "third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0" |
| 210 | "third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3 | 222 | "third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3 |
| 211 | "third_party/libaom/source/libaom/third_party/SVT-AV1" ;BSD-3 | ||
| 212 | "third_party/libaom/source/libaom/third_party/vector" ;Expat | 223 | "third_party/libaom/source/libaom/third_party/vector" ;Expat |
| 213 | "third_party/libaom/source/libaom/third_party/x86inc" ;ISC | 224 | "third_party/libaom/source/libaom/third_party/x86inc" ;ISC |
| 225 | "third_party/libc++" ;Expat | ||
| 214 | "third_party/libdrm" ; Expat | 226 | "third_party/libdrm" ; Expat |
| 215 | "third_party/libgav1" ;ASL2.0 | 227 | "third_party/libgav1" ;ASL2.0 |
| 216 | "third_party/libjingle_xmpp" ;BSD-3 | 228 | "third_party/libjingle_xmpp" ;BSD-3 |
| 229 | "third_party/libpfm4" ;BSD | ||
| 230 | "third_party/libpng" ;PNG2.0 | ||
| 217 | "third_party/libphonenumber" ;ASL2.0 | 231 | "third_party/libphonenumber" ;ASL2.0 |
| 218 | "third_party/libsecret" ;LGPL2.1+ | 232 | "third_party/libsecret" ;LGPL2.1+ |
| 219 | "third_party/libsrtp" ;BSD-3 | 233 | "third_party/libsrtp" ;BSD-3 |
| @@ -227,11 +241,15 @@ | |||
| 227 | "third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat | 241 | "third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat |
| 228 | 242 | ||
| 229 | "third_party/libwebm" ;BSD-3 | 243 | "third_party/libwebm" ;BSD-3 |
| 244 | "third_party/libx11" ;BSD | ||
| 245 | "third_party/libxcb-keysyms" ;BSD | ||
| 230 | "third_party/libxml/chromium" ;BSD-3 | 246 | "third_party/libxml/chromium" ;BSD-3 |
| 231 | "third_party/libyuv" ;BSD-3 | 247 | "third_party/libyuv" ;BSD-3 |
| 232 | "third_party/libzip" ;BSD-3 | 248 | "third_party/libzip" ;BSD-3 |
| 233 | "third_party/lit" ;BSD-3 | 249 | "third_party/lit" ;BSD-3 |
| 234 | "third_party/lit/v3_0" ;BSD-3 | 250 | "third_party/lit/v3_0" ;BSD-3 |
| 251 | "third_party/llvm-libc" ;ASL2.0 | ||
| 252 | "third_party/llvm-libc/src/shared" ;ASL2.0 | ||
| 235 | "third_party/lottie" ;Expat | 253 | "third_party/lottie" ;Expat |
| 236 | "third_party/lss" ;BSD-3 | 254 | "third_party/lss" ;BSD-3 |
| 237 | "third_party/lzma_sdk" ;public domain | 255 | "third_party/lzma_sdk" ;public domain |
| @@ -244,6 +262,7 @@ | |||
| 244 | "third_party/modp_b64" ;BSD-3 | 262 | "third_party/modp_b64" ;BSD-3 |
| 245 | "third_party/nasm" ;BSD-2 | 263 | "third_party/nasm" ;BSD-2 |
| 246 | "third_party/nearby" ;ASL2.0 | 264 | "third_party/nearby" ;ASL2.0 |
| 265 | "third_party/neon_2_sse" ;BSD-2 | ||
| 247 | "third_party/node" ;Expat | 266 | "third_party/node" ;Expat |
| 248 | "third_party/oak/chromium/proto" ;ASL2.0 | 267 | "third_party/oak/chromium/proto" ;ASL2.0 |
| 249 | "third_party/oak/chromium/proto/attestation" ;ASL2.0 | 268 | "third_party/oak/chromium/proto/attestation" ;ASL2.0 |
| @@ -251,14 +270,20 @@ | |||
| 251 | "third_party/one_euro_filter" ;BSD-3 | 270 | "third_party/one_euro_filter" ;BSD-3 |
| 252 | "third_party/openscreen" ;BSD-3 | 271 | "third_party/openscreen" ;BSD-3 |
| 253 | "third_party/openscreen/src/third_party/tinycbor" ;Expat | 272 | "third_party/openscreen/src/third_party/tinycbor" ;Expat |
| 273 | "third_party/opus" ;BSD-3 | ||
| 254 | "third_party/ots" ;BSD-3 | 274 | "third_party/ots" ;BSD-3 |
| 255 | "third_party/pdfium" ;BSD-3 | 275 | "third_party/pdfium" ;BSD-3 |
| 256 | "third_party/pdfium/third_party/agg23" ;Expat | 276 | "third_party/pdfium/third_party/agg23" ;Expat |
| 257 | "third_party/pdfium/third_party/bigint" ;Public domain, BSD-3 | 277 | "third_party/pdfium/third_party/bigint" ;Public domain, BSD-3 |
| 278 | "third_party/pdfium/third_party/lcms" ;Expat | ||
| 279 | "third_party/pdfium/third_party/libopenjpeg" ;BDS-2 | ||
| 258 | "third_party/pdfium/third_party/libtiff" ;non-copyleft | 280 | "third_party/pdfium/third_party/libtiff" ;non-copyleft |
| 259 | "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType | 281 | "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType |
| 260 | "third_party/perfetto" ;ASL2.0 | 282 | "third_party/perfetto" ;ASL2.0 |
| 261 | "third_party/perfetto/protos/third_party/chromium" ;BSD-3 | 283 | "third_party/perfetto/protos/third_party/chromium" ;BSD-3 |
| 284 | "third_party/perfetto/protos/third_party/pprof" ;ASL2.0 | ||
| 285 | "third_party/perfetto/protos/third_party/primes" ;ASL2.0 | ||
| 286 | "third_party/perfetto/protos/third_party/simpleperf" ;ASL2.0 | ||
| 262 | "third_party/pffft" ;the "FFTPACK" license | 287 | "third_party/pffft" ;the "FFTPACK" license |
| 263 | "third_party/ply" ;BSD-3 | 288 | "third_party/ply" ;BSD-3 |
| 264 | "third_party/polymer" ;BSD-3 | 289 | "third_party/polymer" ;BSD-3 |
| @@ -268,6 +293,7 @@ | |||
| 268 | "third_party/protobuf/third_party/utf8_range" ; Expat | 293 | "third_party/protobuf/third_party/utf8_range" ; Expat |
| 269 | "third_party/pthreadpool" ;BSD-2 | 294 | "third_party/pthreadpool" ;BSD-2 |
| 270 | "third_party/puffin" ;Non-copyleft | 295 | "third_party/puffin" ;Non-copyleft |
| 296 | "third_party/pyyaml" ;Expat | ||
| 271 | "third_party/pyjson5" ;ASL2.0 | 297 | "third_party/pyjson5" ;ASL2.0 |
| 272 | "third_party/rapidhash" ;BSD-2 | 298 | "third_party/rapidhash" ;BSD-2 |
| 273 | "third_party/readability" ;ASL2.0 | 299 | "third_party/readability" ;ASL2.0 |
| @@ -279,11 +305,14 @@ | |||
| 279 | "third_party/search_engines_data" ;BSD-3 | 305 | "third_party/search_engines_data" ;BSD-3 |
| 280 | "third_party/securemessage" ;ASL2.0 | 306 | "third_party/securemessage" ;ASL2.0 |
| 281 | "third_party/selenium-atoms" ;ASL2.0 | 307 | "third_party/selenium-atoms" ;ASL2.0 |
| 308 | "third_party/sentencepiece" ;ASL2.0 | ||
| 309 | "third_party/sentencepiece/src/third_party/darts_clone" ;BSD-3 | ||
| 282 | "third_party/shell-encryption" ;ASL2.0 | 310 | "third_party/shell-encryption" ;ASL2.0 |
| 283 | "third_party/simdutf" ;Non-copyleft | 311 | "third_party/simdutf" ;Non-copyleft |
| 284 | "third_party/simplejson" ; Non-copyleft | 312 | "third_party/simplejson" ; Non-copyleft |
| 313 | "third_party/six" ;Expat | ||
| 285 | "third_party/skia" ;BSD-3 | 314 | "third_party/skia" ;BSD-3 |
| 286 | "third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat | 315 | "third_party/skia/include/third_party/vulkan" ;BSD-3 |
| 287 | "third_party/smhasher" ;Expat, public domain | 316 | "third_party/smhasher" ;Expat, public domain |
| 288 | 317 | ||
| 289 | ;; FIXME: the snappy "replacement" shim (see replace_gn_files.py below) does | 318 | ;; FIXME: the snappy "replacement" shim (see replace_gn_files.py below) does |
| @@ -338,7 +367,6 @@ | |||
| 338 | "third_party/webrtc/modules/third_party/fft" ;Non-copyleft | 367 | "third_party/webrtc/modules/third_party/fft" ;Non-copyleft |
| 339 | "third_party/webrtc/modules/third_party/g711" ;Public domain | 368 | "third_party/webrtc/modules/third_party/g711" ;Public domain |
| 340 | "third_party/webrtc/modules/third_party/g722" ;Public domain | 369 | "third_party/webrtc/modules/third_party/g722" ;Public domain |
| 341 | "third_party/webrtc/rtc_base/third_party/sigslot" ;Public domain | ||
| 342 | "third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3 | 370 | "third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3 |
| 343 | "third_party/woff2" ;ASL2.0 | 371 | "third_party/woff2" ;ASL2.0 |
| 344 | "third_party/wuffs" ;ASL2.0 | 372 | "third_party/wuffs" ;ASL2.0 |
| @@ -372,7 +400,7 @@ | |||
| 372 | ;; run the Blink performance tests, just remove everything to save ~70MiB. | 400 | ;; run the Blink performance tests, just remove everything to save ~70MiB. |
| 373 | '("third_party/blink/perf_tests")) | 401 | '("third_party/blink/perf_tests")) |
| 374 | 402 | ||
| 375 | (define %chromium-version "141.0.7390.65") | 403 | (define %chromium-version "147.0.7727.55") |
| 376 | (define %ungoogled-revision (string-append %chromium-version "-1")) | 404 | (define %ungoogled-revision (string-append %chromium-version "-1")) |
| 377 | (define %debian-revision (string-append "debian/" %ungoogled-revision)) | 405 | (define %debian-revision (string-append "debian/" %ungoogled-revision)) |
| 378 | 406 | ||
| @@ -384,7 +412,7 @@ | |||
| 384 | (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) | 412 | (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) |
| 385 | (sha256 | 413 | (sha256 |
| 386 | (base32 | 414 | (base32 |
| 387 | "1hk4rww2gccly1qv0xnswd77haj02rlza82403dxdjm8fkdfndy6")))) | 415 | "0l6v4wf16067igawjlh90f3d287mkw0cq4j5lvrxxy17y1skynzc")))) |
| 388 | 416 | ||
| 389 | (define %debian-origin | 417 | (define %debian-origin |
| 390 | (origin | 418 | (origin |
| @@ -397,7 +425,7 @@ | |||
| 397 | ((_ version) version)))) | 425 | ((_ version) version)))) |
| 398 | (sha256 | 426 | (sha256 |
| 399 | (base32 | 427 | (base32 |
| 400 | "06s3kvwb3490xb28n6r3q5n1c0ylsvchiw6s4h1rrp8jqzwjbmc6")))) | 428 | "0gqarll08i7rcs1amapciv263xvzglc8p44ikavq3xd12yyvcd98")))) |
| 401 | 429 | ||
| 402 | (define (origin-file origin file) | 430 | (define (origin-file origin file) |
| 403 | (computed-file | 431 | (computed-file |
| @@ -410,26 +438,38 @@ | |||
| 410 | 438 | ||
| 411 | (define %debian-patches | 439 | (define %debian-patches |
| 412 | (map debian-patch | 440 | (map debian-patch |
| 413 | '("bookworm/clang19.patch" | 441 | '("bookworm/foreach.patch" |
| 414 | "bookworm/foreach.patch" | 442 | "debianization/safe-libcxx.patch" |
| 443 | "disable/enterprise-tests.patch" | ||
| 415 | "disable/node-version-ck.patch" | 444 | "disable/node-version-ck.patch" |
| 445 | "disable/rustc-allow-features.patch" | ||
| 446 | "fixes/bytemuck.patch" | ||
| 416 | "fixes/gentoo-stylesheet.patch" | 447 | "fixes/gentoo-stylesheet.patch" |
| 417 | "fixes/libcpp-headers.patch" | 448 | "fixes/libcpp-headers.patch" |
| 449 | "fixes/libpng-testonly.patch" | ||
| 418 | "fixes/rust-clanglib.patch" | 450 | "fixes/rust-clanglib.patch" |
| 451 | "llvm-19/clang19.patch" | ||
| 452 | "llvm-19/clone-traits.patch" | ||
| 453 | "llvm-19/keyfactory.patch" | ||
| 454 | "llvm-19/value-or.patch" | ||
| 455 | "llvm-22/ignore-for-ubsan.patch" | ||
| 419 | "system/openjpeg.patch" | 456 | "system/openjpeg.patch" |
| 420 | ;; Remove after rust is past | 457 | "trixie/cookie-string-view.patch" |
| 421 | ;; <https://github.com/rust-lang/rust/pull/141061>. | 458 | "trixie/nodejs-main.patch"))) |
| 422 | "trixie/rust-no-alloc-shim.patch"))) | ||
| 423 | 459 | ||
| 424 | (define %guix-patches | 460 | (define %guix-patches |
| 425 | (list (local-file | 461 | (list (local-file |
| 426 | (assume-valid-file-name | 462 | (assume-valid-file-name |
| 427 | (search-patch | 463 | (search-patch |
| 428 | "ungoogled-chromium-extension-search-path.patch"))) | 464 | "ungoogled-chromium-custom-compiler.patch"))) |
| 465 | (local-file | ||
| 466 | (assume-valid-file-name | ||
| 467 | (search-patch | ||
| 468 | "ungoogled-chromium-empty-parsed-rustc-args.patch"))) | ||
| 429 | (local-file | 469 | (local-file |
| 430 | (assume-valid-file-name | 470 | (assume-valid-file-name |
| 431 | (search-patch | 471 | (search-patch |
| 432 | "ungoogled-chromium-unbundle-icu-target.patch"))) | 472 | "ungoogled-chromium-extension-search-path.patch"))) |
| 433 | (local-file | 473 | (local-file |
| 434 | (assume-valid-file-name | 474 | (assume-valid-file-name |
| 435 | (search-patch | 475 | (search-patch |
| @@ -500,9 +540,8 @@ | |||
| 500 | "#if 0")) | 540 | "#if 0")) |
| 501 | (invoke "python" "build/linux/unbundle/replace_gn_files.py" | 541 | (invoke "python" "build/linux/unbundle/replace_gn_files.py" |
| 502 | "--system-libraries" "flac" "fontconfig" "freetype" | 542 | "--system-libraries" "flac" "fontconfig" "freetype" |
| 503 | "harfbuzz-ng" "icu" "libjpeg" | 543 | "harfbuzz-ng" "libjpeg" "libpng" "libwebp" "libxml" |
| 504 | "libpng" "libwebp" "libxml" "libxslt" "openh264" "opus" | 544 | "libxslt" "openh264" "opus" "zlib"))))) |
| 505 | "zlib"))))) | ||
| 506 | 545 | ||
| 507 | (define opus+custom | 546 | (define opus+custom |
| 508 | (package/inherit opus | 547 | (package/inherit opus |
| @@ -531,7 +570,7 @@ | |||
| 531 | %chromium-version "-lite.tar.xz")) | 570 | %chromium-version "-lite.tar.xz")) |
| 532 | (sha256 | 571 | (sha256 |
| 533 | (base32 | 572 | (base32 |
| 534 | "09iwglswnr6d45zz3zsjw7jpm1xlwwkxlz9h5nlhqxyd933a04fq")) | 573 | "1salvlw5sykx3zmsbp7cgmf7y8yy6jlgb4b4zswzsbjrprk4jnap")) |
| 535 | (modules '((guix build utils))) | 574 | (modules '((guix build utils))) |
| 536 | (snippet (force ungoogled-chromium-snippet)))) | 575 | (snippet (force ungoogled-chromium-snippet)))) |
| 537 | (build-system gnu-build-system) | 576 | (build-system gnu-build-system) |
| @@ -548,6 +587,7 @@ | |||
| 548 | ;; directory for an exhaustive list of supported flags. | 587 | ;; directory for an exhaustive list of supported flags. |
| 549 | ;; (Note: The 'configure' phase will do that for you.) | 588 | ;; (Note: The 'configure' phase will do that for you.) |
| 550 | #~(list "is_debug=false" | 589 | #~(list "is_debug=false" |
| 590 | "is_component_build=false" | ||
| 551 | ;; Use the "official" release optimizations, as opposed to | 591 | ;; Use the "official" release optimizations, as opposed to |
| 552 | ;; a developer build. | 592 | ;; a developer build. |
| 553 | "is_official_build=true" | 593 | "is_official_build=true" |
| @@ -555,6 +595,7 @@ | |||
| 555 | "use_clang_modules=false" | 595 | "use_clang_modules=false" |
| 556 | "use_custom_libcxx=false" ; support for this is deprecated and to be removed. | 596 | "use_custom_libcxx=false" ; support for this is deprecated and to be removed. |
| 557 | "optimize_webui=false" | 597 | "optimize_webui=false" |
| 598 | "webnn_use_tflite=false" | ||
| 558 | "safe_browsing_use_unrar=false" | 599 | "safe_browsing_use_unrar=false" |
| 559 | "chrome_pgo_phase=0" | 600 | "chrome_pgo_phase=0" |
| 560 | "use_sysroot=false" | 601 | "use_sysroot=false" |
| @@ -572,12 +613,10 @@ | |||
| 572 | "enable_service_discovery=false" | 613 | "enable_service_discovery=false" |
| 573 | "enable_vr=false" | 614 | "enable_vr=false" |
| 574 | "enable_enterprise_companion=false" | 615 | "enable_enterprise_companion=false" |
| 575 | "enable_glic=false" | ||
| 576 | "enable_iterator_debugging=false" | 616 | "enable_iterator_debugging=false" |
| 577 | "enable_hangout_services_extension=false" | 617 | "enable_hangout_services_extension=false" |
| 578 | "enable_widevine=false" | 618 | "enable_widevine=false" |
| 579 | ;; Disable type-checking for the Web UI to avoid a Java dependency. | 619 | "fatal_linker_warnings=false" |
| 580 | "enable_js_type_check=false" | ||
| 581 | ;; Disable code using TensorFlow until it has been scrutinized | 620 | ;; Disable code using TensorFlow until it has been scrutinized |
| 582 | ;; by the ungoogled project. | 621 | ;; by the ungoogled project. |
| 583 | "build_with_tflite_lib=false" | 622 | "build_with_tflite_lib=false" |
| @@ -589,6 +628,11 @@ | |||
| 589 | "angle_has_histograms=false" | 628 | "angle_has_histograms=false" |
| 590 | "angle_build_tests=false" | 629 | "angle_build_tests=false" |
| 591 | "build_angle_perftests=false" | 630 | "build_angle_perftests=false" |
| 631 | "enable_perfetto_unittests=false" | ||
| 632 | "skia_enable_skshapper_tests=false" | ||
| 633 | "tint_build_unittests=false" | ||
| 634 | "enable_nocompile_tests=false" | ||
| 635 | "enable_screen_ai_browsertests=false" | ||
| 592 | 636 | ||
| 593 | "clang_warning_suppression_file=\"\"" | 637 | "clang_warning_suppression_file=\"\"" |
| 594 | 638 | ||
| @@ -597,6 +641,8 @@ | |||
| 597 | "is_cfi=false" | 641 | "is_cfi=false" |
| 598 | 642 | ||
| 599 | "symbol_level=0" | 643 | "symbol_level=0" |
| 644 | "blink_symbol_level=0" | ||
| 645 | "v8_symbol_level=0" | ||
| 600 | "v8_enable_backtrace=false" | 646 | "v8_enable_backtrace=false" |
| 601 | 647 | ||
| 602 | ;; Define a custom toolchain that simply looks up CC, AR and | 648 | ;; Define a custom toolchain that simply looks up CC, AR and |
| @@ -628,26 +674,10 @@ | |||
| 628 | ;; invokation and fails if it's just the version number. | 674 | ;; invokation and fails if it's just the version number. |
| 629 | " (f6e511eec 2024-10-15) (built from a source tarball)\"") | 675 | " (f6e511eec 2024-10-15) (built from a source tarball)\"") |
| 630 | 676 | ||
| 631 | ;; Chromium's build/rust/std/BUILD.gn has a hardcoded | ||
| 632 | ;; list of stdlib rlibs (stdlib_files) that GN uses to | ||
| 633 | ;; declare build outputs. GN requires static output | ||
| 634 | ;; declarations, so the list must exactly match what | ||
| 635 | ;; rlibs exist in the Rust sysroot. Chromium's list | ||
| 636 | ;; includes unicode_width because their bundled | ||
| 637 | ;; toolchain (Rust 1.89) ships it as a dependency of | ||
| 638 | ;; getopts 0.2.23. Our Rust 1.93 has getopts 0.2.24 | ||
| 639 | ;; which dropped that dependency, so unicode_width is | ||
| 640 | ;; not in our sysroot. This GN arg removes it from | ||
| 641 | ;; the list. (Chromium's own use of unicode_width via | ||
| 642 | ;; codespan-reporting is a separate vendored copy under | ||
| 643 | ;; third_party/rust/chromium_crates_io/ and is | ||
| 644 | ;; unaffected.) | ||
| 645 | "removed_rust_stdlib_libs=[\"unicode_width\"]" | ||
| 646 | |||
| 647 | ;; Prefer system libraries. | 677 | ;; Prefer system libraries. |
| 648 | "use_system_freetype=true" | 678 | "use_system_freetype=true" |
| 649 | "use_system_harfbuzz=true" | 679 | "use_system_harfbuzz=true" |
| 650 | "use_system_icu=true" | 680 | "use_system_icu=false" |
| 651 | "use_system_lcms2=true" | 681 | "use_system_lcms2=true" |
| 652 | "use_system_libffi=true" | 682 | "use_system_libffi=true" |
| 653 | "use_system_libjpeg=true" | 683 | "use_system_libjpeg=true" |
| @@ -713,9 +743,9 @@ | |||
| 713 | 743 | ||
| 714 | ;; Many files try to include ICU headers from "third_party/icu/...". | 744 | ;; Many files try to include ICU headers from "third_party/icu/...". |
| 715 | ;; Remove the "third_party/" prefix to use system headers instead. | 745 | ;; Remove the "third_party/" prefix to use system headers instead. |
| 716 | (substitute* (find-files "chrome" "\\.cc$") | 746 | ;(substitute* (find-files "chrome" "\\.cc$") |
| 717 | (("third_party/icu/source/(common|i18n)/") | 747 | ; (("third_party/icu/source/(common|i18n)/") |
| 718 | "")) | 748 | ; "")) |
| 719 | 749 | ||
| 720 | ;; XXX: Should be unnecessary when use_system_lcms2=true. | 750 | ;; XXX: Should be unnecessary when use_system_lcms2=true. |
| 721 | (substitute* "third_party/pdfium/core/fxcodec/icc/icc_transform.h" | 751 | (substitute* "third_party/pdfium/core/fxcodec/icc/icc_transform.h" |
| @@ -732,16 +762,19 @@ | |||
| 732 | (("include \"third_party/curl") | 762 | (("include \"third_party/curl") |
| 733 | "include \"curl")) | 763 | "include \"curl")) |
| 734 | 764 | ||
| 735 | ;; Unknown flags as of clang-19, can be removed when building with | 765 | ;; Our clang libs and rustfmt are not under bindgen root directory. |
| 736 | ;; newer clang. | 766 | (substitute* '("build/rust/rust_bindgen_generator.gni" |
| 737 | (substitute* "build/config/compiler/BUILD.gn" | 767 | "build/rust/rust_bindgen.gni") |
| 738 | (("-gsimple-template-names") "")) | ||
| 739 | |||
| 740 | ;; Clang libs are not under bindgen root directory. | ||
| 741 | (substitute* "build/rust/rust_bindgen_generator.gni" | ||
| 742 | (("(_libclang_path = )rust_bindgen_root" _ libclang) | 768 | (("(_libclang_path = )rust_bindgen_root" _ libclang) |
| 743 | (string-append libclang "clang_base_path")))))) | 769 | (string-append libclang "clang_base_path")) |
| 744 | (add-after 'patch-stuff 'add-absolute-references | 770 | (("(_rustfmt_path = \")\\$\\{rust_bindgen_root\\}" _ rustfmt) |
| 771 | (string-append rustfmt "${rust_sysroot_absolute}")))))) | ||
| 772 | (add-after 'patch-stuff 'include-pthreadpool | ||
| 773 | ;; FIXME: Somehow the build system cannot locate this header. | ||
| 774 | (lambda _ | ||
| 775 | (copy-file "third_party/pthreadpool/src/include/pthreadpool.h" | ||
| 776 | "pthreadpool.h"))) | ||
| 777 | (add-after 'include-pthreadpool 'add-absolute-references | ||
| 745 | (lambda* (#:key inputs #:allow-other-keys) | 778 | (lambda* (#:key inputs #:allow-other-keys) |
| 746 | (let ((cups-config (search-input-file inputs "/bin/cups-config")) | 779 | (let ((cups-config (search-input-file inputs "/bin/cups-config")) |
| 747 | (libnssckbi.so (search-input-file inputs | 780 | (libnssckbi.so (search-input-file inputs |
| @@ -763,13 +796,22 @@ | |||
| 763 | (add-after 'add-absolute-references 'adjust-CPLUS_INCLUDE_PATH | 796 | (add-after 'add-absolute-references 'adjust-CPLUS_INCLUDE_PATH |
| 764 | ;; The libcxx include/c++/v1 directory is not exposed via | 797 | ;; The libcxx include/c++/v1 directory is not exposed via |
| 765 | ;; CPLUS_INCLUDE_PATH by default, causing errors like | 798 | ;; CPLUS_INCLUDE_PATH by default, causing errors like |
| 766 | ;; "fatal error: 'format' file not found". | 799 | ;; "fatal error: 'format' file not found". Also clang is |
| 800 | ;; unable to find gcc's bits/c++config.h which is machine | ||
| 801 | ;; dependent. | ||
| 767 | (lambda* (#:key native-inputs inputs #:allow-other-keys) | 802 | (lambda* (#:key native-inputs inputs #:allow-other-keys) |
| 768 | (setenv "CPLUS_INCLUDE_PATH" | 803 | (let* ((libcxx-v1 (search-input-directory inputs |
| 769 | (string-append | 804 | "include/c++/v1")) |
| 770 | (search-input-directory inputs | 805 | (target-system #$(nix-system->gnu-triplet |
| 771 | "/include/c++/v1") | 806 | (or (%current-target-system) |
| 772 | ":" (getenv "CPLUS_INCLUDE_PATH"))))) | 807 | (%current-system)))) |
| 808 | (target-include (string-append "include/c++/" | ||
| 809 | target-system)) | ||
| 810 | (gcc-bits (search-input-directory inputs | ||
| 811 | target-include))) | ||
| 812 | (setenv "CPLUS_INCLUDE_PATH" | ||
| 813 | (string-append libcxx-v1 ":" gcc-bits ":" | ||
| 814 | (getenv "CPLUS_INCLUDE_PATH")))))) | ||
| 773 | (add-before 'configure 'prepare-build-environment | 815 | (add-before 'configure 'prepare-build-environment |
| 774 | (lambda* (#:key native-inputs inputs #:allow-other-keys) | 816 | (lambda* (#:key native-inputs inputs #:allow-other-keys) |
| 775 | (let ((node (search-input-file (or native-inputs inputs) | 817 | (let ((node (search-input-file (or native-inputs inputs) |
| @@ -955,7 +997,7 @@ | |||
| 955 | glib | 997 | glib |
| 956 | gtk+ | 998 | gtk+ |
| 957 | harfbuzz | 999 | harfbuzz |
| 958 | icu4c | 1000 | icu4c-77 |
| 959 | lcms | 1001 | lcms |
| 960 | libcxx | 1002 | libcxx |
| 961 | libffi | 1003 | libffi |
diff --git a/gnu/packages/patches/ungoogled-chromium-custom-compiler.patch b/gnu/packages/patches/ungoogled-chromium-custom-compiler.patch new file mode 100644 index 00000000000..c14d3349e43 --- /dev/null +++ b/gnu/packages/patches/ungoogled-chromium-custom-compiler.patch | |||
| @@ -0,0 +1,299 @@ | |||
| 1 | From 7a372a6914e9d9d6f0c914a1ca8cdff592c40593 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Matt Jolly <kangie@gentoo.org> | ||
| 3 | Date: Thu, 12 Mar 2026 11:57:11 +1000 | ||
| 4 | Subject: [PATCH] Update compiler patch for M147 beta | ||
| 5 | |||
| 6 | Signed-off-by: Matt Jolly <kangie@gentoo.org> | ||
| 7 | --- a/build/config/compiler/BUILD.gn | ||
| 8 | +++ b/build/config/compiler/BUILD.gn | ||
| 9 | @@ -367,9 +367,6 @@ config("compiler") { | ||
| 10 | |||
| 11 | configs += [ | ||
| 12 | # See the definitions below. | ||
| 13 | - ":clang_revision", | ||
| 14 | - ":rustc_revision", | ||
| 15 | - ":compiler_cpu_abi", | ||
| 16 | ":compiler_codegen", | ||
| 17 | ":compiler_deterministic", | ||
| 18 | ":clang_warning_suppression", | ||
| 19 | @@ -1690,43 +1687,6 @@ config("compiler_deterministic") { | ||
| 20 | } | ||
| 21 | } | ||
| 22 | |||
| 23 | - # Makes builds independent of absolute file path. | ||
| 24 | - if (is_clang && strip_absolute_paths_from_debug_symbols) { | ||
| 25 | - # If debug option is given, clang includes $cwd in debug info by default. | ||
| 26 | - # For such build, this flag generates reproducible obj files even we use | ||
| 27 | - # different build directory like "out/feature_a" and "out/feature_b" if | ||
| 28 | - # we build same files with same compile flag. | ||
| 29 | - # Other paths are already given in relative, no need to normalize them. | ||
| 30 | - | ||
| 31 | - # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= | ||
| 32 | - # and -fcoverage-compilation-dir=. | ||
| 33 | - cflags += [ "-ffile-compilation-dir=." ] | ||
| 34 | - | ||
| 35 | - # Convert absolute paths to relative paths. Expands to, for example: | ||
| 36 | - # -file-prefix-map /path/to/chromium/src=../.. | ||
| 37 | - swiftflags += [ | ||
| 38 | - "-file-prefix-map", | ||
| 39 | - rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), | ||
| 40 | - ] | ||
| 41 | - if (!is_win) { | ||
| 42 | - # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) | ||
| 43 | - asmflags = [ "-Wa,-fdebug-compilation-dir,." ] | ||
| 44 | - } | ||
| 45 | - | ||
| 46 | - if (is_win && use_lld) { | ||
| 47 | - if (symbol_level == 2 || (is_clang && using_sanitizer)) { | ||
| 48 | - # Absolutize source file paths for PDB. Pass the real build directory | ||
| 49 | - # if the pdb contains source-level debug information and if linker | ||
| 50 | - # reproducibility is not critical. | ||
| 51 | - ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] | ||
| 52 | - } else { | ||
| 53 | - # Use a fake fixed base directory for paths in the pdb to make the pdb | ||
| 54 | - # output fully deterministic and independent of the build directory. | ||
| 55 | - ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] | ||
| 56 | - } | ||
| 57 | - } | ||
| 58 | - } | ||
| 59 | - | ||
| 60 | # Tells the compiler not to use absolute paths when passing the default | ||
| 61 | # paths to the tools it invokes. We don't want this because we don't | ||
| 62 | # really need it and it can mess up the RBE cache entries. | ||
| 63 | @@ -1759,88 +1719,6 @@ config("compiler_deterministic") { | ||
| 64 | } | ||
| 65 | } | ||
| 66 | |||
| 67 | -config("clang_revision") { | ||
| 68 | - if (is_clang && clang_base_path == default_clang_base_path && | ||
| 69 | - current_os != "zos") { | ||
| 70 | - _perform_consistency_checks = current_toolchain == default_toolchain | ||
| 71 | - if (llvm_force_head_revision) { | ||
| 72 | - _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision" | ||
| 73 | - _head_revision = "" | ||
| 74 | - if (path_exists(_head_revision_stamp_path)) { | ||
| 75 | - _head_revision = read_file(_head_revision_stamp_path, "trim string") | ||
| 76 | - } | ||
| 77 | - assert( | ||
| 78 | - _head_revision != "", | ||
| 79 | - "llvm_force_head_revision=true, but no locally built version was detected.") | ||
| 80 | - _clang_revision = _head_revision | ||
| 81 | - } else { | ||
| 82 | - _clang_revision = read_file( | ||
| 83 | - "//third_party/llvm-build/Release+Asserts/cr_build_revision", | ||
| 84 | - "trim string") | ||
| 85 | - | ||
| 86 | - # Ensure that the synced clang version matches what's in git. | ||
| 87 | - if (_perform_consistency_checks) { | ||
| 88 | - # Parse the clang version from the Python script. | ||
| 89 | - _clang_version_lines = filter_include( | ||
| 90 | - read_file("//tools/clang/scripts/update.py", "list lines"), | ||
| 91 | - [ "CLANG_*REVISION = *" ]) | ||
| 92 | - _py_revision = | ||
| 93 | - string_replace(_clang_version_lines[0], "CLANG_REVISION = '", "") | ||
| 94 | - _py_revision = string_replace(_py_revision, "'", "") | ||
| 95 | - _py_subrevision = | ||
| 96 | - string_replace(_clang_version_lines[1], "CLANG_SUB_REVISION = ", "") | ||
| 97 | - _expected_clang_revision = "$_py_revision-$_py_subrevision" | ||
| 98 | - | ||
| 99 | - # TODO(agrieve): Change filter_include to _clang_revision == | ||
| 100 | - # _expected_clang_revision once angle & webrtc use a GCS DEPS entry | ||
| 101 | - # rather than a update.py runhook. | ||
| 102 | - assert( | ||
| 103 | - filter_include([ _clang_revision ], | ||
| 104 | - [ | ||
| 105 | - _expected_clang_revision, | ||
| 106 | - "$_expected_clang_revision,*", | ||
| 107 | - ]) != [], | ||
| 108 | - "clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?") | ||
| 109 | - } | ||
| 110 | - } | ||
| 111 | - | ||
| 112 | - if (_perform_consistency_checks) { | ||
| 113 | - # Ensure that the revision matches the version major expected by GN. | ||
| 114 | - _versions_match = filter_include([ _clang_revision ], | ||
| 115 | - [ "llvmorg-$clang_version-*" ]) != [] | ||
| 116 | - assert( | ||
| 117 | - _versions_match, | ||
| 118 | - "clang_revision=\"$_clang_revision\" but clang_version=\"$clang_version\". clang_version in build/toolchain/toolchain.gni is likely outdated.") | ||
| 119 | - } | ||
| 120 | - | ||
| 121 | - if (toolchain_has_rust && _perform_consistency_checks && | ||
| 122 | - !rust_force_head_revision) { | ||
| 123 | - # Ensure that the synced rust version matches what's in git. | ||
| 124 | - _rust_revision_lines = | ||
| 125 | - filter_include(read_file("//tools/rust/update_rust.py", "list lines"), | ||
| 126 | - [ "RUST_*REVISION = *" ]) | ||
| 127 | - _py_revision = | ||
| 128 | - string_replace(_rust_revision_lines[0], "RUST_REVISION = '", "") | ||
| 129 | - _py_revision = string_replace(_py_revision, "'", "") | ||
| 130 | - _py_subrevision = | ||
| 131 | - string_replace(_rust_revision_lines[1], "RUST_SUB_REVISION = ", "") | ||
| 132 | - _expected_rust_revision = "$_py_revision-$_py_subrevision" | ||
| 133 | - | ||
| 134 | - # Ensure the rust version matches the clang version. | ||
| 135 | - assert( | ||
| 136 | - filter_include([ rustc_revision ], | ||
| 137 | - [ "*-$_expected_rust_revision-*" ]) != [], | ||
| 138 | - "rustc_revision=\"$rustc_revision\" but update_rust.py expected \"$_expected_rust_revision\". Run \"gclient sync\"?") | ||
| 139 | - } | ||
| 140 | - | ||
| 141 | - # This is here so that all files get recompiled after a clang roll and | ||
| 142 | - # when turning clang on or off. (defines are passed via the command line, | ||
| 143 | - # and build system rebuild things when their commandline changes). Nothing | ||
| 144 | - # should ever read this define. | ||
| 145 | - defines = [ "CR_CLANG_REVISION=\"$_clang_revision\"" ] | ||
| 146 | - } | ||
| 147 | -} | ||
| 148 | - | ||
| 149 | # Controls the usage of a warning suppression mapping (WSM) file to suppress | ||
| 150 | # warnings based on the path of the file they come from. It's controlled by the | ||
| 151 | # `clang_warning_suppression_file` gn argument , which points to a text file | ||
| 152 | @@ -1896,18 +1774,6 @@ config("sanitize_c_array_bounds") { | ||
| 153 | } | ||
| 154 | } | ||
| 155 | |||
| 156 | -config("rustc_revision") { | ||
| 157 | - if (rustc_revision != "") { | ||
| 158 | - # Similar to the `clang_revision` config, this is here so that all `.rs` | ||
| 159 | - # sources get recompiled after a rustc roll. Nothing should ever read this | ||
| 160 | - # cfg. This will not be set if a custom toolchain is used. | ||
| 161 | - rustflags = [ | ||
| 162 | - "--cfg", | ||
| 163 | - "cr_rustc_revision=\"$rustc_revision\"", | ||
| 164 | - ] | ||
| 165 | - } | ||
| 166 | -} | ||
| 167 | - | ||
| 168 | config("compiler_arm_fpu") { | ||
| 169 | if (current_cpu == "arm" && !is_ios) { | ||
| 170 | cflags = [ "-mfpu=neon" ] | ||
| 171 | @@ -2386,11 +2252,7 @@ config("chromium_code") { | ||
| 172 | defines = [ "_HAS_NODISCARD" ] | ||
| 173 | } | ||
| 174 | } else { | ||
| 175 | - cflags = [ "-Wall" ] | ||
| 176 | - if (is_clang) { | ||
| 177 | - # Enable extra warnings for chromium_code when we control the compiler. | ||
| 178 | - cflags += [ "-Wextra" ] | ||
| 179 | - } | ||
| 180 | + cflags = [] | ||
| 181 | |||
| 182 | # In Chromium code, we define __STDC_foo_MACROS in order to get the | ||
| 183 | # C99 macros on Mac and Linux. | ||
| 184 | @@ -2399,32 +2261,6 @@ config("chromium_code") { | ||
| 185 | "__STDC_FORMAT_MACROS", | ||
| 186 | ] | ||
| 187 | |||
| 188 | - if (!is_debug && !using_sanitizer && current_cpu != "s390x" && | ||
| 189 | - current_cpu != "ppc64" && current_cpu != "mips" && | ||
| 190 | - current_cpu != "mips64" && current_cpu != "riscv64" && | ||
| 191 | - current_cpu != "loong64") { | ||
| 192 | - # Non-chromium code is not guaranteed to compile cleanly with | ||
| 193 | - # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are | ||
| 194 | - # disabled, so only do that for Release build. | ||
| 195 | - fortify_level = "2" | ||
| 196 | - | ||
| 197 | - # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 | ||
| 198 | - # implementation with a few custom glibc patches. Use that if it's | ||
| 199 | - # available. | ||
| 200 | - if (is_chromeos_device) { | ||
| 201 | - fortify_level = "3" | ||
| 202 | - } | ||
| 203 | - | ||
| 204 | - # _FORTIFY_SOURCE=3 is available in glibc 2.34+. Enable it when building | ||
| 205 | - # with the sysroot where support is guaranteed. Clang is also required since | ||
| 206 | - # the system gcc is often patched to add _FORTIFY_SOURCE=2 which would conflict | ||
| 207 | - # with our definition. | ||
| 208 | - if (use_sysroot && is_clang) { | ||
| 209 | - fortify_level = "3" | ||
| 210 | - } | ||
| 211 | - defines += [ "_FORTIFY_SOURCE=" + fortify_level ] | ||
| 212 | - } | ||
| 213 | - | ||
| 214 | if (is_apple) { | ||
| 215 | cflags_objc = [ "-Wimplicit-retain-self" ] | ||
| 216 | cflags_objcc = [ "-Wimplicit-retain-self" ] | ||
| 217 | @@ -2848,7 +2684,8 @@ config("default_stack_frames") { | ||
| 218 | # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 | ||
| 219 | # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 | ||
| 220 | # [2]: https://crrev.com/c/5447532 | ||
| 221 | -config("optimize") { | ||
| 222 | +config("optimize") { } | ||
| 223 | +config("xoptimize") { | ||
| 224 | if (is_win) { | ||
| 225 | # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for | ||
| 226 | # consistency with the other platforms. | ||
| 227 | @@ -2897,7 +2734,8 @@ config("optimize") { | ||
| 228 | } | ||
| 229 | |||
| 230 | # Turn off optimizations. | ||
| 231 | -config("no_optimize") { | ||
| 232 | +config("no_optimize") { } | ||
| 233 | +config("xno_optimize") { | ||
| 234 | if (is_win) { | ||
| 235 | cflags = [ | ||
| 236 | "/Od", # Disable optimization. | ||
| 237 | @@ -2932,7 +2770,8 @@ config("no_optimize") { | ||
| 238 | # Turns up the optimization level. Used to explicitly enable -O2 instead of | ||
| 239 | # -Os for select targets on platforms that use optimize_for_size. No-op | ||
| 240 | # elsewhere. | ||
| 241 | -config("optimize_max") { | ||
| 242 | +config("optimize_max") { } | ||
| 243 | +config("xoptimize_max") { | ||
| 244 | ldflags = common_optimize_on_ldflags | ||
| 245 | if (is_win) { | ||
| 246 | # Favor speed over size, /O2 must be before the common flags. | ||
| 247 | @@ -2953,7 +2792,8 @@ config("optimize_max") { | ||
| 248 | # | ||
| 249 | # TODO(crbug.com/41259697) - rework how all of these configs are related | ||
| 250 | # so that we don't need this disclaimer. | ||
| 251 | -config("optimize_speed") { | ||
| 252 | +config("optimize_speed") { } | ||
| 253 | +config("xoptimize_speed") { | ||
| 254 | ldflags = common_optimize_on_ldflags | ||
| 255 | if (is_win) { | ||
| 256 | # Favor speed over size, /O2 must be before the common flags. | ||
| 257 | @@ -2970,7 +2810,8 @@ config("optimize_speed") { | ||
| 258 | rustflags = [ "-Copt-level=3" ] | ||
| 259 | } | ||
| 260 | |||
| 261 | -config("optimize_fuzzing") { | ||
| 262 | +config("optimize_fuzzing") { } | ||
| 263 | +config("xoptimize_fuzzing") { | ||
| 264 | cflags = [ "-O1" ] + common_optimize_on_cflags | ||
| 265 | rustflags = [ "-Copt-level=1" ] | ||
| 266 | ldflags = common_optimize_on_ldflags | ||
| 267 | @@ -3115,7 +2956,8 @@ config("split_dwarf") { | ||
| 268 | } | ||
| 269 | |||
| 270 | # Full symbols. | ||
| 271 | -config("symbols") { | ||
| 272 | +config("symbols") { } | ||
| 273 | +config("xsymbols") { | ||
| 274 | rustflags = [] | ||
| 275 | configs = [] | ||
| 276 | if (is_win) { | ||
| 277 | @@ -3275,7 +3117,8 @@ config("symbols") { | ||
| 278 | # Minimal symbols. | ||
| 279 | # This config guarantees to hold symbol for stack trace which are shown to user | ||
| 280 | # when crash happens in unittests running on buildbot. | ||
| 281 | -config("minimal_symbols") { | ||
| 282 | +config("minimal_symbols") { } | ||
| 283 | +config("xminimal_symbols") { | ||
| 284 | configs = [] | ||
| 285 | rustflags = [] | ||
| 286 | if (is_win) { | ||
| 287 | @@ -3355,7 +3198,8 @@ config("minimal_symbols") { | ||
| 288 | # This configuration contains function names only. That is, the compiler is | ||
| 289 | # told to not generate debug information and the linker then just puts function | ||
| 290 | # names in the final debug information. | ||
| 291 | -config("no_symbols") { | ||
| 292 | +config("no_symbols") { } | ||
| 293 | +config("xno_symbols") { | ||
| 294 | if (is_win) { | ||
| 295 | ldflags = [ "/DEBUG" ] | ||
| 296 | |||
| 297 | -- | ||
| 298 | 2.52.0 | ||
| 299 | |||
diff --git a/gnu/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch b/gnu/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch new file mode 100644 index 00000000000..d88cc292c67 --- /dev/null +++ b/gnu/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | From da37bd781c0371e02ffc4877c3ac1b5f2020c207 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Matt Jolly <kangie@gentoo.org> | ||
| 3 | Date: Tue, 17 Feb 2026 15:45:01 +1000 | ||
| 4 | Subject: [PATCH] Handle case where `parsed_rustc_args.cfg` is empty | ||
| 5 | |||
| 6 | This may occur when (for example) using the unbundle toolchain | ||
| 7 | |||
| 8 | Signed-off-by: Matt Jolly <kangie@gentoo.org> | ||
| 9 | --- a/third_party/rust/cxx/chromium_integration/run_cxxbridge.py | ||
| 10 | +++ b/third_party/rust/cxx/chromium_integration/run_cxxbridge.py | ||
| 11 | @@ -44,18 +44,20 @@ def calculate_cxxbridge_args(unrecognized_script_args, rustc_print_cfg_path): | ||
| 12 | parser.add_argument("--cfg", action="append"), | ||
| 13 | parsed_rustc_args, _other_args = parser.parse_known_args( | ||
| 14 | args=unrecognized_script_args[:rustflags_separator]) | ||
| 15 | - for cfg_arg in parsed_rustc_args.cfg: | ||
| 16 | - if "=" not in cfg_arg: # `buildflag_header.gni` only supports bool flags. | ||
| 17 | - # TODO(https://crbug.com/436606652): Stop using `_BUILDFLAG_NOT_SET_` | ||
| 18 | - # prefix and instead use `--check-cfg` in `run_cxxbridge.py` to | ||
| 19 | - # detect buildflag names. | ||
| 20 | - FALSE_PREFIX = "_BUILDFLAG_NOT_SET_" | ||
| 21 | - if cfg_arg.startswith(FALSE_PREFIX): | ||
| 22 | - flagname = cfg_arg[len(FALSE_PREFIX):] | ||
| 23 | - cxxbridge_args.append(f"--cfg={flagname}=false") | ||
| 24 | - else: | ||
| 25 | - flagname = cfg_arg | ||
| 26 | - cxxbridge_args.append(f"--cfg={flagname}=true") | ||
| 27 | + # Unbundled toolchain may not have any `--cfg` flags | ||
| 28 | + if parsed_rustc_args.cfg: | ||
| 29 | + for cfg_arg in parsed_rustc_args.cfg: | ||
| 30 | + if "=" not in cfg_arg: # `buildflag_header.gni` only supports bool flags. | ||
| 31 | + # TODO(https://crbug.com/436606652): Stop using `_BUILDFLAG_NOT_SET_` | ||
| 32 | + # prefix and instead use `--check-cfg` in `run_cxxbridge.py` to | ||
| 33 | + # detect buildflag names. | ||
| 34 | + FALSE_PREFIX = "_BUILDFLAG_NOT_SET_" | ||
| 35 | + if cfg_arg.startswith(FALSE_PREFIX): | ||
| 36 | + flagname = cfg_arg[len(FALSE_PREFIX):] | ||
| 37 | + cxxbridge_args.append(f"--cfg={flagname}=false") | ||
| 38 | + else: | ||
| 39 | + flagname = cfg_arg | ||
| 40 | + cxxbridge_args.append(f"--cfg={flagname}=true") | ||
| 41 | |||
| 42 | with open(rustc_print_cfg_path, 'r') as file: | ||
| 43 | for line in file: | ||
| 44 | -- | ||
| 45 | 2.52.0 | ||
| 46 | |||
diff --git a/gnu/packages/patches/ungoogled-chromium-unbundle-icu-target.patch b/gnu/packages/patches/ungoogled-chromium-unbundle-icu-target.patch deleted file mode 100644 index 618750f13f1..00000000000 --- a/gnu/packages/patches/ungoogled-chromium-unbundle-icu-target.patch +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | From a665875b4013eed997bd042326a038e24f3296e7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Matt Jolly <kangie@gentoo.org> | ||
| 3 | Date: Thu, 10 Oct 2024 14:36:51 +1000 | ||
| 4 | Subject: [PATCH] unbundle: add missing icu target | ||
| 5 | |||
| 6 | --- a/build/linux/unbundle/icu.gn | ||
| 7 | +++ b/build/linux/unbundle/icu.gn | ||
| 8 | @@ -65,6 +65,10 @@ group("icuuc_public") { | ||
| 9 | public_deps = [ ":icuuc" ] | ||
| 10 | } | ||
| 11 | |||
| 12 | +group("icui18n_hidden_visibility") { | ||
| 13 | + public_deps = [ ":icuuc" ] | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | shim_headers("icui18n_shim") { | ||
| 17 | root_path = "source/i18n" | ||
| 18 | headers = [ | ||
| 19 | -- | ||
| 20 | 2.46.2 | ||
| 21 | |||
