1--- src/3rdparty/chromium/build/linux/unbundle/icu.gn.orig 2025-08-15 18:30:00 UTC 2+++ src/3rdparty/chromium/build/linux/unbundle/icu.gn 3@@ -17,6 +17,15 @@ config("icu_config") { 4 "USING_SYSTEM_ICU=1", 5 "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", 6 7+ # As of icu 73 C++ nullptr, char16_t, override, final and noexcept are used 8+ # instead of defines. These definitions can be removed when the bundled icu 9+ # gets updated to 73. For more details, see: 10+ # https://unicode-org.atlassian.net/browse/ICU-21833 and 11+ # https://github.com/unicode-org/icu/commit/28643799377ecf654564f6f31854b02788cebe33 12+ "U_FINAL=final", 13+ "U_NOEXCEPT=noexcept", 14+ "U_OVERRIDE=override", 15+ 16 # U_EXPORT (defined in unicode/platform.h) is used to set public visibility 17 # on classes through the U_COMMON_API and U_I18N_API macros (among others). 18 # When linking against the system ICU library, we want its symbols to have 19@@ -34,6 +43,9 @@ config("icu_config") { 20 # to define U_IMPORT to have the same value as U_EXPORT. For more details, 21 # please see: https://crbug.com/822820 22 "U_IMPORT=U_EXPORT", 23+ 24+ # Unbreak with icu 76 where private symbols are picked up 25+ "U_HIDE_DRAFT_API", 26 ] 27 } 28 29@@ -46,6 +58,14 @@ source_set("icui18n") { 30 } 31 32 source_set("icui18n") { 33+ deps = [ ":icui18n_shim" ] 34+ public_configs = [ 35+ ":icu_config", 36+ ":system_icui18n", 37+ ] 38+} 39+ 40+source_set("icui18n_hidden_visibility") { 41 deps = [ ":icui18n_shim" ] 42 public_configs = [ 43 ":icu_config", 44