1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-13 03:09:51 +03:00
aports/community/deno/v8-use-system-icu.patch

65 lines
2.6 KiB
Diff

From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sat, 15 Jul 2023 21:30:26 +0200
Subject: [PATCH] Build rusty_v8 with system ICU
It requires also the following in build.rs, which is added by v8-build.patch:
println!("cargo:rustc-link-lib=dylib=icui18n");
println!("cargo:rustc-link-lib=dylib=icuuc");
println!("cargo:rustc-link-lib=dylib=icudata");
--- a/vendor/v8/src/icu.rs
+++ b/vendor/v8/src/icu.rs
@@ -5,7 +5,7 @@
unsafe extern "C" {
fn icu_get_default_locale(output: *mut char, output_len: usize) -> usize;
fn icu_set_default_locale(locale: *const char);
- fn udata_setCommonData_74(this: *const u8, error_code: *mut i32);
+ fn udata_setCommonData(this: *const u8, error_code: *mut i32);
}
/// This function bypasses the normal ICU data loading process and allows you to force ICU's system
@@ -45,7 +45,7 @@
pub fn set_common_data_74(data: &'static [u8]) -> Result<(), i32> {
let mut error_code = 0i32;
unsafe {
- udata_setCommonData_74(data.as_ptr(), &mut error_code);
+ udata_setCommonData(data.as_ptr(), &mut error_code);
}
if error_code == 0 {
Ok(())
--- a/vendor/v8/src/binding.cc
+++ b/vendor/v8/src/binding.cc
@@ -3739,8 +3739,8 @@
extern "C" {
size_t icu_get_default_locale(char* output, size_t output_len) {
- const icu_74::Locale& default_locale = icu::Locale::getDefault();
- icu_74::CheckedArrayByteSink sink(output, static_cast<uint32_t>(output_len));
+ const icu::Locale& default_locale = icu::Locale::getDefault();
+ icu::CheckedArrayByteSink sink(output, static_cast<uint32_t>(output_len));
UErrorCode status = U_ZERO_ERROR;
default_locale.toLanguageTag(sink, status);
assert(status == U_ZERO_ERROR);
--- a/vendor/v8/third_party/icu/config.gni
+++ b/vendor/v8/third_party/icu/config.gni
@@ -29,7 +29,7 @@
icu_fuchsia_override_data_dir = ""
# If set, the ":icudata" target will copy the ICU data to $root_build_dir.
- icu_copy_icudata_to_root_build_dir = true
+ icu_copy_icudata_to_root_build_dir = false
# Fuchsia sometimes requires extra compilation flags for ICU to adapt it to
# its current toolchain. Since it takes a while for ICU to roll through
--- a/vendor/v8/v8/BUILD.gn
+++ b/vendor/v8/v8/BUILD.gn
@@ -475,7 +475,7 @@
# this breaks locally building V8 with ICU support when the file
# isn't present, which some embedders rely on. This option controls
# the explicit dependency and allows the build to complete.
- v8_depend_on_icu_data_file = icu_use_data_file
+ v8_depend_on_icu_data_file = false
# Some fuzzers depend on fuzzing functionality linked into the v8 library.
# For binary size reasons this functionality is not always available.