devel/electron32: fix build with ICU 76

PR:		284316
Reported by:	diizzy
Obtained from:	https://cgit.freebsd.org/ports/tree/www/chromium?id=ca048c2884dc9822310a87e2dfebb8b1647095e2
This commit is contained in:
Hiroki Tagato 2025-01-31 06:10:11 +09:00
parent 64c27d422a
commit a65233d4d0
2 changed files with 31 additions and 1 deletions

View file

@ -0,0 +1,11 @@
--- .gn.orig 2025-01-29 08:44:44 UTC
+++ .gn
@@ -173,6 +173,8 @@ exec_script_whitelist =
"//tools/grit/grit_rule.gni",
"//tools/gritsettings/BUILD.gn",
+ "//third_party/icu/BUILD.gn",
+
"//electron/BUILD.gn",
"//third_party/electron_node/deps/base64/BUILD.gn",
"//third_party/electron_node/deps/base64/unofficial.gni",

View file

@ -1,4 +1,4 @@
--- build/linux/unbundle/icu.gn.orig 2023-04-04 21:42:43 UTC
--- build/linux/unbundle/icu.gn.orig 2024-11-06 12:34:11 UTC
+++ build/linux/unbundle/icu.gn
@@ -17,6 +17,15 @@ config("icu_config") {
"USING_SYSTEM_ICU=1",
@ -16,3 +16,22 @@
# U_EXPORT (defined in unicode/platform.h) is used to set public visibility
# on classes through the U_COMMON_API and U_I18N_API macros (among others).
# When linking against the system ICU library, we want its symbols to have
@@ -35,6 +44,18 @@ config("icu_config") {
# please see: https://crbug.com/822820
"U_IMPORT=U_EXPORT",
]
+
+ _icu_version = exec_script(pkg_config_script,
+ common_pkg_config_args + pkg_config_args + [
+ "icu-i18n",
+ "--version-as-components",
+ ],
+ "value")
+
+ # Unbreak with icu 76 where private symbols are picked up
+ if (_icu_version[0] >= 76) {
+ defines += [ "U_HIDE_DRAFT_API" ]
+ }
}
pkg_config("system_icui18n") {