diff --git a/.gitmodules b/.gitmodules index 2e50dce078..c6f7c8073e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -18,7 +18,7 @@ url = https://chromium.googlesource.com/chromium/src/buildtools.git [submodule "third_party/icu"] path = third_party/icu - url = https://github.com/denoland/icu.git + url = https://chromium.googlesource.com/chromium/deps/icu.git [submodule "third_party/abseil-cpp"] path = third_party/abseil-cpp url = https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp.git diff --git a/.gn b/.gn index 1c2b2ce59e..8fddfea67d 100644 --- a/.gn +++ b/.gn @@ -78,7 +78,7 @@ default_args = { # Enable V8 object print for debugging. # v8_enable_object_print = true - + # V8 12.3 added google/fuzztest as a third party dependency. # https://chromium.googlesource.com/v8/v8.git/+/d5acece0c9b89b18716c177d1fcc8f734191e1e2%5E%21/#F4 # @@ -92,4 +92,7 @@ default_args = { v8_enable_v8_checks = false use_relative_vtables_abi = false + + # We do not want this data with rusty_v8, it can be provided by e.g. `deno_core_icudata` + icu_copy_icudata_to_root_build_dir = false } diff --git a/src/binding.cc b/src/binding.cc index a2161d176a..684a31a1a9 100644 --- a/src/binding.cc +++ b/src/binding.cc @@ -3739,8 +3739,8 @@ void v8__CompiledWasmModule__DELETE(v8::CompiledWasmModule* self) { extern "C" { size_t icu_get_default_locale(char* output, size_t output_len) { - const icu_73::Locale& default_locale = icu::Locale::getDefault(); - icu_73::CheckedArrayByteSink sink(output, static_cast(output_len)); + const icu_74::Locale& default_locale = icu::Locale::getDefault(); + icu_74::CheckedArrayByteSink sink(output, static_cast(output_len)); UErrorCode status = U_ZERO_ERROR; default_locale.toLanguageTag(sink, status); assert(status == U_ZERO_ERROR); diff --git a/src/icu.rs b/src/icu.rs index 15c1be3940..370834d9e8 100644 --- a/src/icu.rs +++ b/src/icu.rs @@ -5,14 +5,14 @@ use std::ffi::CString; 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_73(this: *const u8, error_code: *mut i32); + fn udata_setCommonData_74(this: *const u8, error_code: *mut i32); } /// This function bypasses the normal ICU data loading process and allows you to force ICU's system /// data to come out of a user-specified area in memory. /// /// ICU data must be at least 8-aligned, and should be 16-aligned. See -/// https://unicode-org.github.io/icu/userguide/icudata +/// https://unicode-org.github.io/icu/userguide/icu_data/ /// /// The format of this data is that of the icu common data file, as is generated by the pkgdata /// tool with mode=common or mode=dll. You can read in a whole common mode file and pass the @@ -42,10 +42,10 @@ extern "C" { /// functionality for application data. // TODO(ry) Map error code to something useful. #[inline(always)] -pub fn set_common_data_73(data: &'static [u8]) -> Result<(), i32> { +pub fn set_common_data_74(data: &'static [u8]) -> Result<(), i32> { let mut error_code = 0i32; unsafe { - udata_setCommonData_73(data.as_ptr(), &mut error_code); + udata_setCommonData_74(data.as_ptr(), &mut error_code); } if error_code == 0 { Ok(()) diff --git a/third_party/icu b/third_party/icu index a22a8f2422..9408c6fd4a 160000 --- a/third_party/icu +++ b/third_party/icu @@ -1 +1 @@ -Subproject commit a22a8f24224ddda8b856437d7e8560de1da3f8e1 +Subproject commit 9408c6fd4a39e6fef0e1c4077602e1c83b15f3fb diff --git a/tools/update_deps.py b/tools/update_deps.py index c89dd9bd47..3745602c88 100644 --- a/tools/update_deps.py +++ b/tools/update_deps.py @@ -2,7 +2,7 @@ import subprocess def process(name, dep): - if name == 'build' or name == 'third_party/icu': + if name == 'build': # We have our own fork of this return