git: 94e92ea24d1f - main - lang/v8: update to 15.5.35.20 (Chrome 155 stable)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 09 Oct 2026 02:16:08 UTC
The branch main has been updated by delphij:
URL: https://cgit.FreeBSD.org/ports/commit/?id=94e92ea24d1fe86d0756adc5badb4019d6b3fa4b
commit 94e92ea24d1fe86d0756adc5badb4019d6b3fa4b
Author: Xin LI <delphij@FreeBSD.org>
AuthorDate: 2026-10-09 02:11:49 +0000
Commit: Xin LI <delphij@FreeBSD.org>
CommitDate: 2026-10-09 02:13:00 +0000
lang/v8: update to 15.5.35.20 (Chrome 155 stable)
- Enable Temporal. GN can only build the temporal_capi Rust crate with
the Chromium Rust toolchain, so build it with cargo as a static
library through a small wrapper crate (temporal_capi is no_std) and
have GN link that. Crate versions follow Chromium's Cargo.lock.
Time zone data is read from devel/icu; use the accessors libicuuc
exports instead of ICU's internal udatamem.h, which is not installed.
- Use libclang and its Python bindings from the llvm port for the new
metagen instance-types generator, and work around Cursor being
unhashable in the bindings before LLVM 21.
- Ignore check_includes_strict, which devel/gn does not know yet.
- Add the licenses of the statically linked crates.
- Depend on libicuuc.so, which is what gets linked, instead of
libicudata.so, and stop depending on glib, which was never linked.
- Drop DIST_SUBDIR; distfile names have been unique since the switch
to the GitHub mirror.
---
lang/v8/Makefile | 68 ++-
lang/v8/Makefile.crates | 46 ++
lang/v8/distinfo | 206 ++++++---
lang/v8/files/patch-BUILD.gn | 8 +-
lang/v8/files/patch-build_config_BUILDCONFIG.gn | 30 +-
lang/v8/files/patch-src_api_api.cc | 4 +-
.../patch-src_objects_js-temporal-zoneinfo64.cc | 33 ++
.../files/patch-tools_metagen_clang__bootstrap.py | 14 +
lang/v8/files/temporal_capi-BUILD.gn.in | 38 ++
lang/v8/files/temporal_capi-Cargo.lock | 481 +++++++++++++++++++++
lang/v8/files/temporal_capi-Cargo.toml | 16 +
lang/v8/files/temporal_capi-lib.rs | 4 +
12 files changed, 862 insertions(+), 86 deletions(-)
diff --git a/lang/v8/Makefile b/lang/v8/Makefile
index 4174af5f0148..7d4a375a08c2 100644
--- a/lang/v8/Makefile
+++ b/lang/v8/Makefile
@@ -1,28 +1,32 @@
# We follow the stable channel on https://chromiumdash.appspot.com/releases?platform=Linux
# Latest stable version API: https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Linux&num=1&offset=0
# V8 is mirrored at https://github.com/v8/v8 (use a specific release tag, not lkgr which is a dynamic ref)
-# Browse current stable branch: https://chromium.googlesource.com/v8/v8/+/refs/heads/15.4-lkgr
+# Browse current stable branch: https://chromium.googlesource.com/v8/v8/+/refs/heads/15.5-lkgr
PORTNAME= v8
-PORTVERSION= 15.4.80.20
+PORTVERSION= 15.5.35.20
CATEGORIES= lang
-DIST_SUBDIR= v8/${PORTVERSION:R}
MAINTAINER= delphij@FreeBSD.org
COMMENT= Open source JavaScript engine by Google
WWW= https://v8.dev/
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE
+LICENSE= APACHE20 BSD3CLAUSE MIT UNICODE30
+LICENSE_COMB= multi
+LICENSE_NAME_UNICODE30= Unicode License v3
+LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/LICENSE
+LICENSE_FILE_UNICODE30= ${WRKSRC_crate_icu_calendar}/LICENSE
+LICENSE_PERMS_UNICODE30= dist-mirror dist-sell pkg-mirror pkg-sell \
+ auto-accept
ONLY_FOR_ARCHS= aarch64 amd64 i386
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
binutils>=0:devel/binutils \
gn:devel/gn
-LIB_DEPENDS= libicudata.so:devel/icu
+LIB_DEPENDS= libicuuc.so:devel/icu
-USES= compiler:c++20-lang cpe elfctl gnome llvm:min=20,build ninja \
+USES= cargo compiler:c++20-lang cpe elfctl llvm:min=20,build ninja \
pkgconfig python:build
CPE_VENDOR= google
USE_GITHUB= yes
@@ -55,9 +59,15 @@ GH_TUPLE= chromium-full-mirror:external_github.com_google_cpu_features:${CPU_FEA
chromium-full-mirror:chromium_src_tools_protoc_wrapper:${PROTOC_WRAPPER_REV}:protoc_wrapper/tools/protoc_wrapper \
chromium-full-mirror:chromium_src_third_party_simdutf:${SIMDUTF_REV}:simdutf/third_party/simdutf \
chromium-full-mirror:chromium_src_third_party_zlib:${ZLIB_REV}:zlib/third_party/zlib
-USE_GNOME= glib20
USE_LDCONFIG= yes
+# Temporal is implemented by the temporal_capi Rust crate. GN can only build
+# it with the Chromium Rust toolchain, so build it with cargo as a static
+# library, through a small wrapper crate, and have GN link that. CARGO_CRATES
+# follows chromium_crates_io/Cargo.lock in chromium/src/third_party/rust at
+# the revision pinned in DEPS.
+CARGO_VENDOR_DIR= ${WRKDIR}/cargo-crates
+
MAKE_ARGS= -C \
out/Release
ALL_TARGET= d8 v8_shell mkgrokdump mksnapshot
@@ -74,9 +84,13 @@ BINARY_ALIAS= python3=${PYTHON_CMD}
SUB_FILES= v8.pc v8_libbase.pc v8_libplatform.pc
SUB_LIST+= PORTVERSION=${PORTVERSION}
+CARGO_SRC_SUBDIR= third_party/rust/temporal_capi
+TEMPORAL_CAPI_DIR= ${CARGO_VENDOR_DIR}/${CARGO_CRATES:Mtemporal_capi-[0-9]*}
+TEMPORAL_CAPI_LIB= ${WRKDIR}/libv8_temporal.a
+
# Sub-dependency commit hashes from DEPS at tag ${PORTVERSION}
ABSL_REV= 435e7d977fb36fb47854a4c552c0706dad0bd7cf
-BUILD_REV= fdd530b37c6cd6c8645cdfa296d209643ab2dc26
+BUILD_REV= 8ca8a372cab9ff143072204053d30fbc2c17bd7a
BUILDTOOLS_REV= 6f6a5dbf04b734214f3b1f386567d101ec9d607e
CLANG_REV= 450d823868eaee61e2b2cb986e19aec287f16d58
CPU_FEATURES_CHROMIUM_REV= 4974e2063946d9dd2a417c27db139fd982ff447a
@@ -86,22 +100,22 @@ DRAGONBOX_REV= beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44
FADEC_REV= c9f78f532b9004de278489019ab2c6c28ae9746e
FAST_FLOAT_REV= 34164f547b7df3f5d794ff67e9f885c36819ebfc
FP16_REV= 782eea126dc5c755827be751a099eb01826175cf
-FUZZTEST_REV= 0dcd0b87a3252a116ec59fadcfc80f2d2015bbac
-FUZZTEST_SRC_REV= 94c3cf3a4391eb0bb12999128e29cbe625bad2f3
+FUZZTEST_REV= f0f143db954fb311d4e7ba39972d2dab9ba47e2a
+FUZZTEST_SRC_REV= 846bda6f291e26b7f8fb33c8de23796129bffd12
GOOGLETEST_REV= 4fe3307fb2d9f86d19777c7eb0e4809e9694dde7
HIGHWAY_REV= 2607d3b5b0113992fe84d3848859eae13b3b52c1
-ICU_REV= 8cc91d9b6ab9991802fd208ee03a69714fd0251c
+ICU_REV= 6ebb40c594776cc2c21ea14df85a2a89a328b364
JSONCPP_REV= 3347a4b86bb914cb565f0cbda19c06e109513300
LIBCXX_REV= 97b436da4c33663581d394f4ee0a5977fc38c2f4
LIBCXXABI_REV= fc1897a2c12aa27e703c3ed48b62eba8abf4ce19
LIBUNWIND_REV= 45120ee2331193c3650acc9c427ed267fab31d62
-LLVM_LIBC_REV= 320824188c37e5c28738b9652a0ca8087c934bc9
-PARTITION_ALLOC_REV= f0d1e646eb41d8736261d5d8d8f094404bac62ac
+LLVM_LIBC_REV= 43a9a99ce4b5a04954090f8a0e74bf2786f59379
+PARTITION_ALLOC_REV= c029851c21b7e1154fa3964e08c97710adc92cc7
PROTOBUF_REV= 5f8c379d1fc89fe8eee16ae560dd5e514a4608da
PROTOC_WRAPPER_REV= e9dbe1bf6a2a5d2d4973725874259eed587cf18d
RE2_REV= 972a15cedd008d846f1a39b2e88ce48d7f166cbd
SIMDUTF_REV= f7356eed293f8208c40b3c1b344a50bd70971983
-ZLIB_REV= 5eb4d7ed380f214e7a0a23c18f629048d3ba9e00
+ZLIB_REV= 285e94b8fa95ad3b7d16b80798ec8dce6febb8c8
# Run "gn args --list out/Release" for all variables.
# Some parts don't have use_system_* flag, and can be turned on/off by using
@@ -109,6 +123,7 @@ ZLIB_REV= 5eb4d7ed380f214e7a0a23c18f629048d3ba9e00
# OS "target_os == is_bsd", like libusb, libpci.
GN_ARGS+= clang_base_path="${LLVM_PREFIX}" \
clang_use_chrome_plugins=false \
+ clang_version="${LLVM_VERSION}" \
enable_rust=false \
extra_cxxflags="${CXXFLAGS}" \
extra_ldflags="${LDFLAGS} -Wl,--icf=none" \
@@ -118,11 +133,13 @@ GN_ARGS+= clang_base_path="${LLVM_PREFIX}" \
is_debug=false \
treat_warnings_as_errors=false \
use_aura=true \
+ use_glib=false \
use_lld=true \
use_custom_libcxx=false \
use_custom_libcxx_for_host=false \
- v8_use_external_startup_data=false \
- v8_enable_temporal_support=false # TC39 Temporal (Stage 3) requires Rust; disabled until supported
+ v8_metagen_libclang_bindings_dir="${LLVM_PREFIX}/lib/${PYTHON_VERSION}/site-packages" \
+ v8_metagen_libclang_so="${LLVM_PREFIX}/lib/libclang.so" \
+ v8_use_external_startup_data=false
#OPTIONS_DEFINE= EXAMPLES
@@ -204,10 +221,19 @@ verify-mirror:
@${RM} -r ${_GS_VERIFY}
@${ECHO_MSG} "===> verify-mirror: all ${_GS_DEPS:[#]} mirrored distfiles match ${_GS_SITE}"
+post-extract:
+ @${MKDIR} ${CARGO_WRKSRC}/src
+ @${CP} ${FILESDIR}/temporal_capi-Cargo.toml ${CARGO_CARGOTOML}
+ @${CP} ${FILESDIR}/temporal_capi-Cargo.lock ${CARGO_CARGOLOCK}
+ @${CP} ${FILESDIR}/temporal_capi-lib.rs ${CARGO_WRKSRC}/src/lib.rs
+
post-patch:
@${REINPLACE_CMD} -i '' 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/build/toolchain/gcc_toolchain.gni
# https://github.com/klzgrad/naiveproxy/blob/master/src/build/config/gclient_args.gni
@${ECHO_CMD} 'checkout_google_benchmark = false' > ${WRKSRC}/build/config/gclient_args.gni
+ @${SED} -e 's|%%TEMPORAL_CAPI_DIR%%|${TEMPORAL_CAPI_DIR}|' \
+ -e 's|%%TEMPORAL_CAPI_LIB%%|${TEMPORAL_CAPI_LIB}|' \
+ ${FILESDIR}/temporal_capi-BUILD.gn.in > ${CARGO_WRKSRC}/BUILD.gn
# Use ICU from ports and create needed directory
pre-configure:
@@ -220,6 +246,14 @@ pre-configure:
do-configure:
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/Release --args='${GN_ARGS}'
+pre-build:
+ @${CARGO_CARGO_RUN} build \
+ --manifest-path ${CARGO_CARGOTOML} \
+ --verbose \
+ --verbose \
+ ${CARGO_BUILD_ARGS}
+ ${CP} ${CARGO_TARGET_DIR}/*/libv8_temporal.a ${TEMPORAL_CAPI_LIB}
+
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/include/cppgc ${STAGEDIR}${PREFIX}/include/libplatform
.for prog in d8 mkgrokdump mksnapshot v8_shell
diff --git a/lang/v8/Makefile.crates b/lang/v8/Makefile.crates
new file mode 100644
index 000000000000..a3f713855606
--- /dev/null
+++ b/lang/v8/Makefile.crates
@@ -0,0 +1,46 @@
+CARGO_CRATES= autocfg-1.5.1 \
+ calendrical_calculations-0.2.4 \
+ core_maths-0.1.1 \
+ diplomat-0.16.1 \
+ diplomat-runtime-0.15.2 \
+ diplomat_core-0.16.1 \
+ displaydoc-0.2.7 \
+ icu_calendar-2.2.1 \
+ icu_calendar_data-2.2.0 \
+ icu_collections-2.2.0 \
+ icu_locale-2.2.0 \
+ icu_locale_core-2.3.0 \
+ icu_locale_data-2.2.0 \
+ icu_provider-2.3.1 \
+ ixdtf-0.6.6 \
+ libm-0.2.16 \
+ litemap-0.8.3 \
+ num-traits-0.2.19 \
+ potential_utf-0.1.6 \
+ proc-macro2-1.0.107 \
+ quote-1.0.47 \
+ resb-0.1.2 \
+ serde-1.0.229 \
+ serde_core-1.0.229 \
+ serde_derive-1.0.229 \
+ smallvec-1.15.2 \
+ stable_deref_trait-1.2.1 \
+ strck-1.0.0 \
+ syn-2.0.119 \
+ syn-3.0.4 \
+ synstructure-0.13.2 \
+ temporal_capi-0.2.6 \
+ temporal_rs-0.2.6 \
+ timezone_provider-0.2.6 \
+ tinystr-0.8.4 \
+ unicode-ident-1.0.24 \
+ utf8_iter-1.0.4 \
+ writeable-0.6.4 \
+ yoke-0.8.3 \
+ yoke-derive-0.8.2 \
+ zerofrom-0.1.8 \
+ zerofrom-derive-0.1.7 \
+ zerotrie-0.2.5 \
+ zerovec-0.11.8 \
+ zerovec-derive-0.11.6 \
+ zoneinfo64-0.3.0
diff --git a/lang/v8/distinfo b/lang/v8/distinfo
index c04224e71357..c3203525d68b 100644
--- a/lang/v8/distinfo
+++ b/lang/v8/distinfo
@@ -1,57 +1,149 @@
-TIMESTAMP = 1791091021
-SHA256 (v8/15.4.80/v8-v8-15.4.80.20_GH0.tar.gz) = 13f0ed4f6c5b73578f3df60ae6230212f44a5cdd5ac9a05e3eee877a627a530b
-SIZE (v8/15.4.80/v8-v8-15.4.80.20_GH0.tar.gz) = 30989077
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_google_cpu_features-81d13c49649f0714dd41fb56bb246398b6584085_GH0.tar.gz) = 11d95dc8866e3ea5667509cc30d0169b838ad7d96c740ac06bfdde600f609209
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_google_cpu_features-81d13c49649f0714dd41fb56bb246398b6584085_GH0.tar.gz) = 116738
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_aengelke_disarm-2d13d3f410a52daff1c5d8ef07d623332f372560_GH0.tar.gz) = db8f10f8f4a77596d755badc5719bbb83a9a7d9d05d3535ff607a2a400a0f6b5
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_aengelke_disarm-2d13d3f410a52daff1c5d8ef07d623332f372560_GH0.tar.gz) = 356470
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_jk-jeon_dragonbox-beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44_GH0.tar.gz) = 85e20b29c451eaaffc3ec8bb91c0ac0569f5abd7077ed0520dbd7c09ce3a2783
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_jk-jeon_dragonbox-beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44_GH0.tar.gz) = 4227723
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_aengelke_fadec-c9f78f532b9004de278489019ab2c6c28ae9746e_GH0.tar.gz) = 3424d18c3933d6bb18ae89ffb237fc6053119dfa11ae44a2a221b449375f046c
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_aengelke_fadec-c9f78f532b9004de278489019ab2c6c28ae9746e_GH0.tar.gz) = 121174
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_fastfloat_fast_float-34164f547b7df3f5d794ff67e9f885c36819ebfc_GH0.tar.gz) = d5b204c47a97dd399c93fe402058ab3e2afce60ba3e90cf5a354625f3f6462cb
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_fastfloat_fast_float-34164f547b7df3f5d794ff67e9f885c36819ebfc_GH0.tar.gz) = 140032
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_Maratyszcza_FP16-782eea126dc5c755827be751a099eb01826175cf_GH0.tar.gz) = 736e00f597e783f7d763bc0b80e9503ed35b4d6bf08c890d7516464fc1259ade
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_Maratyszcza_FP16-782eea126dc5c755827be751a099eb01826175cf_GH0.tar.gz) = 64762
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_google_fuzztest-94c3cf3a4391eb0bb12999128e29cbe625bad2f3_GH0.tar.gz) = e4f9f1af729f0d41e7636e2e74b1fa7144fba9c9ea111d658dffb68063e0305b
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_google_fuzztest-94c3cf3a4391eb0bb12999128e29cbe625bad2f3_GH0.tar.gz) = 984492
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_google_googletest-4fe3307fb2d9f86d19777c7eb0e4809e9694dde7_GH0.tar.gz) = edec3397b5fddc4d4b82b800f5818d7b9af42234c0a18418c7a3324b117b674c
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_google_googletest-4fe3307fb2d9f86d19777c7eb0e4809e9694dde7_GH0.tar.gz) = 889388
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_google_highway-2607d3b5b0113992fe84d3848859eae13b3b52c1_GH0.tar.gz) = cff71f93ba12be899fac8579f8095c28197e97167b88d6fa511122f2b53107b3
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_google_highway-2607d3b5b0113992fe84d3848859eae13b3b52c1_GH0.tar.gz) = 3692458
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_open-source-parsers_jsoncpp-3347a4b86bb914cb565f0cbda19c06e109513300_GH0.tar.gz) = a8989f83704f5ebc938b8666e2092dc8305642a45c1b6649e1daa1c1db801cdf
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_open-source-parsers_jsoncpp-3347a4b86bb914cb565f0cbda19c06e109513300_GH0.tar.gz) = 188156
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_google_re2-972a15cedd008d846f1a39b2e88ce48d7f166cbd_GH0.tar.gz) = 186469e8880a129eb2d0f142f8a89a66d6e7d0fe908c59e36ed473c9ee33aeb0
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_google_re2-972a15cedd008d846f1a39b2e88ce48d7f166cbd_GH0.tar.gz) = 398192
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_abseil-cpp-435e7d977fb36fb47854a4c552c0706dad0bd7cf_GH0.tar.gz) = 7f9fc7063af6532aa231bddf180012a53b49a71a91f779a0c08f8ea6128b6816
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_abseil-cpp-435e7d977fb36fb47854a4c552c0706dad0bd7cf_GH0.tar.gz) = 3162440
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_build-fdd530b37c6cd6c8645cdfa296d209643ab2dc26_GH0.tar.gz) = 576bf9f46b5fb758f266a13e31737e21f72885ef1a45a48ad0060f59a5f06ea5
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_build-fdd530b37c6cd6c8645cdfa296d209643ab2dc26_GH0.tar.gz) = 1898380
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_buildtools-6f6a5dbf04b734214f3b1f386567d101ec9d607e_GH0.tar.gz) = c153f2939d2e80b6ed4c8edd8fe4184b33067e1d4f3879048cf49a1c844c46b2
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_buildtools-6f6a5dbf04b734214f3b1f386567d101ec9d607e_GH0.tar.gz) = 57066
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_tools_clang-450d823868eaee61e2b2cb986e19aec287f16d58_GH0.tar.gz) = 804ae28d0655926ae406db9a698f8eedf3897ffaa10ea9075458d6dd9af996aa
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_tools_clang-450d823868eaee61e2b2cb986e19aec287f16d58_GH0.tar.gz) = 653520
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_cpu_features-4974e2063946d9dd2a417c27db139fd982ff447a_GH0.tar.gz) = 8bb2d742de571eccd1d0e1046bfd3710306ad25ab9451a1f1f83d730241f4ec4
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_cpu_features-4974e2063946d9dd2a417c27db139fd982ff447a_GH0.tar.gz) = 1350
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_fuzztest-0dcd0b87a3252a116ec59fadcfc80f2d2015bbac_GH0.tar.gz) = dfabdb0195f3f10ec3ca17407d3392e7986f26a4f28962edc169e5f2157c770c
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_fuzztest-0dcd0b87a3252a116ec59fadcfc80f2d2015bbac_GH0.tar.gz) = 4887
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_deps_icu-8cc91d9b6ab9991802fd208ee03a69714fd0251c_GH0.tar.gz) = cb4751dbe22551d3275f6c3e3b3df454093e33c6b7332d1e562989888f8947cd
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_deps_icu-8cc91d9b6ab9991802fd208ee03a69714fd0251c_GH0.tar.gz) = 55573844
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libcxx-97b436da4c33663581d394f4ee0a5977fc38c2f4_GH0.tar.gz) = bf96db13560d0f8436ce3fe9ad8d7ccbe36fd8a509cf0982635eed822a718c94
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libcxx-97b436da4c33663581d394f4ee0a5977fc38c2f4_GH0.tar.gz) = 8565984
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libcxxabi-fc1897a2c12aa27e703c3ed48b62eba8abf4ce19_GH0.tar.gz) = 3dc1eb333b40416ec9d79c84c566d6f2af0ab4645a4279ef41e2172c389978da
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libcxxabi-fc1897a2c12aa27e703c3ed48b62eba8abf4ce19_GH0.tar.gz) = 802447
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libunwind-45120ee2331193c3650acc9c427ed267fab31d62_GH0.tar.gz) = 4936afc0eafd8105c9491ddb7177139c38e0f1a1e7e34487467b5dc430090220
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libunwind-45120ee2331193c3650acc9c427ed267fab31d62_GH0.tar.gz) = 184988
-SHA256 (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libc-320824188c37e5c28738b9652a0ca8087c934bc9_GH0.tar.gz) = 27dd4211d148a62038308b55793b6f649564b46fc0890e244102c54beb5aacb3
-SIZE (v8/15.4.80/chromium-full-mirror-external_github.com_llvm_llvm-project_libc-320824188c37e5c28738b9652a0ca8087c934bc9_GH0.tar.gz) = 7804634
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_base_allocator_partition_allocator-f0d1e646eb41d8736261d5d8d8f094404bac62ac_GH0.tar.gz) = e25a2fd18acb98a2d065bbe1a3dfa445487c00da6ed57a1f12326be3556ee721
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_base_allocator_partition_allocator-f0d1e646eb41d8736261d5d8d8f094404bac62ac_GH0.tar.gz) = 873235
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_protobuf-5f8c379d1fc89fe8eee16ae560dd5e514a4608da_GH0.tar.gz) = 22f7f208c4aa0a0eba38b92b5ad5a0b96570f17fa6998741a47cc86dfe0ea911
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_protobuf-5f8c379d1fc89fe8eee16ae560dd5e514a4608da_GH0.tar.gz) = 7071701
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_tools_protoc_wrapper-e9dbe1bf6a2a5d2d4973725874259eed587cf18d_GH0.tar.gz) = f1cd02acacdabea17c4e0e5c312982cd94ab4bfabbe8f20d77baa473313125cb
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_tools_protoc_wrapper-e9dbe1bf6a2a5d2d4973725874259eed587cf18d_GH0.tar.gz) = 4446
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_simdutf-f7356eed293f8208c40b3c1b344a50bd70971983_GH0.tar.gz) = ba5584a4392a5189f8cc3849b946c5733b0b3a3cce006b57b611fb3d5e9987a4
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_simdutf-f7356eed293f8208c40b3c1b344a50bd70971983_GH0.tar.gz) = 425405
-SHA256 (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_zlib-5eb4d7ed380f214e7a0a23c18f629048d3ba9e00_GH0.tar.gz) = b60224b99e9fdaea23b5af8f83b2d91c00e2872eb4bd2ebfe9314a73004a6783
-SIZE (v8/15.4.80/chromium-full-mirror-chromium_src_third_party_zlib-5eb4d7ed380f214e7a0a23c18f629048d3ba9e00_GH0.tar.gz) = 1385579
+TIMESTAMP = 1791440417
+SHA256 (rust/crates/autocfg-1.5.1.crate) = f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53
+SIZE (rust/crates/autocfg-1.5.1.crate) = 18911
+SHA256 (rust/crates/calendrical_calculations-0.2.4.crate) = 5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26
+SIZE (rust/crates/calendrical_calculations-0.2.4.crate) = 68875
+SHA256 (rust/crates/core_maths-0.1.1.crate) = 77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
+SIZE (rust/crates/core_maths-0.1.1.crate) = 6528
+SHA256 (rust/crates/diplomat-0.16.1.crate) = f8b37a6cea72eb6df5143d3e091d4c34cb0cf4046dd1ddcc082988886fe1f809
+SIZE (rust/crates/diplomat-0.16.1.crate) = 23123
+SHA256 (rust/crates/diplomat-runtime-0.15.2.crate) = 25b2f28ba90d2ffa95a531ea479769d4a6b2f5f187cd76ab5fd3bdcd64b3603e
+SIZE (rust/crates/diplomat-runtime-0.15.2.crate) = 18671
+SHA256 (rust/crates/diplomat_core-0.16.1.crate) = 73b18e806f9ecb92df828d080efe47984ae1193958295d4a84fb8b32c9a1aa1b
+SIZE (rust/crates/diplomat_core-0.16.1.crate) = 155797
+SHA256 (rust/crates/displaydoc-0.2.7.crate) = c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8
+SIZE (rust/crates/displaydoc-0.2.7.crate) = 21343
+SHA256 (rust/crates/icu_calendar-2.2.1.crate) = a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45
+SIZE (rust/crates/icu_calendar-2.2.1.crate) = 812916
+SHA256 (rust/crates/icu_calendar_data-2.2.0.crate) = 118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d
+SIZE (rust/crates/icu_calendar_data-2.2.0.crate) = 5465
+SHA256 (rust/crates/icu_collections-2.2.0.crate) = 2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c
+SIZE (rust/crates/icu_collections-2.2.0.crate) = 88011
+SHA256 (rust/crates/icu_locale-2.2.0.crate) = d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26
+SIZE (rust/crates/icu_locale-2.2.0.crate) = 34517
+SHA256 (rust/crates/icu_locale_core-2.3.0.crate) = d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb
+SIZE (rust/crates/icu_locale_core-2.3.0.crate) = 80250
+SHA256 (rust/crates/icu_locale_data-2.2.0.crate) = d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993
+SIZE (rust/crates/icu_locale_data-2.2.0.crate) = 116702
+SHA256 (rust/crates/icu_provider-2.3.1.crate) = d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73
+SIZE (rust/crates/icu_provider-2.3.1.crate) = 52447
+SHA256 (rust/crates/ixdtf-0.6.6.crate) = 4d3667095d64c3ecffc96463a21157b04bf3e252f6e8d5750b20c02e33c194e3
+SIZE (rust/crates/ixdtf-0.6.6.crate) = 34431
+SHA256 (rust/crates/libm-0.2.16.crate) = b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981
+SIZE (rust/crates/libm-0.2.16.crate) = 164243
+SHA256 (rust/crates/litemap-0.8.3.crate) = 47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae
+SIZE (rust/crates/litemap-0.8.3.crate) = 35045
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/potential_utf-0.1.6.crate) = d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661
+SIZE (rust/crates/potential_utf-0.1.6.crate) = 10420
+SHA256 (rust/crates/proc-macro2-1.0.107.crate) = 985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9
+SIZE (rust/crates/proc-macro2-1.0.107.crate) = 59588
+SHA256 (rust/crates/quote-1.0.47.crate) = 1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001
+SIZE (rust/crates/quote-1.0.47.crate) = 31622
+SHA256 (rust/crates/resb-0.1.2.crate) = 22d392791f3c6802a1905a509e9d1a6039cbbcb5e9e00e5a6d3661f7c874f390
+SIZE (rust/crates/resb-0.1.2.crate) = 163418
+SHA256 (rust/crates/serde-1.0.229.crate) = 4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba
+SIZE (rust/crates/serde-1.0.229.crate) = 83669
+SHA256 (rust/crates/serde_core-1.0.229.crate) = 67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48
+SIZE (rust/crates/serde_core-1.0.229.crate) = 63100
+SHA256 (rust/crates/serde_derive-1.0.229.crate) = e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348
+SIZE (rust/crates/serde_derive-1.0.229.crate) = 59864
+SHA256 (rust/crates/smallvec-1.15.2.crate) = 8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90
+SIZE (rust/crates/smallvec-1.15.2.crate) = 34899
+SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596
+SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186
+SHA256 (rust/crates/strck-1.0.0.crate) = 42316e70da376f3d113a68d138a60d8a9883c604fe97942721ec2068dab13a9f
+SIZE (rust/crates/strck-1.0.0.crate) = 10262
+SHA256 (rust/crates/syn-2.0.119.crate) = 872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297
+SIZE (rust/crates/syn-2.0.119.crate) = 307407
+SHA256 (rust/crates/syn-3.0.4.crate) = e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f
+SIZE (rust/crates/syn-3.0.4.crate) = 313047
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/temporal_capi-0.2.6.crate) = f48eb9ca4ca22caaa48d1e7a534ad3fd598a23d1a71945e8ad5ac0be501fa5f2
+SIZE (rust/crates/temporal_capi-0.2.6.crate) = 76554
+SHA256 (rust/crates/temporal_rs-0.2.6.crate) = 1a978fef907a27736827d336c0bfaab14fb8a7509dd6dc2b43c44e51d59aca5b
+SIZE (rust/crates/temporal_rs-0.2.6.crate) = 188053
+SHA256 (rust/crates/timezone_provider-0.2.6.crate) = 89ec4f4eebb4817fde02a411aedc7ac5f66c89c68c49e5d4b17a8139f077af52
+SIZE (rust/crates/timezone_provider-0.2.6.crate) = 145717
+SHA256 (rust/crates/tinystr-0.8.4.crate) = b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643
+SIZE (rust/crates/tinystr-0.8.4.crate) = 25003
+SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75
+SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/writeable-0.6.4.crate) = 3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc
+SIZE (rust/crates/writeable-0.6.4.crate) = 31222
+SHA256 (rust/crates/yoke-0.8.3.crate) = 709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5
+SIZE (rust/crates/yoke-0.8.3.crate) = 33132
+SHA256 (rust/crates/yoke-derive-0.8.2.crate) = de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e
+SIZE (rust/crates/yoke-derive-0.8.2.crate) = 15077
+SHA256 (rust/crates/zerofrom-0.1.8.crate) = 0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272
+SIZE (rust/crates/zerofrom-0.1.8.crate) = 6156
+SHA256 (rust/crates/zerofrom-derive-0.1.7.crate) = 11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1
+SIZE (rust/crates/zerofrom-derive-0.1.7.crate) = 8853
+SHA256 (rust/crates/zerotrie-0.2.5.crate) = 4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f
+SIZE (rust/crates/zerotrie-0.2.5.crate) = 84204
+SHA256 (rust/crates/zerovec-0.11.8.crate) = bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8
+SIZE (rust/crates/zerovec-0.11.8.crate) = 130820
+SHA256 (rust/crates/zerovec-derive-0.11.6.crate) = 34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da
+SIZE (rust/crates/zerovec-derive-0.11.6.crate) = 23102
+SHA256 (rust/crates/zoneinfo64-0.3.0.crate) = ed6eb2607e906160c457fd573e9297e65029669906b9ac8fb1b5cd5e055f0705
+SIZE (rust/crates/zoneinfo64-0.3.0.crate) = 81655
+SHA256 (v8-v8-15.5.35.20_GH0.tar.gz) = 0755edce1e9a15dccc165171a3ba04a89e67a7ea75c45c9b741e21b7949f25e1
+SIZE (v8-v8-15.5.35.20_GH0.tar.gz) = 31098984
+SHA256 (chromium-full-mirror-external_github.com_google_cpu_features-81d13c49649f0714dd41fb56bb246398b6584085_GH0.tar.gz) = 11d95dc8866e3ea5667509cc30d0169b838ad7d96c740ac06bfdde600f609209
+SIZE (chromium-full-mirror-external_github.com_google_cpu_features-81d13c49649f0714dd41fb56bb246398b6584085_GH0.tar.gz) = 116738
+SHA256 (chromium-full-mirror-external_github.com_aengelke_disarm-2d13d3f410a52daff1c5d8ef07d623332f372560_GH0.tar.gz) = db8f10f8f4a77596d755badc5719bbb83a9a7d9d05d3535ff607a2a400a0f6b5
+SIZE (chromium-full-mirror-external_github.com_aengelke_disarm-2d13d3f410a52daff1c5d8ef07d623332f372560_GH0.tar.gz) = 356470
+SHA256 (chromium-full-mirror-external_github.com_jk-jeon_dragonbox-beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44_GH0.tar.gz) = 85e20b29c451eaaffc3ec8bb91c0ac0569f5abd7077ed0520dbd7c09ce3a2783
+SIZE (chromium-full-mirror-external_github.com_jk-jeon_dragonbox-beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44_GH0.tar.gz) = 4227723
+SHA256 (chromium-full-mirror-external_github.com_aengelke_fadec-c9f78f532b9004de278489019ab2c6c28ae9746e_GH0.tar.gz) = 3424d18c3933d6bb18ae89ffb237fc6053119dfa11ae44a2a221b449375f046c
+SIZE (chromium-full-mirror-external_github.com_aengelke_fadec-c9f78f532b9004de278489019ab2c6c28ae9746e_GH0.tar.gz) = 121174
+SHA256 (chromium-full-mirror-external_github.com_fastfloat_fast_float-34164f547b7df3f5d794ff67e9f885c36819ebfc_GH0.tar.gz) = d5b204c47a97dd399c93fe402058ab3e2afce60ba3e90cf5a354625f3f6462cb
+SIZE (chromium-full-mirror-external_github.com_fastfloat_fast_float-34164f547b7df3f5d794ff67e9f885c36819ebfc_GH0.tar.gz) = 140032
+SHA256 (chromium-full-mirror-external_github.com_Maratyszcza_FP16-782eea126dc5c755827be751a099eb01826175cf_GH0.tar.gz) = 736e00f597e783f7d763bc0b80e9503ed35b4d6bf08c890d7516464fc1259ade
+SIZE (chromium-full-mirror-external_github.com_Maratyszcza_FP16-782eea126dc5c755827be751a099eb01826175cf_GH0.tar.gz) = 64762
+SHA256 (chromium-full-mirror-external_github.com_google_fuzztest-846bda6f291e26b7f8fb33c8de23796129bffd12_GH0.tar.gz) = 45815454e6f60d28e9aef950073bb1234d9371a85aae683de187395176009e6f
+SIZE (chromium-full-mirror-external_github.com_google_fuzztest-846bda6f291e26b7f8fb33c8de23796129bffd12_GH0.tar.gz) = 988405
+SHA256 (chromium-full-mirror-external_github.com_google_googletest-4fe3307fb2d9f86d19777c7eb0e4809e9694dde7_GH0.tar.gz) = edec3397b5fddc4d4b82b800f5818d7b9af42234c0a18418c7a3324b117b674c
+SIZE (chromium-full-mirror-external_github.com_google_googletest-4fe3307fb2d9f86d19777c7eb0e4809e9694dde7_GH0.tar.gz) = 889388
+SHA256 (chromium-full-mirror-external_github.com_google_highway-2607d3b5b0113992fe84d3848859eae13b3b52c1_GH0.tar.gz) = cff71f93ba12be899fac8579f8095c28197e97167b88d6fa511122f2b53107b3
+SIZE (chromium-full-mirror-external_github.com_google_highway-2607d3b5b0113992fe84d3848859eae13b3b52c1_GH0.tar.gz) = 3692458
+SHA256 (chromium-full-mirror-external_github.com_open-source-parsers_jsoncpp-3347a4b86bb914cb565f0cbda19c06e109513300_GH0.tar.gz) = a8989f83704f5ebc938b8666e2092dc8305642a45c1b6649e1daa1c1db801cdf
+SIZE (chromium-full-mirror-external_github.com_open-source-parsers_jsoncpp-3347a4b86bb914cb565f0cbda19c06e109513300_GH0.tar.gz) = 188156
+SHA256 (chromium-full-mirror-external_github.com_google_re2-972a15cedd008d846f1a39b2e88ce48d7f166cbd_GH0.tar.gz) = 186469e8880a129eb2d0f142f8a89a66d6e7d0fe908c59e36ed473c9ee33aeb0
+SIZE (chromium-full-mirror-external_github.com_google_re2-972a15cedd008d846f1a39b2e88ce48d7f166cbd_GH0.tar.gz) = 398192
+SHA256 (chromium-full-mirror-chromium_src_third_party_abseil-cpp-435e7d977fb36fb47854a4c552c0706dad0bd7cf_GH0.tar.gz) = 7f9fc7063af6532aa231bddf180012a53b49a71a91f779a0c08f8ea6128b6816
+SIZE (chromium-full-mirror-chromium_src_third_party_abseil-cpp-435e7d977fb36fb47854a4c552c0706dad0bd7cf_GH0.tar.gz) = 3162440
+SHA256 (chromium-full-mirror-chromium_src_build-8ca8a372cab9ff143072204053d30fbc2c17bd7a_GH0.tar.gz) = 62ee1da464b6197e05e5b922fcd7f192d7940767a3fd5ac6207002af84e36647
+SIZE (chromium-full-mirror-chromium_src_build-8ca8a372cab9ff143072204053d30fbc2c17bd7a_GH0.tar.gz) = 1898586
+SHA256 (chromium-full-mirror-chromium_src_buildtools-6f6a5dbf04b734214f3b1f386567d101ec9d607e_GH0.tar.gz) = c153f2939d2e80b6ed4c8edd8fe4184b33067e1d4f3879048cf49a1c844c46b2
+SIZE (chromium-full-mirror-chromium_src_buildtools-6f6a5dbf04b734214f3b1f386567d101ec9d607e_GH0.tar.gz) = 57066
+SHA256 (chromium-full-mirror-chromium_src_tools_clang-450d823868eaee61e2b2cb986e19aec287f16d58_GH0.tar.gz) = 804ae28d0655926ae406db9a698f8eedf3897ffaa10ea9075458d6dd9af996aa
+SIZE (chromium-full-mirror-chromium_src_tools_clang-450d823868eaee61e2b2cb986e19aec287f16d58_GH0.tar.gz) = 653520
+SHA256 (chromium-full-mirror-chromium_src_third_party_cpu_features-4974e2063946d9dd2a417c27db139fd982ff447a_GH0.tar.gz) = 8bb2d742de571eccd1d0e1046bfd3710306ad25ab9451a1f1f83d730241f4ec4
+SIZE (chromium-full-mirror-chromium_src_third_party_cpu_features-4974e2063946d9dd2a417c27db139fd982ff447a_GH0.tar.gz) = 1350
+SHA256 (chromium-full-mirror-chromium_src_third_party_fuzztest-f0f143db954fb311d4e7ba39972d2dab9ba47e2a_GH0.tar.gz) = 478497e20fd5ceb4c3ad192b83bdaf49eadbcc705ced7efa6db7fb195baa386a
+SIZE (chromium-full-mirror-chromium_src_third_party_fuzztest-f0f143db954fb311d4e7ba39972d2dab9ba47e2a_GH0.tar.gz) = 4889
+SHA256 (chromium-full-mirror-chromium_deps_icu-6ebb40c594776cc2c21ea14df85a2a89a328b364_GH0.tar.gz) = 6f2e5ceec1637ec3922c451eeed891225d01c3bcb12b48ce31aa0dc28f446c25
+SIZE (chromium-full-mirror-chromium_deps_icu-6ebb40c594776cc2c21ea14df85a2a89a328b364_GH0.tar.gz) = 55560375
+SHA256 (chromium-full-mirror-external_github.com_llvm_llvm-project_libcxx-97b436da4c33663581d394f4ee0a5977fc38c2f4_GH0.tar.gz) = bf96db13560d0f8436ce3fe9ad8d7ccbe36fd8a509cf0982635eed822a718c94
+SIZE (chromium-full-mirror-external_github.com_llvm_llvm-project_libcxx-97b436da4c33663581d394f4ee0a5977fc38c2f4_GH0.tar.gz) = 8565984
+SHA256 (chromium-full-mirror-external_github.com_llvm_llvm-project_libcxxabi-fc1897a2c12aa27e703c3ed48b62eba8abf4ce19_GH0.tar.gz) = 3dc1eb333b40416ec9d79c84c566d6f2af0ab4645a4279ef41e2172c389978da
+SIZE (chromium-full-mirror-external_github.com_llvm_llvm-project_libcxxabi-fc1897a2c12aa27e703c3ed48b62eba8abf4ce19_GH0.tar.gz) = 802447
+SHA256 (chromium-full-mirror-external_github.com_llvm_llvm-project_libunwind-45120ee2331193c3650acc9c427ed267fab31d62_GH0.tar.gz) = 4936afc0eafd8105c9491ddb7177139c38e0f1a1e7e34487467b5dc430090220
+SIZE (chromium-full-mirror-external_github.com_llvm_llvm-project_libunwind-45120ee2331193c3650acc9c427ed267fab31d62_GH0.tar.gz) = 184988
+SHA256 (chromium-full-mirror-external_github.com_llvm_llvm-project_libc-43a9a99ce4b5a04954090f8a0e74bf2786f59379_GH0.tar.gz) = a3b565fbf471d0713484a884857a83061992ac0a586f7fba4675a79d02640ed0
+SIZE (chromium-full-mirror-external_github.com_llvm_llvm-project_libc-43a9a99ce4b5a04954090f8a0e74bf2786f59379_GH0.tar.gz) = 7803777
+SHA256 (chromium-full-mirror-chromium_src_base_allocator_partition_allocator-c029851c21b7e1154fa3964e08c97710adc92cc7_GH0.tar.gz) = d7002df0e0340663b3f1aa47fefddd39e4e28a3afb30aaed02742e04d8f25556
+SIZE (chromium-full-mirror-chromium_src_base_allocator_partition_allocator-c029851c21b7e1154fa3964e08c97710adc92cc7_GH0.tar.gz) = 875488
+SHA256 (chromium-full-mirror-chromium_src_third_party_protobuf-5f8c379d1fc89fe8eee16ae560dd5e514a4608da_GH0.tar.gz) = 22f7f208c4aa0a0eba38b92b5ad5a0b96570f17fa6998741a47cc86dfe0ea911
+SIZE (chromium-full-mirror-chromium_src_third_party_protobuf-5f8c379d1fc89fe8eee16ae560dd5e514a4608da_GH0.tar.gz) = 7071701
+SHA256 (chromium-full-mirror-chromium_src_tools_protoc_wrapper-e9dbe1bf6a2a5d2d4973725874259eed587cf18d_GH0.tar.gz) = f1cd02acacdabea17c4e0e5c312982cd94ab4bfabbe8f20d77baa473313125cb
+SIZE (chromium-full-mirror-chromium_src_tools_protoc_wrapper-e9dbe1bf6a2a5d2d4973725874259eed587cf18d_GH0.tar.gz) = 4446
+SHA256 (chromium-full-mirror-chromium_src_third_party_simdutf-f7356eed293f8208c40b3c1b344a50bd70971983_GH0.tar.gz) = ba5584a4392a5189f8cc3849b946c5733b0b3a3cce006b57b611fb3d5e9987a4
+SIZE (chromium-full-mirror-chromium_src_third_party_simdutf-f7356eed293f8208c40b3c1b344a50bd70971983_GH0.tar.gz) = 425405
+SHA256 (chromium-full-mirror-chromium_src_third_party_zlib-285e94b8fa95ad3b7d16b80798ec8dce6febb8c8_GH0.tar.gz) = f475529f556543306ddd530db33afb7e7cb91180a1840c259636d5a83c088861
+SIZE (chromium-full-mirror-chromium_src_third_party_zlib-285e94b8fa95ad3b7d16b80798ec8dce6febb8c8_GH0.tar.gz) = 1385592
diff --git a/lang/v8/files/patch-BUILD.gn b/lang/v8/files/patch-BUILD.gn
index 4b82ca33ceb5..3271655bdcfc 100644
--- a/lang/v8/files/patch-BUILD.gn
+++ b/lang/v8/files/patch-BUILD.gn
@@ -1,6 +1,6 @@
---- BUILD.gn.orig 2026-09-28 16:35:08 UTC
+--- BUILD.gn.orig 2026-10-05 07:40:58 UTC
+++ BUILD.gn
-@@ -7398,7 +7398,7 @@ v8_component("v8_libbase") {
+@@ -7615,7 +7615,7 @@ v8_component("v8_libbase") {
}
}
@@ -9,7 +9,7 @@
sources += [
"src/base/debug/stack_trace_posix.cc",
"src/base/platform/platform-linux.cc",
-@@ -7416,6 +7416,12 @@ v8_component("v8_libbase") {
+@@ -7633,6 +7633,12 @@ v8_component("v8_libbase") {
]
libs = [ "dl" ]
@@ -22,7 +22,7 @@
} else if (is_android) {
if (current_toolchain == host_toolchain) {
libs = [
-@@ -7987,6 +7993,9 @@ if (v8_monolithic) {
+@@ -8206,6 +8212,9 @@ if (v8_monolithic) {
":v8_libplatform",
"//build/win:default_exe_manifest",
]
diff --git a/lang/v8/files/patch-build_config_BUILDCONFIG.gn b/lang/v8/files/patch-build_config_BUILDCONFIG.gn
index 8a193256b423..344bd7b6022e 100644
--- a/lang/v8/files/patch-build_config_BUILDCONFIG.gn
+++ b/lang/v8/files/patch-build_config_BUILDCONFIG.gn
@@ -1,6 +1,6 @@
---- build/config/BUILDCONFIG.gn.orig 2026-09-30 02:11:56 UTC
+--- build/config/BUILDCONFIG.gn.orig 2026-09-01 03:36:21 UTC
+++ build/config/BUILDCONFIG.gn
-@@ -222,8 +222,8 @@ if (host_toolchain == "") {
+@@ -224,8 +224,8 @@ if (host_toolchain == "") {
# TODO(dpranke): Add some sort of assert here that verifies that
# no toolchain omitted host_toolchain from its toolchain_args().
@@ -11,7 +11,7 @@
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
} else if (is_clang) {
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
-@@ -262,7 +262,7 @@ if (target_os == "android") {
+@@ -264,7 +264,7 @@ if (target_os == "android") {
# Targeting android on Mac is best-effort and not guaranteed to work.
assert(host_os == "linux", "Android builds are only supported on Linux.")
_default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
@@ -20,7 +20,7 @@
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
if (is_clang) {
_default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -335,11 +335,12 @@ is_ios = current_os == "ios"
+@@ -337,11 +337,12 @@ is_ios = current_os == "ios"
is_chromeos = current_os == "chromeos"
is_fuchsia = current_os == "fuchsia"
is_ios = current_os == "ios"
@@ -34,7 +34,16 @@
is_apple = is_ios || is_mac || is_watchos
is_posix = !is_win && !is_fuchsia
-@@ -628,6 +629,7 @@ foreach(_target_type,
+@@ -625,6 +626,8 @@ foreach(_target_type,
+ filter_include([ _current_label ], STRICT_DEPS_EXCLUDE) == [] ||
+ filter_include([ _current_label ], STRICT_DEPS_INCLUDE) != []
+ }
++ # devel/gn predates check_includes_strict (added in gn 2489)
++ not_needed([ "check_includes_strict" ])
+
+ if (use_libcxx_modules && is_clang) {
+ if (strict_deps) {
+@@ -637,6 +640,7 @@ foreach(_target_type,
if (!defined(generate_modulemap)) {
generate_modulemap = default_modulemap_mode
}
@@ -42,7 +51,16 @@
if (use_libcxx_modules) {
# Add a dependency needed for Clang modules builds.
-@@ -764,6 +766,7 @@ foreach(_target_type,
+@@ -768,6 +772,8 @@ foreach(_target_type,
+ filter_include([ _current_label ], STRICT_DEPS_EXCLUDE) == [] ||
+ filter_include([ _current_label ], STRICT_DEPS_INCLUDE) != []
+ }
++ # devel/gn predates check_includes_strict (added in gn 2489)
++ not_needed([ "check_includes_strict" ])
+
+ if (use_libcxx_modules && is_clang) {
+ if (strict_deps) {
+@@ -780,6 +786,7 @@ foreach(_target_type,
if (!defined(generate_modulemap)) {
generate_modulemap = default_modulemap_mode
}
diff --git a/lang/v8/files/patch-src_api_api.cc b/lang/v8/files/patch-src_api_api.cc
index 37d21456c147..a974fbacb091 100644
--- a/lang/v8/files/patch-src_api_api.cc
+++ b/lang/v8/files/patch-src_api_api.cc
@@ -1,6 +1,6 @@
---- src/api/api.cc.orig 2026-09-28 16:35:08 UTC
+--- src/api/api.cc.orig 2026-10-05 07:40:58 UTC
+++ src/api/api.cc
-@@ -6495,7 +6495,7 @@ bool v8::V8::Initialize(const int build_config) {
+@@ -6527,7 +6527,7 @@ bool v8::V8::Initialize(const int build_config) {
return true;
}
diff --git a/lang/v8/files/patch-src_objects_js-temporal-zoneinfo64.cc b/lang/v8/files/patch-src_objects_js-temporal-zoneinfo64.cc
new file mode 100644
index 000000000000..620d5c6c9c91
--- /dev/null
+++ b/lang/v8/files/patch-src_objects_js-temporal-zoneinfo64.cc
@@ -0,0 +1,33 @@
+--- src/objects/js-temporal-zoneinfo64.cc.orig 2026-10-08 06:17:53 UTC
++++ src/objects/js-temporal-zoneinfo64.cc
+@@ -11,7 +11,11 @@
+ #include "temporal_rs/TimeZone.hpp"
+
+ #ifdef V8_INTL_SUPPORT
+-#include "udatamem.h"
++#include "unicode/udata.h"
++// udatamem.h is internal to ICU and not installed by devel/icu; declare the
++// two accessors from it that libicuuc exports.
++U_CAPI int32_t U_EXPORT2 udata_getLength(const UDataMemory* pData);
++U_CAPI const void* U_EXPORT2 udata_getRawMemory(const UDataMemory* pData);
+ #else
+ // Defined in builtins-temporal-zoneinfo64-data.cc, generated by
+ // include-file-as-bytes.py
+@@ -32,8 +36,16 @@ ZoneInfo64Provider::ZoneInfo64Provider() {
+ }
+ // NOT udata_getLength: this ignores the header,
+ // and we're parsing resb files with the header
+- auto length = memory->length;
++ // Without UDataMemory's definition, add the header back to what
++ // udata_getLength reports.
+ const void* data = udata_getRawMemory(memory);
++ auto body_length = udata_getLength(memory);
++ if (body_length < 0) {
++ provider = temporal_rs::Provider::empty();
++ return;
++ }
++ auto length = body_length + (static_cast<const char*>(udata_getMemory(memory)) -
++ static_cast<const char*>(data));
+ DCHECK_WITH_MSG(length % 4 == 0, "ICU4C should align udata to uint32_t");
+ if (length % 4 != 0) {
+ // This really shouldn't happen: ICU4C aligns these files
diff --git a/lang/v8/files/patch-tools_metagen_clang__bootstrap.py b/lang/v8/files/patch-tools_metagen_clang__bootstrap.py
new file mode 100644
index 000000000000..b03f4fcbeb8a
--- /dev/null
+++ b/lang/v8/files/patch-tools_metagen_clang__bootstrap.py
@@ -0,0 +1,14 @@
+--- tools/metagen/clang_bootstrap.py.orig 2026-10-08 04:42:29 UTC
++++ tools/metagen/clang_bootstrap.py
+@@ -158,6 +158,11 @@ def bootstrap_native(native_so: str,
+ sys.exit(1)
+ cindex.Config.set_library_file(native_so)
+
++ # cindex before LLVM 21 defines Cursor.__eq__ without __hash__, which
++ # makes cursors unhashable; metagen keeps them in sets.
++ if cindex.Cursor.__hash__ is None:
++ cindex.Cursor.__hash__ = lambda self: self.hash
++
+ # Log the libclang version and warn if it is older than the clang
+ # toolchain, so a mismatch is discoverable.
+ get_version = getattr(cindex.Config(), "get_clang_version", None)
diff --git a/lang/v8/files/temporal_capi-BUILD.gn.in b/lang/v8/files/temporal_capi-BUILD.gn.in
new file mode 100644
index 000000000000..df5105312eb2
--- /dev/null
+++ b/lang/v8/files/temporal_capi-BUILD.gn.in
@@ -0,0 +1,38 @@
+# Replaces //third_party/rust/temporal_capi/BUILD.gn from Chromium, which
+# builds the crate with GN and needs the Chromium Rust toolchain. The crate
+# is built with cargo in pre-build instead; use its headers and link the
+# resulting static library.
+
+config("temporal_capi_versioning_defines") {
+ defines = [ "TEMPORAL_CAPI_VERSION_0_2" ]
+}
+
+config("temporal_capi_include_dirs") {
+ include_dirs = [ "%%TEMPORAL_CAPI_DIR%%/bindings/cpp" ]
+}
+
+# The system libraries are what "rustc --print native-static-libs" reports
+# for a static library that links std.
+config("temporal_capi_lib") {
+ libs = [
+ "%%TEMPORAL_CAPI_LIB%%",
+ "devstat",
+ "execinfo",
+ "gcc_s",
+ "kvm",
+ "m",
+ "memstat",
+ "procstat",
+ "pthread",
+ "rt",
+ "util",
+ ]
+}
+
+group("temporal_capi") {
+ public_configs = [
+ ":temporal_capi_include_dirs",
+ ":temporal_capi_lib",
+ ":temporal_capi_versioning_defines",
+ ]
+}
diff --git a/lang/v8/files/temporal_capi-Cargo.lock b/lang/v8/files/temporal_capi-Cargo.lock
new file mode 100644
index 000000000000..4925d1016e78
--- /dev/null
+++ b/lang/v8/files/temporal_capi-Cargo.lock
@@ -0,0 +1,481 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "autocfg"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
+
+[[package]]
+name = "calendrical_calculations"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26"
+dependencies = [
+ "core_maths",
+ "displaydoc",
+]
+
+[[package]]
+name = "core_maths"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30"
+dependencies = [
+ "libm",
+]
+
+[[package]]
+name = "diplomat"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8b37a6cea72eb6df5143d3e091d4c34cb0cf4046dd1ddcc082988886fe1f809"
+dependencies = [
+ "diplomat_core",
+ "proc-macro2",
+ "quote",
+ "syn 3.0.4",
+]
+
+[[package]]
+name = "diplomat-runtime"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25b2f28ba90d2ffa95a531ea479769d4a6b2f5f187cd76ab5fd3bdcd64b3603e"
+
+[[package]]
+name = "diplomat_core"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73b18e806f9ecb92df828d080efe47984ae1193958295d4a84fb8b32c9a1aa1b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde",
+ "smallvec",
+ "strck",
+ "syn 3.0.4",
+]
+
+[[package]]
+name = "displaydoc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 3.0.4",
+]
+
+[[package]]
+name = "icu_calendar"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45"
+dependencies = [
+ "calendrical_calculations",
+ "displaydoc",
+ "icu_calendar_data",
+ "icu_locale",
+ "icu_locale_core",
+ "icu_provider",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_calendar_data"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d"
+
+[[package]]
+name = "icu_collections"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c"
+dependencies = [
+ "displaydoc",
+ "potential_utf",
+ "utf8_iter",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locale"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26"
+dependencies = [
+ "icu_collections",
+ "icu_locale_core",
+ "icu_locale_data",
+ "icu_provider",
+ "potential_utf",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locale_core"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb"
+dependencies = [
+ "displaydoc",
+ "litemap",
+ "serde",
+ "tinystr",
+ "writeable",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locale_data"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993"
+
+[[package]]
+name = "icu_provider"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73"
+dependencies = [
+ "displaydoc",
+ "icu_locale_core",
+ "serde",
+ "stable_deref_trait",
+ "writeable",
+ "yoke",
+ "zerofrom",
+ "zerotrie",
+ "zerovec",
+]
+
+[[package]]
+name = "ixdtf"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d3667095d64c3ecffc96463a21157b04bf3e252f6e8d5750b20c02e33c194e3"
+
+[[package]]
+name = "libm"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
+
+[[package]]
+name = "litemap"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae"
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "potential_utf"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661"
+dependencies = [
+ "serde_core",
+ "writeable",
+ "zerovec",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "resb"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22d392791f3c6802a1905a509e9d1a6039cbbcb5e9e00e5a6d3661f7c874f390"
+dependencies = [
+ "potential_utf",
+ "serde_core",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
+dependencies = [
+ "serde_core",
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_core"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 3.0.4",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
+
+[[package]]
+name = "strck"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42316e70da376f3d113a68d138a60d8a9883c604fe97942721ec2068dab13a9f"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.119"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
*** 215 LINES SKIPPED ***