git: e9470a9be26e - main - misc/codex: Update to 0.117.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 28 Mar 2026 18:48:52 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e9470a9be26e66d9c7ce27cd3b2cd17abcb1d8f8
commit e9470a9be26e66d9c7ce27cd3b2cd17abcb1d8f8
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-03-28 18:44:27 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-03-28 18:48:41 +0000
misc/codex: Update to 0.117.0
Patches for v8 crate have been obtained from www/deno port. [1]
Changelog: https://github.com/openai/codex/releases/tag/rust-v0.117.0
Reported by: GitHub (watch releases)
Obtained from: https://cgit.freebsd.org/ports/tree/www/deno [1]
---
misc/codex/Makefile | 33 ++--
misc/codex/Makefile.crates | 36 +++--
misc/codex/distinfo | 78 +++++++---
misc/codex/files/patch-cargo-crates_v8-146.4.0_.gn | 13 ++
.../files/patch-cargo-crates_v8-146.4.0_build.rs | 34 +++++
...h-cargo-crates_v8-146.4.0_build_config_BUILD.gn | 21 +++
...o-crates_v8-146.4.0_build_config_BUILDCONFIG.gn | 44 ++++++
...-crates_v8-146.4.0_build_config_c++_modules.gni | 11 ++
...o-crates_v8-146.4.0_build_config_clang_BUILD.gn | 25 ++++
...rates_v8-146.4.0_build_config_compiler_BUILD.gn | 166 +++++++++++++++++++++
...o-crates_v8-146.4.0_build_config_linux_BUILD.gn | 13 ++
...tes_v8-146.4.0_build_config_linux_pkg-config.py | 11 ++
...tes_v8-146.4.0_build_config_v8__target__cpu.gni | 11 ++
...o-crates_v8-146.4.0_build_detect__host__arch.py | 11 ++
...argo-crates_v8-146.4.0_build_gn__run__binary.py | 11 ++
...-cargo-crates_v8-146.4.0_build_linux_chrome.map | 13 ++
...rates_v8-146.4.0_build_linux_unbundle_libusb.gn | 30 ++++
...tes_v8-146.4.0_build_toolchain_freebsd_BUILD.gn | 69 +++++++++
...146.4.0_build_toolchain_gcc__solink__wrapper.py | 11 ++
...s_v8-146.4.0_build_toolchain_gcc__toolchain.gni | 43 ++++++
...o-crates_v8-146.4.0_build_toolchain_sysroot.gni | 12 ++
...crates_v8-146.4.0_build_toolchain_toolchain.gni | 11 ++
....4.0_third__party_abseil-cpp_absl_base_config.h | 21 +++
..._party_abseil-cpp_absl_base_internal_sysinfo.cc | 52 +++++++
.../patch-cargo-crates_v8-146.4.0_v8_BUILD.gn | 44 ++++++
...h-cargo-crates_v8-146.4.0_v8_include_v8config.h | 38 +++++
...patch-cargo-crates_v8-146.4.0_v8_src_api_api.cc | 20 +++
...atch-cargo-crates_v8-146.4.0_v8_src_base_cpu.cc | 18 +++
...46.4.0_v8_src_base_platform_platform-freebsd.cc | 32 ++++
...-146.4.0_v8_src_base_platform_platform-posix.cc | 62 ++++++++
...rates_v8-146.4.0_v8_src_diagnostics_perf-jit.cc | 12 ++
...crates_v8-146.4.0_v8_src_diagnostics_perf-jit.h | 12 ++
32 files changed, 979 insertions(+), 39 deletions(-)
diff --git a/misc/codex/Makefile b/misc/codex/Makefile
index ac03a87f203c..7bb7ae298f9b 100644
--- a/misc/codex/Makefile
+++ b/misc/codex/Makefile
@@ -1,7 +1,6 @@
PORTNAME= codex
DISTVERSIONPREFIX= rust-v
-DISTVERSION= 0.116.0
-PORTREVISION= 1
+DISTVERSION= 0.117.0
CATEGORIES= misc devel
MAINTAINER= tagattie@FreeBSD.org
@@ -14,6 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_i386= fails to build: rustc-LLVM ERROR: out of memory
+BUILD_DEPENDS= gn:devel/gn
LIB_DEPENDS= libzstd.so:archivers/zstd \
libasound.so:audio/alsa-lib \
libdbus-1.so:devel/dbus \
@@ -22,12 +22,16 @@ RUN_DEPENDS= bash:shells/bash \
rg:textproc/ripgrep
TEST_DEPENDS= bash:shells/bash
-USES= cargo python:test shebangfix ssl
+USES= cargo gnome llvm:min=19 ninja:build python:test shebangfix ssl
USE_GITHUB= yes
GH_ACCOUNT= openai
-SHEBANG_FILES= codex-rs/skills/src/assets/samples/skill-creator/scripts/generate_openai_yaml.py \
+USE_GNOME= glib20
+
+SHEBANG_FILES= codex-rs/skills/src/assets/samples/imagegen/scripts/image_gen.py \
+ codex-rs/skills/src/assets/samples/plugin-creator/scripts/create_basic_plugin.py \
+ codex-rs/skills/src/assets/samples/skill-creator/scripts/generate_openai_yaml.py \
codex-rs/skills/src/assets/samples/skill-creator/scripts/init_skill.py \
codex-rs/skills/src/assets/samples/skill-creator/scripts/quick_validate.py \
codex-rs/skills/src/assets/samples/skill-installer/scripts/github_utils.py \
@@ -42,7 +46,13 @@ CARGO_CARGOLOCK= ${BUILD_WRKSRC}/Cargo.lock
CARGO_BUILD_ARGS= --bin ${PORTNAME}
CARGO_INSTALL_PATH= codex-rs
CARGO_TEST_ARGS= --all-features --no-fail-fast
-CARGO_ENV= OPENSSL_NO_VENDOR=1
+CARGO_ENV= OPENSSL_NO_VENDOR=1 \
+ V8_FROM_SOURCE=1 \
+ GN=${LOCALBASE}/bin/gn \
+ NINJA=${NINJA_CMD} \
+ CLANG_BASE_PATH=/usr
+
+BINARY_ALIAS= python3=${PYTHON_CMD}
BUILD_WRKSRC= ${WRKSRC}/codex-rs
@@ -63,7 +73,6 @@ post-patch:
${BUILD_WRKSRC}/cli/src/debug_sandbox/pid_tracker.rs \
${BUILD_WRKSRC}/core/src/command_canonicalization.rs \
${BUILD_WRKSRC}/core/src/environment_context.rs \
- ${BUILD_WRKSRC}/core/src/exec.rs \
${BUILD_WRKSRC}/core/src/exec_policy.rs \
${BUILD_WRKSRC}/core/src/exec_policy_tests.rs \
${BUILD_WRKSRC}/core/src/exec_tests.rs \
@@ -83,23 +92,29 @@ post-patch:
@${REINPLACE_CMD} -e 's|python3|${PYTHON_VERSION}|' \
${BUILD_WRKSRC}/app-server/tests/suite/v2/command_exec.rs \
${BUILD_WRKSRC}/app-server/tests/suite/v2/thread_resume.rs \
+ ${BUILD_WRKSRC}/app-server/tests/suite/v2/thread_shell_command.rs \
${BUILD_WRKSRC}/app-server/tests/suite/v2/turn_start.rs \
${BUILD_WRKSRC}/app-server/tests/suite/v2/turn_start_zsh_fork.rs \
- ${BUILD_WRKSRC}/core/src/command_canonicalization.rs \
+ ${BUILD_WRKSRC}/core-skills/src/invocation_utils.rs \
+ ${BUILD_WRKSRC}/core-skills/src/invocation_utils_tests.rs \
+ ${BUILD_WRKSRC}/core/src/command_canonicalization_tests.rs \
${BUILD_WRKSRC}/core/src/exec_policy.rs \
${BUILD_WRKSRC}/core/src/exec_policy_tests.rs \
- ${BUILD_WRKSRC}/core/src/seatbelt_tests.rs \
- ${BUILD_WRKSRC}/core/src/skills/invocation_utils.rs \
${BUILD_WRKSRC}/core/tests/suite/approvals.rs \
${BUILD_WRKSRC}/core/tests/suite/hooks.rs \
${BUILD_WRKSRC}/core/tests/suite/seatbelt.rs \
${BUILD_WRKSRC}/core/tests/suite/tools.rs \
${BUILD_WRKSRC}/core/tests/suite/unified_exec.rs \
+ ${BUILD_WRKSRC}/exec-server/tests/exec_process.rs \
${BUILD_WRKSRC}/exec/tests/suite/sandbox.rs \
${BUILD_WRKSRC}/execpolicy/tests/basic.rs \
+ ${BUILD_WRKSRC}/hooks/src/events/post_tool_use.rs \
${BUILD_WRKSRC}/shell-command/src/bash.rs \
${BUILD_WRKSRC}/shell-command/src/command_safety/is_safe_command.rs \
${BUILD_WRKSRC}/tui/src/render/highlight.rs \
+ ${BUILD_WRKSRC}/tui_app_server/src/app.rs \
+ ${BUILD_WRKSRC}/tui_app_server/src/chatwidget/tests.rs \
+ ${BUILD_WRKSRC}/tui_app_server/src/exec_command.rs \
${BUILD_WRKSRC}/tui_app_server/src/render/highlight.rs \
${BUILD_WRKSRC}/utils/pty/src/tests.rs
diff --git a/misc/codex/Makefile.crates b/misc/codex/Makefile.crates
index 868315a4fc4d..894b1e19f390 100644
--- a/misc/codex/Makefile.crates
+++ b/misc/codex/Makefile.crates
@@ -31,14 +31,10 @@ CARGO_CRATES= Inflector-0.11.4 \
anyhow-1.0.101 \
arbitrary-1.4.2 \
arboard-3.6.1 \
- arc-swap-1.8.2 \
+ arc-swap-1.9.0 \
arrayvec-0.7.6 \
ascii-1.1.0 \
ascii-canvas-3.0.0 \
- askama-0.15.4 \
- askama_derive-0.15.4 \
- askama_macros-0.15.4 \
- askama_parser-0.15.4 \
asn1-rs-0.7.1 \
asn1-rs-derive-0.6.0 \
asn1-rs-impl-0.2.0 \
@@ -62,8 +58,8 @@ CARGO_CRATES= Inflector-0.11.4 \
atoi-2.0.0 \
atomic-waker-1.1.2 \
autocfg-1.5.0 \
- aws-lc-rs-1.15.4 \
- aws-lc-sys-0.37.0 \
+ aws-lc-rs-1.16.2 \
+ aws-lc-sys-0.39.0 \
axum-0.8.8 \
axum-core-0.5.6 \
backtrace-0.3.76 \
@@ -97,6 +93,7 @@ CARGO_CRATES= Inflector-0.11.4 \
cached-0.56.0 \
cached_proc_macro-0.25.0 \
cached_proc_macro_types-0.1.1 \
+ calendrical_calculations-0.2.3 \
cassowary-0.3.0 \
castaway-0.2.4 \
cbc-0.1.2 \
@@ -140,6 +137,7 @@ CARGO_CRATES= Inflector-0.11.4 \
core-foundation-0.9.4 \
core-foundation-0.10.1 \
core-foundation-sys-0.8.7 \
+ core_maths-0.1.1 \
coreaudio-rs-0.11.3 \
coreaudio-sys-0.2.17 \
cpal-0.15.3 \
@@ -195,6 +193,9 @@ CARGO_CRATES= Inflector-0.11.4 \
difflib-0.4.0 \
diffy-0.4.2 \
digest-0.10.7 \
+ diplomat-0.14.0 \
+ diplomat-runtime-0.14.0 \
+ diplomat_core-0.14.0 \
dirs-6.0.0 \
dirs-next-2.0.0 \
dirs-sys-0.5.0 \
@@ -263,6 +264,7 @@ CARGO_CRATES= Inflector-0.11.4 \
form_urlencoded-1.2.2 \
fs_extra-1.3.0 \
fsevent-sys-4.1.0 \
+ fslock-0.2.1 \
futures-0.3.31 \
futures-channel-0.3.31 \
futures-core-0.3.31 \
@@ -285,6 +287,7 @@ CARGO_CRATES= Inflector-0.11.4 \
gimli-0.32.3 \
glob-0.3.3 \
globset-0.4.18 \
+ gzip-header-1.0.0 \
h2-0.4.13 \
half-2.7.1 \
hashbrown-0.12.3 \
@@ -322,6 +325,8 @@ CARGO_CRATES= Inflector-0.11.4 \
i18n-embed-impl-0.8.4 \
iana-time-zone-0.1.65 \
iana-time-zone-haiku-0.1.2 \
+ icu_calendar-2.1.1 \
+ icu_calendar_data-2.1.1 \
icu_collections-2.1.1 \
icu_decimal-2.1.1 \
icu_decimal_data-2.1.1 \
@@ -365,12 +370,14 @@ CARGO_CRATES= Inflector-0.11.4 \
itertools-0.13.0 \
itertools-0.14.0 \
itoa-1.0.17 \
+ ixdtf-0.6.4 \
jiff-0.2.18 \
jiff-static-0.2.18 \
jni-0.21.1 \
jni-sys-0.3.0 \
jobserver-0.1.34 \
js-sys-0.3.85 \
+ jsonwebtoken-9.3.1 \
keyring-3.6.3 \
kqueue-1.1.1 \
kqueue-sys-1.0.4 \
@@ -531,6 +538,7 @@ CARGO_CRATES= Inflector-0.11.4 \
predicates-core-1.0.9 \
predicates-tree-1.0.12 \
pretty_assertions-1.4.1 \
+ prettyplease-0.2.37 \
proc-macro-crate-3.4.0 \
proc-macro-error-attr2-2.0.0 \
proc-macro-error2-2.0.1 \
@@ -592,6 +600,7 @@ CARGO_CRATES= Inflector-0.11.4 \
regex-syntax-0.6.29 \
regex-syntax-0.8.8 \
reqwest-0.12.28 \
+ resb-0.1.1 \
resolv-conf-0.7.6 \
ring-0.17.14 \
rmcp-0.15.0 \
@@ -611,7 +620,7 @@ CARGO_CRATES= Inflector-0.11.4 \
rustls-0.23.36 \
rustls-native-certs-0.8.3 \
rustls-pki-types-1.14.0 \
- rustls-webpki-0.103.9 \
+ rustls-webpki-0.103.10 \
rustversion-1.0.22 \
rustyline-14.0.0 \
ryu-1.0.22 \
@@ -679,6 +688,7 @@ CARGO_CRATES= Inflector-0.11.4 \
simd-adler32-0.3.8 \
simdutf8-0.1.5 \
similar-2.7.0 \
+ simple_asn1-0.6.4 \
siphasher-1.0.2 \
slab-0.4.12 \
smallvec-1.15.1 \
@@ -703,6 +713,7 @@ CARGO_CRATES= Inflector-0.11.4 \
starlark_syntax-0.13.0 \
static_assertions-1.1.0 \
stop-words-0.9.0 \
+ strck-1.0.0 \
streaming-iterator-0.1.9 \
string_cache-0.8.9 \
stringprep-0.1.5 \
@@ -711,6 +722,7 @@ CARGO_CRATES= Inflector-0.11.4 \
strum-0.26.3 \
strum-0.27.2 \
strum_macros-0.26.4 \
+ strum_macros-0.27.2 \
strum_macros-0.28.0 \
subtle-2.6.1 \
supports-color-2.1.0 \
@@ -724,8 +736,10 @@ CARGO_CRATES= Inflector-0.11.4 \
system-configuration-0.6.1 \
system-configuration-sys-0.6.0 \
tagptr-0.2.0 \
- tar-0.4.44 \
+ tar-0.4.45 \
tempfile-3.24.0 \
+ temporal_capi-0.1.2 \
+ temporal_rs-0.1.2 \
term-0.7.0 \
termcolor-1.4.1 \
terminal_size-0.4.3 \
@@ -746,6 +760,7 @@ CARGO_CRATES= Inflector-0.11.4 \
time-0.3.47 \
time-core-0.1.8 \
time-macros-0.2.27 \
+ timezone_provider-0.1.2 \
tiny-keccak-2.0.2 \
tiny_http-0.12.0 \
tinystr-0.8.2 \
@@ -821,6 +836,7 @@ CARGO_CRATES= Inflector-0.11.4 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
uuid-1.20.0 \
+ v8-146.4.0 \
valuable-0.1.1 \
vcpkg-0.2.15 \
version_check-0.9.5 \
@@ -851,6 +867,7 @@ CARGO_CRATES= Inflector-0.11.4 \
webpki-roots-0.26.11 \
webpki-roots-1.0.5 \
weezl-0.1.12 \
+ which-6.0.3 \
which-8.0.0 \
whoami-1.6.1 \
widestring-1.2.1 \
@@ -957,6 +974,7 @@ CARGO_CRATES= Inflector-0.11.4 \
zerovec-derive-0.11.2 \
zip-2.4.2 \
zmij-1.0.19 \
+ zoneinfo64-0.2.1 \
zopfli-0.8.3 \
zstd-0.13.3 \
zstd-safe-7.2.4 \
diff --git a/misc/codex/distinfo b/misc/codex/distinfo
index b5167a2e377e..b8d9fd2af7b2 100644
--- a/misc/codex/distinfo
+++ b/misc/codex/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1773974560
+TIMESTAMP = 1774663348
SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
SHA256 (rust/crates/actix-codec-0.5.2.crate) = 5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a
@@ -65,22 +65,14 @@ SHA256 (rust/crates/arbitrary-1.4.2.crate) = c3d036a3c4ab069c7b410a2ce876bd74808
SIZE (rust/crates/arbitrary-1.4.2.crate) = 38307
SHA256 (rust/crates/arboard-3.6.1.crate) = 0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf
SIZE (rust/crates/arboard-3.6.1.crate) = 54018
-SHA256 (rust/crates/arc-swap-1.8.2.crate) = f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5
-SIZE (rust/crates/arc-swap-1.8.2.crate) = 80791
+SHA256 (rust/crates/arc-swap-1.9.0.crate) = a07d1f37ff60921c83bdfc7407723bdefe89b44b98a9b772f225c8f9d67141a6
+SIZE (rust/crates/arc-swap-1.9.0.crate) = 81357
SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
SHA256 (rust/crates/ascii-1.1.0.crate) = d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16
SIZE (rust/crates/ascii-1.1.0.crate) = 36075
SHA256 (rust/crates/ascii-canvas-3.0.0.crate) = 8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6
SIZE (rust/crates/ascii-canvas-3.0.0.crate) = 10575
-SHA256 (rust/crates/askama-0.15.4.crate) = 08e1676b346cadfec169374f949d7490fd80a24193d37d2afce0c047cf695e57
-SIZE (rust/crates/askama-0.15.4.crate) = 48949
-SHA256 (rust/crates/askama_derive-0.15.4.crate) = 7661ff56517787343f376f75db037426facd7c8d3049cef8911f1e75016f3a37
-SIZE (rust/crates/askama_derive-0.15.4.crate) = 100714
-SHA256 (rust/crates/askama_macros-0.15.4.crate) = 713ee4dbfd1eb719c2dab859465b01fa1d21cb566684614a713a6b7a99a4e47b
-SIZE (rust/crates/askama_macros-0.15.4.crate) = 8340
-SHA256 (rust/crates/askama_parser-0.15.4.crate) = 1d62d674238a526418b30c0def480d5beadb9d8964e7f38d635b03bf639c704c
-SIZE (rust/crates/askama_parser-0.15.4.crate) = 66545
SHA256 (rust/crates/asn1-rs-0.7.1.crate) = 56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60
SIZE (rust/crates/asn1-rs-0.7.1.crate) = 92118
SHA256 (rust/crates/asn1-rs-derive-0.6.0.crate) = 3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c
@@ -127,10 +119,10 @@ SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d
SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
-SHA256 (rust/crates/aws-lc-rs-1.15.4.crate) = 7b7b6141e96a8c160799cc2d5adecd5cbbe5054cb8c7c4af53da0f83bb7ad256
-SIZE (rust/crates/aws-lc-rs-1.15.4.crate) = 218620
-SHA256 (rust/crates/aws-lc-sys-0.37.0.crate) = 5c34dda4df7017c8db52132f0f8a2e0f8161649d15723ed63fc00c82d0f2081a
-SIZE (rust/crates/aws-lc-sys-0.37.0.crate) = 9589032
+SHA256 (rust/crates/aws-lc-rs-1.16.2.crate) = a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc
+SIZE (rust/crates/aws-lc-rs-1.16.2.crate) = 224799
+SHA256 (rust/crates/aws-lc-sys-0.39.0.crate) = 1fa7e52a4c5c547c741610a2c6f123f3881e409b714cd27e6798ef020c514f0a
+SIZE (rust/crates/aws-lc-sys-0.39.0.crate) = 9461007
SHA256 (rust/crates/axum-0.8.8.crate) = 8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8
SIZE (rust/crates/axum-0.8.8.crate) = 178829
SHA256 (rust/crates/axum-core-0.5.6.crate) = 08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1
@@ -197,6 +189,8 @@ SHA256 (rust/crates/cached_proc_macro-0.25.0.crate) = 9225bdcf4e4a9a4c08bf166079
SIZE (rust/crates/cached_proc_macro-0.25.0.crate) = 11890
SHA256 (rust/crates/cached_proc_macro_types-0.1.1.crate) = ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0
SIZE (rust/crates/cached_proc_macro_types-0.1.1.crate) = 1813
+SHA256 (rust/crates/calendrical_calculations-0.2.3.crate) = 3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7
+SIZE (rust/crates/calendrical_calculations-0.2.3.crate) = 69028
SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53
SIZE (rust/crates/cassowary-0.3.0.crate) = 22876
SHA256 (rust/crates/castaway-0.2.4.crate) = dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a
@@ -283,6 +277,8 @@ SHA256 (rust/crates/core-foundation-0.10.1.crate) = b2a6cd9ae233e7f62ba4e9353e81
SIZE (rust/crates/core-foundation-0.10.1.crate) = 28886
SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/core_maths-0.1.1.crate) = 77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
+SIZE (rust/crates/core_maths-0.1.1.crate) = 6528
SHA256 (rust/crates/coreaudio-rs-0.11.3.crate) = 321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace
SIZE (rust/crates/coreaudio-rs-0.11.3.crate) = 42844
SHA256 (rust/crates/coreaudio-sys-0.2.17.crate) = ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6
@@ -393,6 +389,12 @@ SHA256 (rust/crates/diffy-0.4.2.crate) = b545b8c50194bdd008283985ab0b31dba153cfd
SIZE (rust/crates/diffy-0.4.2.crate) = 37945
SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/diplomat-0.14.0.crate) = 9adb46b05e2f53dcf6a7dfc242e4ce9eb60c369b6b6eb10826a01e93167f59c6
+SIZE (rust/crates/diplomat-0.14.0.crate) = 22805
+SHA256 (rust/crates/diplomat-runtime-0.14.0.crate) = 0569bd3caaf13829da7ee4e83dbf9197a0e1ecd72772da6d08f0b4c9285c8d29
+SIZE (rust/crates/diplomat-runtime-0.14.0.crate) = 18232
+SHA256 (rust/crates/diplomat_core-0.14.0.crate) = 51731530ed7f2d4495019abc7df3744f53338e69e2863a6a64ae91821c763df1
+SIZE (rust/crates/diplomat_core-0.14.0.crate) = 125097
SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
SIZE (rust/crates/dirs-6.0.0.crate) = 14190
SHA256 (rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
@@ -529,6 +531,8 @@ SHA256 (rust/crates/fs_extra-1.3.0.crate) = 42703706b716c37f96a77aea830392ad231f
SIZE (rust/crates/fs_extra-1.3.0.crate) = 31298
SHA256 (rust/crates/fsevent-sys-4.1.0.crate) = 76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2
SIZE (rust/crates/fsevent-sys-4.1.0.crate) = 4620
+SHA256 (rust/crates/fslock-0.2.1.crate) = 04412b8935272e3a9bae6f48c7bfff74c2911f60525404edfdd28e49884c3bfb
+SIZE (rust/crates/fslock-0.2.1.crate) = 13463
SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
SIZE (rust/crates/futures-0.3.31.crate) = 54953
SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
@@ -573,6 +577,8 @@ SHA256 (rust/crates/glob-0.3.3.crate) = 0cc23270f6e1808e30a928bdc84dea0b9b4136a8
SIZE (rust/crates/glob-0.3.3.crate) = 22861
SHA256 (rust/crates/globset-0.4.18.crate) = 52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3
SIZE (rust/crates/globset-0.4.18.crate) = 28970
+SHA256 (rust/crates/gzip-header-1.0.0.crate) = 95cc527b92e6029a62960ad99aa8a6660faa4555fe5f731aab13aa6a921795a2
+SIZE (rust/crates/gzip-header-1.0.0.crate) = 12445
SHA256 (rust/crates/h2-0.4.13.crate) = 2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54
SIZE (rust/crates/h2-0.4.13.crate) = 176861
SHA256 (rust/crates/half-2.7.1.crate) = 6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b
@@ -647,6 +653,10 @@ SHA256 (rust/crates/iana-time-zone-0.1.65.crate) = e31bc9ad994ba00e440a8aa5c9ef0
SIZE (rust/crates/iana-time-zone-0.1.65.crate) = 34079
SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/icu_calendar-2.1.1.crate) = d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e
+SIZE (rust/crates/icu_calendar-2.1.1.crate) = 145306
+SHA256 (rust/crates/icu_calendar_data-2.1.1.crate) = 527f04223b17edfe0bd43baf14a0cb1b017830db65f3950dc00224860a9a446d
+SIZE (rust/crates/icu_calendar_data-2.1.1.crate) = 8384
SHA256 (rust/crates/icu_collections-2.1.1.crate) = 4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43
SIZE (rust/crates/icu_collections-2.1.1.crate) = 87233
SHA256 (rust/crates/icu_decimal-2.1.1.crate) = a38c52231bc348f9b982c1868a2af3195199623007ba2c7650f432038f5b3e8e
@@ -733,6 +743,8 @@ SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aab
SIZE (rust/crates/itertools-0.14.0.crate) = 152715
SHA256 (rust/crates/itoa-1.0.17.crate) = 92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2
SIZE (rust/crates/itoa-1.0.17.crate) = 15905
+SHA256 (rust/crates/ixdtf-0.6.4.crate) = 84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992
+SIZE (rust/crates/ixdtf-0.6.4.crate) = 33723
SHA256 (rust/crates/jiff-0.2.18.crate) = e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50
SIZE (rust/crates/jiff-0.2.18.crate) = 764726
SHA256 (rust/crates/jiff-static-0.2.18.crate) = e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78
@@ -745,6 +757,8 @@ SHA256 (rust/crates/jobserver-0.1.34.crate) = 9afb3de4395d6b3e67a780b6de64b51c97
SIZE (rust/crates/jobserver-0.1.34.crate) = 29013
SHA256 (rust/crates/js-sys-0.3.85.crate) = 8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3
SIZE (rust/crates/js-sys-0.3.85.crate) = 56436
+SHA256 (rust/crates/jsonwebtoken-9.3.1.crate) = 5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde
+SIZE (rust/crates/jsonwebtoken-9.3.1.crate) = 49398
SHA256 (rust/crates/keyring-3.6.3.crate) = eebcc3aff044e5944a8fbaf69eb277d11986064cba30c468730e8b9909fb551c
SIZE (rust/crates/keyring-3.6.3.crate) = 67500
SHA256 (rust/crates/kqueue-1.1.1.crate) = eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a
@@ -1065,6 +1079,8 @@ SHA256 (rust/crates/predicates-tree-1.0.12.crate) = 72dd2d6d381dfb73a193c7fca536
SIZE (rust/crates/predicates-tree-1.0.12.crate) = 8392
SHA256 (rust/crates/pretty_assertions-1.4.1.crate) = 3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d
SIZE (rust/crates/pretty_assertions-1.4.1.crate) = 78952
+SHA256 (rust/crates/prettyplease-0.2.37.crate) = 479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b
+SIZE (rust/crates/prettyplease-0.2.37.crate) = 72033
SHA256 (rust/crates/proc-macro-crate-3.4.0.crate) = 219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983
SIZE (rust/crates/proc-macro-crate-3.4.0.crate) = 12690
SHA256 (rust/crates/proc-macro-error-attr2-2.0.0.crate) = 96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5
@@ -1187,6 +1203,8 @@ SHA256 (rust/crates/regex-syntax-0.8.8.crate) = 7a2d987857b319362043e95f5353c053
SIZE (rust/crates/regex-syntax-0.8.8.crate) = 359141
SHA256 (rust/crates/reqwest-0.12.28.crate) = eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147
SIZE (rust/crates/reqwest-0.12.28.crate) = 157031
+SHA256 (rust/crates/resb-0.1.1.crate) = 6a067ab3b5ca3b4dc307d0de9cf75f9f5e6ca9717b192b2f28a36c83e5de9e76
+SIZE (rust/crates/resb-0.1.1.crate) = 162588
SHA256 (rust/crates/resolv-conf-0.7.6.crate) = 1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7
SIZE (rust/crates/resolv-conf-0.7.6.crate) = 17955
SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7
@@ -1225,8 +1243,8 @@ SHA256 (rust/crates/rustls-native-certs-0.8.3.crate) = 612460d5f7bea540c490b2b63
SIZE (rust/crates/rustls-native-certs-0.8.3.crate) = 30380
SHA256 (rust/crates/rustls-pki-types-1.14.0.crate) = be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd
SIZE (rust/crates/rustls-pki-types-1.14.0.crate) = 35403
-SHA256 (rust/crates/rustls-webpki-0.103.9.crate) = d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53
-SIZE (rust/crates/rustls-webpki-0.103.9.crate) = 85813
+SHA256 (rust/crates/rustls-webpki-0.103.10.crate) = df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef
+SIZE (rust/crates/rustls-webpki-0.103.10.crate) = 85648
SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
SHA256 (rust/crates/rustyline-14.0.0.crate) = 7803e8936da37efd9b6d4478277f4b2b9bb5cdb37a113e8d63222e58da647e63
@@ -1361,6 +1379,8 @@ SHA256 (rust/crates/simdutf8-0.1.5.crate) = e3a9fe34e3e7a50316060351f37187a3f546
SIZE (rust/crates/simdutf8-0.1.5.crate) = 28488
SHA256 (rust/crates/similar-2.7.0.crate) = bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa
SIZE (rust/crates/similar-2.7.0.crate) = 53928
+SHA256 (rust/crates/simple_asn1-0.6.4.crate) = 0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d
+SIZE (rust/crates/simple_asn1-0.6.4.crate) = 18842
SHA256 (rust/crates/siphasher-1.0.2.crate) = b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e
SIZE (rust/crates/siphasher-1.0.2.crate) = 11416
SHA256 (rust/crates/slab-0.4.12.crate) = 0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5
@@ -1409,6 +1429,8 @@ SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1
SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
SHA256 (rust/crates/stop-words-0.9.0.crate) = 645a3d441ccf4bf47f2e4b7681461986681a6eeea9937d4c3bc9febd61d17c71
SIZE (rust/crates/stop-words-0.9.0.crate) = 111799
+SHA256 (rust/crates/strck-1.0.0.crate) = 42316e70da376f3d113a68d138a60d8a9883c604fe97942721ec2068dab13a9f
+SIZE (rust/crates/strck-1.0.0.crate) = 10262
SHA256 (rust/crates/streaming-iterator-0.1.9.crate) = 2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520
SIZE (rust/crates/streaming-iterator-0.1.9.crate) = 18482
SHA256 (rust/crates/string_cache-0.8.9.crate) = bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f
@@ -1425,6 +1447,8 @@ SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5
SIZE (rust/crates/strum-0.27.2.crate) = 8489
SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be
SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531
+SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7
+SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
SHA256 (rust/crates/strum_macros-0.28.0.crate) = ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664
SIZE (rust/crates/strum_macros-0.28.0.crate) = 30964
SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
@@ -1451,10 +1475,14 @@ SHA256 (rust/crates/system-configuration-sys-0.6.0.crate) = 8e1d1b10ced5ca923a1f
SIZE (rust/crates/system-configuration-sys-0.6.0.crate) = 11090
SHA256 (rust/crates/tagptr-0.2.0.crate) = 7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417
SIZE (rust/crates/tagptr-0.2.0.crate) = 13320
-SHA256 (rust/crates/tar-0.4.44.crate) = 1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a
-SIZE (rust/crates/tar-0.4.44.crate) = 61020
+SHA256 (rust/crates/tar-0.4.45.crate) = 22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973
+SIZE (rust/crates/tar-0.4.45.crate) = 67847
SHA256 (rust/crates/tempfile-3.24.0.crate) = 655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c
SIZE (rust/crates/tempfile-3.24.0.crate) = 40849
+SHA256 (rust/crates/temporal_capi-0.1.2.crate) = a151e402c2bdb6a3a2a2f3f225eddaead2e7ce7dd5d3fa2090deb11b17aa4ed8
+SIZE (rust/crates/temporal_capi-0.1.2.crate) = 75354
+SHA256 (rust/crates/temporal_rs-0.1.2.crate) = 88afde3bd75d2fc68d77a914bece426aa08aa7649ffd0cdd4a11c3d4d33474d1
+SIZE (rust/crates/temporal_rs-0.1.2.crate) = 178461
SHA256 (rust/crates/term-0.7.0.crate) = c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f
SIZE (rust/crates/term-0.7.0.crate) = 37082
SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
@@ -1495,6 +1523,8 @@ SHA256 (rust/crates/time-core-0.1.8.crate) = 7694e1cfe791f8d31026952abf09c69ca6f
SIZE (rust/crates/time-core-0.1.8.crate) = 9634
SHA256 (rust/crates/time-macros-0.2.27.crate) = 2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215
SIZE (rust/crates/time-macros-0.2.27.crate) = 25144
+SHA256 (rust/crates/timezone_provider-0.1.2.crate) = df9ba0000e9e73862f3e7ca1ff159e2ddf915c9d8bb11e38a7874760f445d993
+SIZE (rust/crates/timezone_provider-0.1.2.crate) = 125463
SHA256 (rust/crates/tiny-keccak-2.0.2.crate) = 2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237
SIZE (rust/crates/tiny-keccak-2.0.2.crate) = 20129
SHA256 (rust/crates/tiny_http-0.12.0.crate) = 389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82
@@ -1645,6 +1675,8 @@ SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faec
SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
SHA256 (rust/crates/uuid-1.20.0.crate) = ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f
SIZE (rust/crates/uuid-1.20.0.crate) = 60654
+SHA256 (rust/crates/v8-146.4.0.crate) = d97bcac5cdc5a195a4813f1855a6bc658f240452aac36caa12fd6c6f16026ab1
+SIZE (rust/crates/v8-146.4.0.crate) = 35566225
SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65
SIZE (rust/crates/valuable-0.1.1.crate) = 28679
SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
@@ -1705,6 +1737,8 @@ SHA256 (rust/crates/webpki-roots-1.0.5.crate) = 12bed680863276c63889429bfd6cab3b
SIZE (rust/crates/webpki-roots-1.0.5.crate) = 241985
SHA256 (rust/crates/weezl-0.1.12.crate) = a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88
SIZE (rust/crates/weezl-0.1.12.crate) = 46045
+SHA256 (rust/crates/which-6.0.3.crate) = b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f
+SIZE (rust/crates/which-6.0.3.crate) = 16937
SHA256 (rust/crates/which-8.0.0.crate) = d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d
SIZE (rust/crates/which-8.0.0.crate) = 26209
SHA256 (rust/crates/whoami-1.6.1.crate) = 5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d
@@ -1917,6 +1951,8 @@ SHA256 (rust/crates/zip-2.4.2.crate) = fabe6324e908f85a1c52063ce7aa26b68dcb7eb6d
SIZE (rust/crates/zip-2.4.2.crate) = 110773
SHA256 (rust/crates/zmij-1.0.19.crate) = 3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445
SIZE (rust/crates/zmij-1.0.19.crate) = 23948
+SHA256 (rust/crates/zoneinfo64-0.2.1.crate) = bb2e5597efbe7c421da8a7fd396b20b571704e787c21a272eecf35dfe9d386f0
+SIZE (rust/crates/zoneinfo64-0.2.1.crate) = 80706
SHA256 (rust/crates/zopfli-0.8.3.crate) = f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249
SIZE (rust/crates/zopfli-0.8.3.crate) = 51589
SHA256 (rust/crates/zstd-0.13.3.crate) = e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a
@@ -1951,5 +1987,5 @@ SHA256 (openai-oss-forks-tungstenite-rs-9200079d3b54a1ff51072e24d81fd354f085156f
SIZE (openai-oss-forks-tungstenite-rs-9200079d3b54a1ff51072e24d81fd354f085156f_GH0.tar.gz) = 293929
SHA256 (openai-oss-forks-tokio-tungstenite-132f5b39c862e3a970f731d709608b3e6276d5f6_GH0.tar.gz) = d533d657efccf27a6c11c86114998b1a777d5243696d19da2e180729bda7c47d
SIZE (openai-oss-forks-tokio-tungstenite-132f5b39c862e3a970f731d709608b3e6276d5f6_GH0.tar.gz) = 31620
-SHA256 (openai-codex-rust-v0.116.0_GH0.tar.gz) = 37affa694148a0fdda1bd8f335de86075a517cb9bd45b21d798bc47550115b38
-SIZE (openai-codex-rust-v0.116.0_GH0.tar.gz) = 6546602
+SHA256 (openai-codex-rust-v0.117.0_GH0.tar.gz) = fa84af2e3dd24769c555329fb2d4eb7e48402f6b7ac4dbcb7db7acc5e27dd48a
+SIZE (openai-codex-rust-v0.117.0_GH0.tar.gz) = 6844073
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_.gn b/misc/codex/files/patch-cargo-crates_v8-146.4.0_.gn
new file mode 100644
index 000000000000..40f5d10765da
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_.gn
@@ -0,0 +1,13 @@
+--- cargo-crates/v8-146.4.0/.gn.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/.gn
+@@ -84,9 +84,7 @@ default_args = {
+ # TODO: third_party/compiler-rt missing?
+ use_llvm_libatomic = false
+
+- enable_rust = true
+- enable_rust_cxx = true
+- v8_enable_temporal_support = true
++ v8_enable_temporal_support = false
+
+ # prevent hashdos
+ v8_use_default_hasher_secret = false
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build.rs b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build.rs
new file mode 100644
index 000000000000..cd06737bff1e
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build.rs
@@ -0,0 +1,34 @@
+--- cargo-crates/v8-146.4.0/build.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build.rs
+@@ -253,7 +253,7 @@ fn build_v8(is_asan: bool) {
+ download_ninja_gn_binaries();
+ }
+
+- download_rust_toolchain();
++ //download_rust_toolchain();
+
+ // `#[cfg(...)]` attributes don't work as expected from build.rs -- they refer to the configuration
+ // of the host system which the build.rs script will be running on. In short, `cfg!(target_<os/arch>)`
+@@ -363,9 +363,11 @@ fn build_v8(is_asan: bool) {
+ if target_arch == "arm" {
+ gn_args.push(r#"target_cpu="arm""#.to_string());
+ gn_args.push(r#"v8_target_cpu="arm""#.to_string());
+- gn_args.push("use_sysroot=true".to_string());
+- maybe_install_sysroot("i386");
+- maybe_install_sysroot("arm");
++ if target_os == "linux" {
++ gn_args.push("use_sysroot=true".to_string());
++ maybe_install_sysroot("i386");
++ maybe_install_sysroot("arm");
++ }
+ }
+
+ let target_triple = env::var("TARGET").unwrap();
+@@ -385,7 +387,6 @@ fn build_v8(is_asan: bool) {
+ gn_args.push(format!(r#"target_cpu="{arch}""#).to_string());
+ gn_args.push(r#"target_os="android""#.to_string());
+ gn_args.push("treat_warnings_as_errors=false".to_string());
+- gn_args.push("use_sysroot=true".to_string());
+
+ // NDK 23 and above removes libgcc entirely.
+ // https://github.com/rust-lang/rust/pull/85806
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_BUILD.gn b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_BUILD.gn
new file mode 100644
index 000000000000..186eabd6534b
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_BUILD.gn
@@ -0,0 +1,21 @@
+--- cargo-crates/v8-146.4.0/build/config/BUILD.gn.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/BUILD.gn
+@@ -119,7 +119,7 @@ config("debug") {
+ # builds, and we have to tell it to turn it off.
+ defines += [ "_HAS_ITERATOR_DEBUGGING=0" ]
+ }
+- } else if ((is_linux || is_chromeos) && current_cpu == "x64" &&
++ } else if ((is_linux || is_bsd || is_chromeos) && current_cpu == "x64" &&
+ enable_iterator_debugging) {
+ # Enable libstdc++ debugging facilities to help catch problems early, see
+ # http://crbug.com/65151 .
+@@ -211,9 +211,7 @@ config("default_libs") {
+ libs = []
+ } else if (is_linux || is_chromeos) {
+ libs = [
+- "dl",
+ "pthread",
+- "rt",
+ ]
+ }
+ }
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_BUILDCONFIG.gn b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_BUILDCONFIG.gn
new file mode 100644
index 000000000000..747f631a1017
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_BUILDCONFIG.gn
@@ -0,0 +1,44 @@
+--- cargo-crates/v8-146.4.0/build/config/BUILDCONFIG.gn.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/BUILDCONFIG.gn
+@@ -136,7 +136,7 @@ declare_args() {
+ is_official_build = false
+
+ # Set to true when compiling with the Clang compiler.
+- is_clang = current_os != "linux" ||
++ is_clang = current_os != "linux" || current_os == "freebsd" ||
+ (current_cpu != "mips" && current_cpu != "mips64")
+
+ # Allows the path to a custom target toolchain to be injected as a single
+@@ -232,6 +232,8 @@ if (host_toolchain == "") {
+ host_toolchain = "//build/toolchain/aix:$host_cpu"
+ } else if (host_os == "zos") {
+ host_toolchain = "//build/toolchain/zos:$host_cpu"
++ } else if (host_os == "freebsd") {
++ host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu"
+ } else {
+ assert(false, "Unsupported host_os: $host_os")
+ }
+@@ -276,6 +278,8 @@ if (target_os == "android") {
+ _default_toolchain = "//build/toolchain/aix:$target_cpu"
+ } else if (target_os == "zos") {
+ _default_toolchain = "//build/toolchain/zos:$target_cpu"
++} else if (target_os == "openbsd" || target_os == "freebsd") {
++ _default_toolchain = host_toolchain
+ } else if (target_os == "emscripten") {
+ # Because it's too hard to remove all targets from //BUILD.gn that do not work with it.
+ assert(
+@@ -315,11 +319,13 @@ is_ios = current_os == "ios"
+ is_chromeos = current_os == "chromeos"
+ is_fuchsia = current_os == "fuchsia"
+ is_ios = current_os == "ios"
+-is_linux = current_os == "linux"
++is_linux = current_os == "linux" || current_os == "freebsd"
+ is_mac = current_os == "mac"
+ is_wasm = current_os == "emscripten"
+ is_watchos = current_os == "watchos"
+ is_win = current_os == "win" || current_os == "winuwp"
++is_freebsd = current_os == "freebsd"
++is_bsd = is_freebsd
+
+ is_apple = is_ios || is_mac || is_watchos
+ is_posix = !is_win && !is_fuchsia
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_c++_modules.gni b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_c++_modules.gni
new file mode 100644
index 000000000000..4e686cbffebd
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_c++_modules.gni
@@ -0,0 +1,11 @@
+--- cargo-crates/v8-146.4.0/build/config/c++/modules.gni.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/c++/modules.gni
+@@ -16,7 +16,7 @@ declare_args() {
+ # Eg. linux arm64 and windows were never supported with manual clang modules,
+ # so they should use_autogenerated_modules = true despite not having
+ # autogenerated modules because they're guarded by use_clang_modules.
+- use_autogenerated_modules = !(is_apple && use_system_xcode)
++ use_autogenerated_modules = !(is_apple && use_system_xcode) && !is_bsd
+ }
+
+ module_platform = "${current_os}-${current_cpu}"
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_clang_BUILD.gn b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_clang_BUILD.gn
new file mode 100644
index 000000000000..3d1d1000c461
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_clang_BUILD.gn
@@ -0,0 +1,25 @@
+--- cargo-crates/v8-146.4.0/build/config/clang/BUILD.gn.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/clang/BUILD.gn
+@@ -237,7 +237,12 @@ clang_lib("compiler_builtins") {
+
+ # Adds a dependency on the Clang runtime library clang_rt.builtins.
+ clang_lib("compiler_builtins") {
+- if (is_mac) {
++ if (is_bsd) {
++ # Since there's no Rust in the toolchain, there's no concern that we'll use
++ # the Rust stdlib's intrinsics here.
++ #
++ # Don't define libname which makes this target do nothing.
++ } else if (is_mac) {
+ libname = "osx"
+ } else if (is_ios) {
+ if (target_platform == "iphoneos") {
+@@ -262,7 +267,7 @@ clang_lib("compiler_builtins") {
+ assert(false, "unsupported target_platform=$target_platform")
+ }
+ } else if (current_cpu != "ppc64" && current_cpu != "s390x") {
+- libname = "builtins"
++ #libname = "builtins"
+ }
+ }
+
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_compiler_BUILD.gn b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_compiler_BUILD.gn
new file mode 100644
index 000000000000..df0bf0565a69
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_compiler_BUILD.gn
@@ -0,0 +1,166 @@
+--- cargo-crates/v8-146.4.0/build/config/compiler/BUILD.gn.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/compiler/BUILD.gn
+@@ -201,7 +201,7 @@ declare_args() {
+ # This greatly reduces the size of debug builds, at the cost of
+ # debugging information which is required by some specialized
+ # debugging tools.
+- simple_template_names = is_clang && !is_win && !is_apple
++ simple_template_names = is_clang && !is_win && !is_apple && !is_bsd
+
+ # This switch is used to enable -Wexit-time-destructors by default. This
+ # warning serves as a flip switch to allow a gradual migration of targets
+@@ -321,13 +321,16 @@ config("no_unresolved_symbols") {
+ # Compiler instrumentation can introduce dependencies in DSOs to symbols in
+ # the executable they are loaded into, so they are unresolved at link-time.
+ config("no_unresolved_symbols") {
+- if (!using_sanitizer &&
++ if (!using_sanitizer && !is_bsd &&
+ (is_linux || is_chromeos || is_android || is_fuchsia)) {
+ ldflags = [
+ "-Wl,-z,defs",
+ "-Wl,--as-needed",
+ ]
+ }
++ if (current_cpu == "x86" && is_freebsd) {
++ ldflags = [ "-Wl,-z,notext", "-Wl,--strip-all" ]
++ }
+ }
+
+ # compiler ---------------------------------------------------------------------
+@@ -489,7 +492,7 @@ config("compiler") {
+ }
+
+ # Linker warnings.
+- if (fatal_linker_warnings && !is_apple && current_os != "aix" &&
++ if (fatal_linker_warnings && !is_apple && !is_freebsd && current_os != "aix" &&
+ current_os != "zos") {
+ ldflags += [ "-Wl,--fatal-warnings" ]
+ }
+@@ -600,6 +603,10 @@ config("compiler") {
+ }
+ }
+
++ if (is_freebsd) {
++ ldflags += [ "-Wl,-z,wxneeded" ]
++ }
++
+ # Linux-specific compiler flags setup.
+ # ------------------------------------
+ if (use_icf && (!is_apple || use_lld)) {
+@@ -690,7 +697,7 @@ config("compiler") {
+ ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
+ }
+
+- if (is_clang) {
++ if (is_clang && !is_bsd) {
+ cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
+ if (save_reproducers_on_lld_crash && use_lld) {
+ ldflags += [
+@@ -1299,7 +1306,7 @@ config("compiler_cpu_abi") {
+ # CPU architecture. We may or may not be doing a cross compile now, so for
+ # simplicity we always explicitly set the architecture.
+ if (current_cpu == "x64") {
+- if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) {
++ if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device && !is_bsd) {
+ cflags += [ "--target=x86_64-unknown-linux-gnu" ]
+ ldflags += [ "--target=x86_64-unknown-linux-gnu" ]
+ } else {
+@@ -1313,7 +1320,7 @@ config("compiler_cpu_abi") {
+ ldflags += [ "-march=$cros_target_cpu_arch" ]
+ }
+ } else if (current_cpu == "x86") {
+- if (is_clang && !is_android && !is_chromeos_device) {
++ if (is_clang && !is_android && !is_chromeos_device && !is_bsd) {
+ cflags += [ "--target=i386-unknown-linux-gnu" ]
+ ldflags += [ "--target=i386-unknown-linux-gnu" ]
+ } else {
+@@ -1325,7 +1332,7 @@ config("compiler_cpu_abi") {
+ "-msse3",
+ ]
+ } else if (current_cpu == "arm") {
+- if (is_clang && !is_android && !is_chromeos_device) {
++ if (is_clang && !is_android && !is_chromeos_device && !is_bsd) {
+ cflags += [ "--target=arm-linux-gnueabihf" ]
+ ldflags += [ "--target=arm-linux-gnueabihf" ]
+ }
+@@ -1334,7 +1341,7 @@ config("compiler_cpu_abi") {
+ "-mfloat-abi=$arm_float_abi",
+ ]
+ } else if (current_cpu == "arm64") {
+- if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) {
++ if (is_clang && !is_bsd && !is_android && !is_fuchsia && !is_chromeos_device) {
+ cflags += [ "--target=aarch64-linux-gnu" ]
+ ldflags += [ "--target=aarch64-linux-gnu" ]
+ }
+@@ -1692,7 +1699,7 @@ config("compiler_deterministic") {
+ "-file-prefix-map",
+ rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir),
+ ]
+- if (!is_win) {
++ if (!is_win && !is_bsd) {
+ # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
+ asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
+ }
+@@ -1745,7 +1752,7 @@ config("clang_revision") {
+
+ config("clang_revision") {
+ if (is_clang && clang_base_path == default_clang_base_path &&
+- current_os != "zos") {
++ current_os != "zos" && !is_bsd) {
+ _perform_consistency_checks = current_toolchain == default_toolchain
+ if (llvm_force_head_revision) {
+ _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision"
+@@ -2541,7 +2548,7 @@ config("thin_archive") {
+ # 2. Remove the thin_archive config, so that the .a file actually contains all
+ # .o files, instead of just references to .o files in the build directoy
+ config("thin_archive") {
+- if ((is_apple && use_lld) || (is_linux && !is_clang) || current_os == "aix") {
++ if ((is_apple && use_lld) || (is_linux && !is_clang && !is_bsd) || current_os == "aix") {
+ # The macOS and iOS linker ld64.ldd doesn't support thin archive without
+ # symbol table, gcc on linux also throws the error `archive has no index`.
+ # AIX does support -s option, not -S option.
+@@ -2977,7 +2984,7 @@ config("afdo") {
+ # There are some targeted places that AFDO regresses, so we provide a separate
+ # config to allow AFDO to be disabled per-target.
+ config("afdo") {
+- if (is_clang) {
++ if (is_clang && !is_bsd) {
+ cflags = []
+ if (clang_emit_debug_info_for_profiling) {
+ # Add the following flags to generate debug info for profiling.
+@@ -3004,7 +3011,7 @@ config("afdo") {
+ cflags += [ "-Wno-backend-plugin" ]
+ inputs = [ _clang_sample_profile ]
+ }
+- } else if (auto_profile_path != "" && is_a_target_toolchain) {
++ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) {
+ cflags = [ "-fauto-profile=${auto_profile_path}" ]
+ inputs = [ auto_profile_path ]
+ }
+@@ -3113,7 +3120,7 @@ config("symbols") {
+ }
+
+ if (current_os != "zos") {
+- cflags += [ "-g2" ]
++ cflags += [ "-g0" ]
+ }
+
+ if (is_clang && !is_tsan && !is_asan) {
+@@ -3151,7 +3158,7 @@ config("symbols") {
+ ldflags += split_dwarf_flags
+ }
+
+- _enable_gdb_index = symbol_level == 2 && !is_apple && use_lld && !is_wasm
++ _enable_gdb_index = symbol_level == 2 && !is_apple && !is_bsd && use_lld && !is_wasm
+ if (_enable_gdb_index) {
+ if (is_clang) {
+ # This flag enables the GNU-format pubnames and pubtypes sections,
+@@ -3184,7 +3191,7 @@ config("symbols") {
+ cflags += [ "-gomit-unreferenced-methods" ]
+ }
+
+- if (is_clang) {
++ if (is_clang && !is_bsd) {
+ if (is_apple) {
+ # TODO(crbug.com/40117949): Investigate missing debug info on mac.
+ # Make sure we don't use constructor homing on mac.
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_linux_BUILD.gn b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_linux_BUILD.gn
new file mode 100644
index 000000000000..4231610fb12b
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_linux_BUILD.gn
@@ -0,0 +1,13 @@
+--- cargo-crates/v8-146.4.0/build/config/linux/BUILD.gn.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/linux/BUILD.gn
+@@ -40,10 +40,6 @@ config("runtime_library") {
+ defines = [ "OS_CHROMEOS" ]
+ }
+
+- if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") &&
+- (!use_custom_libcxx || current_cpu == "mipsel")) {
+- libs = [ "atomic" ]
+- }
+ }
+
+ config("libcap") {
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_linux_pkg-config.py b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_linux_pkg-config.py
new file mode 100644
index 000000000000..5bf7a5374c06
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_linux_pkg-config.py
@@ -0,0 +1,11 @@
+--- cargo-crates/v8-146.4.0/build/config/linux/pkg-config.py.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/linux/pkg-config.py
+@@ -108,7 +108,7 @@ def main():
+ # If this is run on non-Linux platforms, just return nothing and indicate
+ # success. This allows us to "kind of emulate" a Linux build from other
+ # platforms.
+- if "linux" not in sys.platform:
++ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])):
+ print("[[],[],[],[],[]]")
+ return 0
+
diff --git a/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_v8__target__cpu.gni b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_v8__target__cpu.gni
new file mode 100644
index 000000000000..829ccf77ff83
--- /dev/null
+++ b/misc/codex/files/patch-cargo-crates_v8-146.4.0_build_config_v8__target__cpu.gni
@@ -0,0 +1,11 @@
+--- cargo-crates/v8-146.4.0/build/config/v8_target_cpu.gni.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/v8-146.4.0/build/config/v8_target_cpu.gni
+@@ -36,6 +36,8 @@ if (v8_target_cpu == "") {
+ if (v8_target_cpu == "") {
+ if (current_toolchain == "//build/toolchain/linux:clang_x64_v8_arm64") {
*** 642 LINES SKIPPED ***