ports/devel/electron35/files/patch-build_linux_unbundle_icu.gn
Hiroki Tagato 3fe2f64857 devel/electron35: add port: Build cross-platform desktop apps with JavaScript, HTML, and CSS
Build cross platform desktop apps with JavaScript, HTML, and CSS.

It's easier than you think.

If you can build a website, you can build a desktop app. Electron is a
framework for creating native applications with web technologies like
JavaScript, HTML, and CSS. It takes care of the hard parts so you can
focus on the core of your application.

WWW: https://electronjs.org/
2025-04-08 21:01:02 +09:00

43 lines
1.4 KiB
Text

--- build/linux/unbundle/icu.gn.orig 2025-01-27 17:37:37 UTC
+++ build/linux/unbundle/icu.gn
@@ -17,6 +17,15 @@ config("icu_config") {
"USING_SYSTEM_ICU=1",
"ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
+ # As of icu 73 C++ nullptr, char16_t, override, final and noexcept are used
+ # instead of defines. These definitions can be removed when the bundled icu
+ # gets updated to 73. For more details, see:
+ # https://unicode-org.atlassian.net/browse/ICU-21833 and
+ # https://github.com/unicode-org/icu/commit/28643799377ecf654564f6f31854b02788cebe33
+ "U_FINAL=final",
+ "U_NOEXCEPT=noexcept",
+ "U_OVERRIDE=override",
+
# 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
@@ -34,6 +43,9 @@ config("icu_config") {
# to define U_IMPORT to have the same value as U_EXPORT. For more details,
# please see: https://crbug.com/822820
"U_IMPORT=U_EXPORT",
+
+ # Unbreak with icu 76 where private symbols are picked up
+ "U_HIDE_DRAFT_API",
]
}
@@ -46,6 +58,14 @@ source_set("icui18n") {
}
source_set("icui18n") {
+ deps = [ ":icui18n_shim" ]
+ public_configs = [
+ ":icu_config",
+ ":system_icui18n",
+ ]
+}
+
+source_set("icui18n_hidden_visibility") {
deps = [ ":icui18n_shim" ]
public_configs = [
":icu_config",