diff --git a/devel/electron31/files/patch-.gn b/devel/electron31/files/patch-.gn new file mode 100644 index 000000000000..86bf8f668dda --- /dev/null +++ b/devel/electron31/files/patch-.gn @@ -0,0 +1,11 @@ +--- .gn.orig 2025-02-19 08:28:44 UTC ++++ .gn +@@ -170,6 +170,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", diff --git a/devel/electron31/files/patch-build_linux_unbundle_icu.gn b/devel/electron31/files/patch-build_linux_unbundle_icu.gn index bd3567f59977..d1588b8a6ff0 100644 --- a/devel/electron31/files/patch-build_linux_unbundle_icu.gn +++ b/devel/electron31/files/patch-build_linux_unbundle_icu.gn @@ -1,18 +1,37 @@ ---- 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", "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 +@@ -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") {