summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroki Tagato <tagattie@FreeBSD.org>2025-09-27 23:45:14 +0900
committerHiroki Tagato <tagattie@FreeBSD.org>2025-09-27 23:48:02 +0900
commit3b3f8b54b760ff25cd05a621b44c69dfbc229562 (patch)
tree182bd961c591d0a07e1612666c5c1d450349ada7
parentsecurity/git-credential-oauth: Update to 0.16.0 (diff)
misc/codex: update to 0.42.0
While here: - add missing test dependencies - add patches to adjust paths of bash and python3 executables Changelog: https://github.com/openai/codex/releases/tag/rust-v0.42.0 Reported by: GitHub (watch releases)
-rw-r--r--misc/codex/Makefile12
-rw-r--r--misc/codex/Makefile.crates28
-rw-r--r--misc/codex/distinfo62
-rw-r--r--misc/codex/files/patch-codex-rs_cli_Cargo.toml12
-rw-r--r--misc/codex/files/patch-codex-rs_cli_src_main.rs12
-rw-r--r--misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs60
-rw-r--r--misc/codex/files/patch-codex-rs_core_src_exec__command_exec__command__params.rs11
-rw-r--r--misc/codex/files/patch-codex-rs_core_src_exec__command_responses__api.rs11
-rw-r--r--misc/codex/files/patch-codex-rs_core_src_exec__command_session__manager.rs11
-rw-r--r--misc/codex/files/patch-codex-rs_core_src_unified__exec_mod.rs38
-rw-r--r--misc/codex/files/patch-codex-rs_core_tests_suite_exec.rs11
-rw-r--r--misc/codex/files/patch-codex-rs_core_tests_suite_user__notification.rs11
-rw-r--r--misc/codex/files/patch-codex-rs_exec_tests_suite_mod.rs6
13 files changed, 277 insertions, 8 deletions
diff --git a/misc/codex/Makefile b/misc/codex/Makefile
index b4435a465289..c1b376a2ae94 100644
--- a/misc/codex/Makefile
+++ b/misc/codex/Makefile
@@ -1,6 +1,6 @@
PORTNAME= codex
DISTVERSIONPREFIX= rust-v
-DISTVERSION= 0.41.0
+DISTVERSION= 0.42.0
CATEGORIES= misc devel
MAINTAINER= tagattie@FreeBSD.org
@@ -13,8 +13,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libonig.so:devel/oniguruma
RUN_DEPENDS= rg:textproc/ripgrep
+TEST_DEPENDS= bash:shells/bash
-USES= cargo ssl
+USES= cargo python:test ssl
USE_GITHUB= yes
GH_ACCOUNT= openai
@@ -40,6 +41,13 @@ COMPLETIONS_PLIST_FILES=etc/bash_completion.d/${PORTNAME} \
share/fish/completions/${PORTNAME}.fish \
share/zsh/site-functions/_${PORTNAME}
+post-patch:
+ @${REINPLACE_CMD} -e 's|/bin/bash|${LOCALBASE}&|' \
+ ${BUILD_WRKSRC}/core/src/environment_context.rs \
+ ${BUILD_WRKSRC}/core/src/shell.rs
+ @${REINPLACE_CMD} -e 's|python3|${PYTHON_VERSION}|' \
+ ${BUILD_WRKSRC}/core/src/exec_command/session_manager.rs
+
post-build-COMPLETIONS-on:
@${MKDIR} ${WRKSRC}/completions
.for sh in bash fish zsh
diff --git a/misc/codex/Makefile.crates b/misc/codex/Makefile.crates
index eb0e00d11445..c027b43d1e14 100644
--- a/misc/codex/Makefile.crates
+++ b/misc/codex/Makefile.crates
@@ -52,6 +52,7 @@ CARGO_CRATES= Inflector-0.11.4 \
cesu8-1.1.0 \
cfg-if-1.0.1 \
cfg_aliases-0.1.1 \
+ cfg_aliases-0.2.1 \
chrono-0.4.42 \
chunked_transfer-1.5.0 \
clap-4.5.47 \
@@ -83,9 +84,14 @@ CARGO_CRATES= Inflector-0.11.4 \
crunchy-0.2.4 \
crypto-common-0.1.6 \
ctor-0.1.26 \
+ ctor-0.5.0 \
+ ctor-proc-macro-0.0.6 \
darling-0.20.11 \
+ darling-0.21.3 \
darling_core-0.20.11 \
+ darling_core-0.21.3 \
darling_macro-0.20.11 \
+ darling_macro-0.21.3 \
deadpool-0.12.3 \
deadpool-runtime-0.1.4 \
debugserver-types-0.5.0 \
@@ -109,6 +115,8 @@ CARGO_CRATES= Inflector-0.11.4 \
doc-comment-0.3.3 \
dotenvy-0.15.7 \
downcast-rs-1.2.1 \
+ dtor-0.1.0 \
+ dtor-proc-macro-0.0.6 \
dupe-0.9.1 \
dupe_derive-0.9.1 \
dyn-clone-1.0.19 \
@@ -126,6 +134,7 @@ CARGO_CRATES= Inflector-0.11.4 \
erased-serde-0.3.31 \
errno-0.3.13 \
error-code-3.3.2 \
+ escargot-0.5.15 \
event-listener-5.4.0 \
event-listener-strategy-0.5.4 \
eventsource-stream-0.2.3 \
@@ -236,6 +245,7 @@ CARGO_CRATES= Inflector-0.11.4 \
logos-0.12.1 \
logos-derive-0.12.1 \
lru-0.12.5 \
+ lru-slab-0.1.2 \
lsp-types-0.94.1 \
maplit-1.0.2 \
matchers-0.2.0 \
@@ -253,6 +263,7 @@ CARGO_CRATES= Inflector-0.11.4 \
new_debug_unreachable-1.0.6 \
nibble_vec-0.1.0 \
nix-0.28.0 \
+ nix-0.30.1 \
nom-7.1.3 \
normalize-line-endings-0.3.0 \
nu-ansi-term-0.50.1 \
@@ -309,11 +320,15 @@ CARGO_CRATES= Inflector-0.11.4 \
predicates-tree-1.0.12 \
pretty_assertions-1.4.1 \
proc-macro2-1.0.95 \
+ process-wrap-8.2.1 \
pulldown-cmark-0.10.3 \
pulldown-cmark-escape-0.10.1 \
pxfm-0.1.23 \
quick-error-2.0.1 \
quick-xml-0.38.0 \
+ quinn-0.11.9 \
+ quinn-proto-0.11.13 \
+ quinn-udp-0.5.14 \
quote-1.0.40 \
r-efi-5.3.0 \
radix_trie-0.2.1 \
@@ -332,7 +347,10 @@ CARGO_CRATES= Inflector-0.11.4 \
regex-syntax-0.8.5 \
reqwest-0.12.23 \
ring-0.17.14 \
+ rmcp-0.7.0 \
+ rmcp-macros-0.7.0 \
rustc-demangle-0.1.25 \
+ rustc-hash-2.1.1 \
rustix-0.38.44 \
rustix-1.0.8 \
rustls-0.23.29 \
@@ -350,6 +368,7 @@ CARGO_CRATES= Inflector-0.11.4 \
schemars-0.9.0 \
schemars-1.0.4 \
schemars_derive-0.8.22 \
+ schemars_derive-1.0.4 \
scopeguard-1.2.0 \
seccompiler-0.5.0 \
security-framework-2.11.1 \
@@ -424,6 +443,8 @@ CARGO_CRATES= Inflector-0.11.4 \
tiny-keccak-2.0.2 \
tiny_http-0.12.0 \
tinystr-0.8.1 \
+ tinyvec-1.10.0 \
+ tinyvec_macros-0.1.1 \
tokio-1.47.1 \
tokio-macros-2.5.0 \
tokio-native-tls-0.3.1 \
@@ -486,7 +507,9 @@ CARGO_CRATES= Inflector-0.11.4 \
wasm-bindgen-shared-0.2.100 \
wasm-streams-0.4.2 \
web-sys-0.3.77 \
+ web-time-1.1.0 \
webbrowser-1.0.5 \
+ webpki-roots-1.0.2 \
weezl-0.1.10 \
which-6.0.3 \
wildmatch-2.5.0 \
@@ -494,11 +517,15 @@ CARGO_CRATES= Inflector-0.11.4 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.9 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.61.3 \
+ windows-collections-0.2.0 \
windows-core-0.61.2 \
+ windows-future-0.2.1 \
windows-implement-0.60.0 \
windows-interface-0.59.1 \
windows-link-0.1.3 \
windows-link-0.2.0 \
+ windows-numerics-0.2.0 \
windows-registry-0.5.3 \
windows-result-0.3.4 \
windows-strings-0.4.2 \
@@ -510,6 +537,7 @@ CARGO_CRATES= Inflector-0.11.4 \
windows-targets-0.48.5 \
windows-targets-0.52.6 \
windows-targets-0.53.2 \
+ windows-threading-0.1.0 \
windows_aarch64_gnullvm-0.42.2 \
windows_aarch64_gnullvm-0.48.5 \
windows_aarch64_gnullvm-0.52.6 \
diff --git a/misc/codex/distinfo b/misc/codex/distinfo
index 5a49245005d4..965098acf32d 100644
--- a/misc/codex/distinfo
+++ b/misc/codex/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1758850925
+TIMESTAMP = 1758959755
SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
@@ -107,6 +107,8 @@ SHA256 (rust/crates/cfg-if-1.0.1.crate) = 9555578bc9e57714c812a1f84e4fc5b4d21fcb
SIZE (rust/crates/cfg-if-1.0.1.crate) = 8683
SHA256 (rust/crates/cfg_aliases-0.1.1.crate) = fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e
SIZE (rust/crates/cfg_aliases-0.1.1.crate) = 6009
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
SIZE (rust/crates/chrono-0.4.42.crate) = 238174
SHA256 (rust/crates/chunked_transfer-1.5.0.crate) = 6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901
@@ -169,12 +171,22 @@ SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d
SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
SHA256 (rust/crates/ctor-0.1.26.crate) = 6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096
SIZE (rust/crates/ctor-0.1.26.crate) = 10803
+SHA256 (rust/crates/ctor-0.5.0.crate) = 67773048316103656a637612c4a62477603b777d91d9c62ff2290f9cde178fdb
+SIZE (rust/crates/ctor-0.5.0.crate) = 14210
+SHA256 (rust/crates/ctor-proc-macro-0.0.6.crate) = e2931af7e13dc045d8e9d26afccc6fa115d64e115c9c84b1166288b46f6782c2
+SIZE (rust/crates/ctor-proc-macro-0.0.6.crate) = 6435
SHA256 (rust/crates/darling-0.20.11.crate) = fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee
SIZE (rust/crates/darling-0.20.11.crate) = 37614
+SHA256 (rust/crates/darling-0.21.3.crate) = 9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0
+SIZE (rust/crates/darling-0.21.3.crate) = 41398
SHA256 (rust/crates/darling_core-0.20.11.crate) = 0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e
SIZE (rust/crates/darling_core-0.20.11.crate) = 68006
+SHA256 (rust/crates/darling_core-0.21.3.crate) = 1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4
+SIZE (rust/crates/darling_core-0.21.3.crate) = 74471
SHA256 (rust/crates/darling_macro-0.20.11.crate) = fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead
SIZE (rust/crates/darling_macro-0.20.11.crate) = 2532
+SHA256 (rust/crates/darling_macro-0.21.3.crate) = d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81
+SIZE (rust/crates/darling_macro-0.21.3.crate) = 2535
SHA256 (rust/crates/deadpool-0.12.3.crate) = 0be2b1d1d6ec8d846f05e137292d0b89133caf95ef33695424c09568bdd39b1b
SIZE (rust/crates/deadpool-0.12.3.crate) = 45380
SHA256 (rust/crates/deadpool-runtime-0.1.4.crate) = 092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b
@@ -221,6 +233,10 @@ SHA256 (rust/crates/dotenvy-0.15.7.crate) = 1aaf95b3e5c8f23aa320147307562d361db0
SIZE (rust/crates/dotenvy-0.15.7.crate) = 20293
SHA256 (rust/crates/downcast-rs-1.2.1.crate) = 75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2
SIZE (rust/crates/downcast-rs-1.2.1.crate) = 11821
+SHA256 (rust/crates/dtor-0.1.0.crate) = e58a0764cddb55ab28955347b45be00ade43d4d6f3ba4bf3dc354e4ec9432934
+SIZE (rust/crates/dtor-0.1.0.crate) = 11358
+SHA256 (rust/crates/dtor-proc-macro-0.0.6.crate) = f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5
+SIZE (rust/crates/dtor-proc-macro-0.0.6.crate) = 6448
SHA256 (rust/crates/dupe-0.9.1.crate) = 6ed2bc011db9c93fbc2b6cdb341a53737a55bafb46dbb74cf6764fc33a2fbf9c
SIZE (rust/crates/dupe-0.9.1.crate) = 7525
SHA256 (rust/crates/dupe_derive-0.9.1.crate) = 83e195b4945e88836d826124af44fdcb262ec01ef94d44f14f4fb5103f19892a
@@ -255,6 +271,8 @@ SHA256 (rust/crates/errno-0.3.13.crate) = 778e2ac28f6c47af28e4907f13ffd1e1ddbd40
SIZE (rust/crates/errno-0.3.13.crate) = 12449
SHA256 (rust/crates/error-code-3.3.2.crate) = dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59
SIZE (rust/crates/error-code-3.3.2.crate) = 8516
+SHA256 (rust/crates/escargot-0.5.15.crate) = 11c3aea32bc97b500c9ca6a72b768a26e558264303d101d3409cf6d57a9ed0cf
+SIZE (rust/crates/escargot-0.5.15.crate) = 21657
SHA256 (rust/crates/event-listener-5.4.0.crate) = 3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae
SIZE (rust/crates/event-listener-5.4.0.crate) = 43452
SHA256 (rust/crates/event-listener-strategy-0.5.4.crate) = 8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93
@@ -475,6 +493,8 @@ SHA256 (rust/crates/logos-derive-0.12.1.crate) = a1d849148dbaf9661a6151d1ca82b13
SIZE (rust/crates/logos-derive-0.12.1.crate) = 32282
SHA256 (rust/crates/lru-0.12.5.crate) = 234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38
SIZE (rust/crates/lru-0.12.5.crate) = 16047
+SHA256 (rust/crates/lru-slab-0.1.2.crate) = 112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154
+SIZE (rust/crates/lru-slab-0.1.2.crate) = 9090
SHA256 (rust/crates/lsp-types-0.94.1.crate) = c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1
SIZE (rust/crates/lsp-types-0.94.1.crate) = 66997
SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
@@ -509,6 +529,8 @@ SHA256 (rust/crates/nibble_vec-0.1.0.crate) = 77a5d83df9f36fe23f0c3648c6bbb8b029
SIZE (rust/crates/nibble_vec-0.1.0.crate) = 11796
SHA256 (rust/crates/nix-0.28.0.crate) = ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4
SIZE (rust/crates/nix-0.28.0.crate) = 311086
+SHA256 (rust/crates/nix-0.30.1.crate) = 74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6
+SIZE (rust/crates/nix-0.30.1.crate) = 342015
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
SHA256 (rust/crates/normalize-line-endings-0.3.0.crate) = 61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be
@@ -621,6 +643,8 @@ SHA256 (rust/crates/pretty_assertions-1.4.1.crate) = 3ae130e2f271fbc2ac3a40fb1d0
SIZE (rust/crates/pretty_assertions-1.4.1.crate) = 78952
SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
+SHA256 (rust/crates/process-wrap-8.2.1.crate) = a3ef4f2f0422f23a82ec9f628ea2acd12871c81a9362b02c43c1aa86acfc3ba1
+SIZE (rust/crates/process-wrap-8.2.1.crate) = 182312
SHA256 (rust/crates/pulldown-cmark-0.10.3.crate) = 76979bea66e7875e7509c4ec5300112b316af87fa7a252ca91c448b32dfe3993
SIZE (rust/crates/pulldown-cmark-0.10.3.crate) = 141746
SHA256 (rust/crates/pulldown-cmark-escape-0.10.1.crate) = bd348ff538bc9caeda7ee8cad2d1d48236a1f443c1fa3913c6a02fe0043b1dd3
@@ -631,6 +655,12 @@ SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedc
SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
SHA256 (rust/crates/quick-xml-0.38.0.crate) = 8927b0664f5c5a98265138b7e3f90aa19a6b21353182469ace36d4ac527b7b1b
SIZE (rust/crates/quick-xml-0.38.0.crate) = 196570
+SHA256 (rust/crates/quinn-0.11.9.crate) = b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20
+SIZE (rust/crates/quinn-0.11.9.crate) = 83606
+SHA256 (rust/crates/quinn-proto-0.11.13.crate) = f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31
+SIZE (rust/crates/quinn-proto-0.11.13.crate) = 243837
+SHA256 (rust/crates/quinn-udp-0.5.14.crate) = addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd
+SIZE (rust/crates/quinn-udp-0.5.14.crate) = 33436
SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
SIZE (rust/crates/quote-1.0.40.crate) = 31063
SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
@@ -667,8 +697,14 @@ SHA256 (rust/crates/reqwest-0.12.23.crate) = d429f34c8092b2d42c7c93cec323bb4adeb
SIZE (rust/crates/reqwest-0.12.23.crate) = 161307
SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7
SIZE (rust/crates/ring-0.17.14.crate) = 1502610
+SHA256 (rust/crates/rmcp-0.7.0.crate) = 534fd1cd0601e798ac30545ff2b7f4a62c6f14edd4aaed1cc5eb1e85f69f09af
+SIZE (rust/crates/rmcp-0.7.0.crate) = 180670
+SHA256 (rust/crates/rmcp-macros-0.7.0.crate) = 9ba777eb0e5f53a757e36f0e287441da0ab766564ba7201600eeb92a4753022e
+SIZE (rust/crates/rmcp-macros-0.7.0.crate) = 13213
SHA256 (rust/crates/rustc-demangle-0.1.25.crate) = 989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f
SIZE (rust/crates/rustc-demangle-0.1.25.crate) = 29590
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154
SIZE (rust/crates/rustix-0.38.44.crate) = 379347
SHA256 (rust/crates/rustix-1.0.8.crate) = 11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8
@@ -703,6 +739,8 @@ SHA256 (rust/crates/schemars-1.0.4.crate) = 82d20c4491bc164fa2f6c5d44565947a52ad
SIZE (rust/crates/schemars-1.0.4.crate) = 88282
SHA256 (rust/crates/schemars_derive-0.8.22.crate) = 32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d
SIZE (rust/crates/schemars_derive-0.8.22.crate) = 19542
+SHA256 (rust/crates/schemars_derive-1.0.4.crate) = 33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80
+SIZE (rust/crates/schemars_derive-1.0.4.crate) = 31126
SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
SHA256 (rust/crates/seccompiler-0.5.0.crate) = a4ae55de56877481d112a559bbc12667635fdaf5e005712fd4e2b2fa50ffc884
@@ -851,6 +889,10 @@ SHA256 (rust/crates/tiny_http-0.12.0.crate) = 389915df6413a2e74fb181895f93338602
SIZE (rust/crates/tiny_http-0.12.0.crate) = 51330
SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
+SHA256 (rust/crates/tinyvec-1.10.0.crate) = bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa
+SIZE (rust/crates/tinyvec-1.10.0.crate) = 51996
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
SHA256 (rust/crates/tokio-1.47.1.crate) = 89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038
SIZE (rust/crates/tokio-1.47.1.crate) = 829790
SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
@@ -975,8 +1017,12 @@ SHA256 (rust/crates/wasm-streams-0.4.2.crate) = 15053d8d85c7eccdbefef60f06769760
SIZE (rust/crates/wasm-streams-0.4.2.crate) = 36773
SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2
SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
+SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
+SIZE (rust/crates/web-time-1.1.0.crate) = 18026
SHA256 (rust/crates/webbrowser-1.0.5.crate) = aaf4f3c0ba838e82b4e5ccc4157003fb8c324ee24c058470ffb82820becbde98
SIZE (rust/crates/webbrowser-1.0.5.crate) = 56190
+SHA256 (rust/crates/webpki-roots-1.0.2.crate) = 7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2
+SIZE (rust/crates/webpki-roots-1.0.2.crate) = 255109
SHA256 (rust/crates/weezl-0.1.10.crate) = a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3
SIZE (rust/crates/weezl-0.1.10.crate) = 46418
SHA256 (rust/crates/which-6.0.3.crate) = b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f
@@ -991,8 +1037,14 @@ SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55
SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-0.61.3.crate) = 9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893
+SIZE (rust/crates/windows-0.61.3.crate) = 9372520
+SHA256 (rust/crates/windows-collections-0.2.0.crate) = 3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8
+SIZE (rust/crates/windows-collections-0.2.0.crate) = 13579
SHA256 (rust/crates/windows-core-0.61.2.crate) = c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3
SIZE (rust/crates/windows-core-0.61.2.crate) = 36771
+SHA256 (rust/crates/windows-future-0.2.1.crate) = fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e
+SIZE (rust/crates/windows-future-0.2.1.crate) = 17532
SHA256 (rust/crates/windows-implement-0.60.0.crate) = a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836
SIZE (rust/crates/windows-implement-0.60.0.crate) = 15073
SHA256 (rust/crates/windows-interface-0.59.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8
@@ -1001,6 +1053,8 @@ SHA256 (rust/crates/windows-link-0.1.3.crate) = 5e6ad25900d524eaabdbbb96d20b4311
SIZE (rust/crates/windows-link-0.1.3.crate) = 6154
SHA256 (rust/crates/windows-link-0.2.0.crate) = 45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65
SIZE (rust/crates/windows-link-0.2.0.crate) = 6170
+SHA256 (rust/crates/windows-numerics-0.2.0.crate) = 9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1
+SIZE (rust/crates/windows-numerics-0.2.0.crate) = 9686
SHA256 (rust/crates/windows-registry-0.5.3.crate) = 5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e
SIZE (rust/crates/windows-registry-0.5.3.crate) = 13386
SHA256 (rust/crates/windows-result-0.3.4.crate) = 56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6
@@ -1023,6 +1077,8 @@ SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d478
SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
SHA256 (rust/crates/windows-targets-0.53.2.crate) = c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef
SIZE (rust/crates/windows-targets-0.53.2.crate) = 7046
+SHA256 (rust/crates/windows-threading-0.1.0.crate) = b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6
+SIZE (rust/crates/windows-threading-0.1.0.crate) = 9085
SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
@@ -1127,5 +1183,5 @@ SHA256 (rust/crates/zune-jpeg-0.4.19.crate) = 2c9e525af0a6a658e031e95f14b7f88997
SIZE (rust/crates/zune-jpeg-0.4.19.crate) = 66341
SHA256 (nornagon-ratatui-9b2ad1298408c45918ee9f8241a6f95498cdbed2_GH0.tar.gz) = b252c02145e5abbfc170466788bbeeb53a3365fcbc8a5621f28f79badd1f6a70
SIZE (nornagon-ratatui-9b2ad1298408c45918ee9f8241a6f95498cdbed2_GH0.tar.gz) = 566574
-SHA256 (openai-codex-rust-v0.41.0_GH0.tar.gz) = 8f73c6f99621aa106d0a5a62ecee5f2754521ae05a6cd90f2b9a88b8cf24d749
-SIZE (openai-codex-rust-v0.41.0_GH0.tar.gz) = 27378186
+SHA256 (openai-codex-rust-v0.42.0_GH0.tar.gz) = e0ac101e004f6aa7b8b88d23e822e4fc157e390ee1646d435b06fd1a1e5378aa
+SIZE (openai-codex-rust-v0.42.0_GH0.tar.gz) = 27415056
diff --git a/misc/codex/files/patch-codex-rs_cli_Cargo.toml b/misc/codex/files/patch-codex-rs_cli_Cargo.toml
new file mode 100644
index 000000000000..628216c84f5f
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_cli_Cargo.toml
@@ -0,0 +1,12 @@
+--- codex-rs/cli/Cargo.toml.orig 2025-09-27 08:06:01 UTC
++++ codex-rs/cli/Cargo.toml
+@@ -52,6 +52,9 @@ libc = { workspace = true }
+ [target.'cfg(target_os = "macos")'.dependencies]
+ libc = { workspace = true }
+
++[target.'cfg(target_os = "freebsd")'.dependencies]
++libc = { workspace = true }
++
+ [dev-dependencies]
+ assert_cmd = { workspace = true }
+ predicates = { workspace = true }
diff --git a/misc/codex/files/patch-codex-rs_cli_src_main.rs b/misc/codex/files/patch-codex-rs_cli_src_main.rs
new file mode 100644
index 000000000000..577f39d19f85
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_cli_src_main.rs
@@ -0,0 +1,12 @@
+--- codex-rs/cli/src/main.rs.orig 2025-09-27 08:29:56 UTC
++++ codex-rs/cli/src/main.rs
+@@ -219,6 +219,9 @@ fn pre_main_hardening() {
+ #[cfg(target_os = "macos")]
+ crate::pre_main_hardening::pre_main_hardening_macos();
+
++ #[cfg(target_os = "freebsd")]
++ crate::pre_main_hardening::pre_main_hardening_freebsd();
++
+ #[cfg(windows)]
+ crate::pre_main_hardening::pre_main_hardening_windows();
+ }
diff --git a/misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs b/misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs
new file mode 100644
index 000000000000..7302568f4512
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs
@@ -0,0 +1,60 @@
+--- codex-rs/cli/src/pre_main_hardening.rs.orig 2025-09-26 18:28:59 UTC
++++ codex-rs/cli/src/pre_main_hardening.rs
+@@ -4,9 +4,12 @@ const PTRACE_DENY_ATTACH_FAILED_EXIT_CODE: i32 = 6;
+ #[cfg(target_os = "macos")]
+ const PTRACE_DENY_ATTACH_FAILED_EXIT_CODE: i32 = 6;
+
+-#[cfg(any(target_os = "linux", target_os = "android", target_os = "macos"))]
++#[cfg(any(target_os = "linux", target_os = "android", target_os = "macos", target_os = "freebsd"))]
+ const SET_RLIMIT_CORE_FAILED_EXIT_CODE: i32 = 7;
+
++#[cfg(target_os = "freebsd")]
++const PROCCTL_PROC_TRACE_CTL_FAILED_EXIT_CODE: i32 = 8;
++
+ #[cfg(any(target_os = "linux", target_os = "android"))]
+ pub(crate) fn pre_main_hardening_linux() {
+ // Disable ptrace attach / mark process non-dumpable.
+@@ -69,6 +72,43 @@ pub(crate) fn pre_main_hardening_macos() {
+ .collect();
+
+ for key in dyld_keys {
++ unsafe {
++ std::env::remove_var(key);
++ }
++ }
++}
++
++#[cfg(target_os = "freebsd")]
++pub(crate) fn pre_main_hardening_freebsd() {
++ // Prevent debuggers from attaching to this process
++ let mut arg = libc::PROC_TRACE_CTL_DISABLE_EXEC;
++ let ret_code = unsafe {
++ libc::procctl(libc::P_PID, 0, libc::PROC_TRACE_CTL, &mut arg as *mut _ as *mut libc::c_void)
++ };
++ if ret_code == -1 {
++ eprintln!(
++ "ERROR: procctl(PROC_TRACE_CTL) failed: {}",
++ std::io::Error::last_os_error()
++ );
++ std::process::exit(PROCCTL_PROC_TRACE_CTL_FAILED_EXIT_CODE);
++ }
++
++ // Set the core file size limit to 0 to prevent core dumps.
++ set_core_file_size_limit_to_zero();
++
++ // Remove all LD_ environment variables, which can be used to subvert
++ // library loading.
++ let ld_keys: Vec<String> = std::env::vars()
++ .filter_map(|(key, _)| {
++ if key.starts_with("LD_") {
++ Some(key)
++ } else {
++ None
++ }
++ })
++ .collect();
++
++ for key in ld_keys {
+ unsafe {
+ std::env::remove_var(key);
+ }
diff --git a/misc/codex/files/patch-codex-rs_core_src_exec__command_exec__command__params.rs b/misc/codex/files/patch-codex-rs_core_src_exec__command_exec__command__params.rs
new file mode 100644
index 000000000000..60eb99d35251
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_core_src_exec__command_exec__command__params.rs
@@ -0,0 +1,11 @@
+--- codex-rs/core/src/exec_command/exec_command_params.rs.orig 2025-09-27 09:00:51 UTC
++++ codex-rs/core/src/exec_command/exec_command_params.rs
+@@ -33,7 +33,7 @@ fn default_shell() -> String {
+ }
+
+ fn default_shell() -> String {
+- "/bin/bash".to_string()
++ "/bin/sh".to_string()
+ }
+
+ #[derive(Debug, Deserialize, Serialize)]
diff --git a/misc/codex/files/patch-codex-rs_core_src_exec__command_responses__api.rs b/misc/codex/files/patch-codex-rs_core_src_exec__command_responses__api.rs
new file mode 100644
index 000000000000..b900e89ad10f
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_core_src_exec__command_responses__api.rs
@@ -0,0 +1,11 @@
+--- codex-rs/core/src/exec_command/responses_api.rs.orig 2025-09-27 09:01:29 UTC
++++ codex-rs/core/src/exec_command/responses_api.rs
+@@ -29,7 +29,7 @@ pub fn create_exec_command_tool_for_responses_api() ->
+ properties.insert(
+ "shell".to_string(),
+ JsonSchema::String {
+- description: Some("The shell to use. Defaults to \"/bin/bash\".".to_string()),
++ description: Some("The shell to use. Defaults to \"/bin/sh\".".to_string()),
+ },
+ );
+ properties.insert(
diff --git a/misc/codex/files/patch-codex-rs_core_src_exec__command_session__manager.rs b/misc/codex/files/patch-codex-rs_core_src_exec__command_session__manager.rs
new file mode 100644
index 000000000000..a5db5d4efccb
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_core_src_exec__command_session__manager.rs
@@ -0,0 +1,11 @@
+--- codex-rs/core/src/exec_command/session_manager.rs.orig 2025-09-27 09:02:31 UTC
++++ codex-rs/core/src/exec_command/session_manager.rs
+@@ -376,7 +376,7 @@ PY"#
+ cmd,
+ yield_time_ms: 3_000,
+ max_output_tokens: 1_000, // large enough to avoid truncation here
+- shell: "/bin/bash".to_string(),
++ shell: "/bin/sh".to_string(),
+ login: false,
+ };
+ let initial_output = match session_manager
diff --git a/misc/codex/files/patch-codex-rs_core_src_unified__exec_mod.rs b/misc/codex/files/patch-codex-rs_core_src_unified__exec_mod.rs
new file mode 100644
index 000000000000..77088343e65d
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_core_src_unified__exec_mod.rs
@@ -0,0 +1,38 @@
+--- codex-rs/core/src/unified_exec/mod.rs.orig 2025-09-27 09:05:00 UTC
++++ codex-rs/core/src/unified_exec/mod.rs
+@@ -434,7 +434,7 @@ mod tests {
+ let open_shell = manager
+ .handle_request(UnifiedExecRequest {
+ session_id: None,
+- input_chunks: &["bash".to_string(), "-i".to_string()],
++ input_chunks: &["sh".to_string(), "-i".to_string()],
+ timeout_ms: Some(2_500),
+ })
+ .await?;
+@@ -473,7 +473,7 @@ mod tests {
+ let shell_a = manager
+ .handle_request(UnifiedExecRequest {
+ session_id: None,
+- input_chunks: &["/bin/bash".to_string(), "-i".to_string()],
++ input_chunks: &["/bin/sh".to_string(), "-i".to_string()],
+ timeout_ms: Some(2_500),
+ })
+ .await?;
+@@ -521,7 +521,7 @@ mod tests {
+ let open_shell = manager
+ .handle_request(UnifiedExecRequest {
+ session_id: None,
+- input_chunks: &["bash".to_string(), "-i".to_string()],
++ input_chunks: &["sh".to_string(), "-i".to_string()],
+ timeout_ms: Some(2_500),
+ })
+ .await?;
+@@ -616,7 +616,7 @@ mod tests {
+ let open_shell = manager
+ .handle_request(UnifiedExecRequest {
+ session_id: None,
+- input_chunks: &["/bin/bash".to_string(), "-i".to_string()],
++ input_chunks: &["/bin/sh".to_string(), "-i".to_string()],
+ timeout_ms: Some(2_500),
+ })
+ .await?;
diff --git a/misc/codex/files/patch-codex-rs_core_tests_suite_exec.rs b/misc/codex/files/patch-codex-rs_core_tests_suite_exec.rs
new file mode 100644
index 000000000000..3b232ec4c752
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_core_tests_suite_exec.rs
@@ -0,0 +1,11 @@
+--- codex-rs/core/tests/suite/exec.rs.orig 2025-09-27 09:06:53 UTC
++++ codex-rs/core/tests/suite/exec.rs
+@@ -104,7 +104,7 @@ async fn exit_command_not_found_is_ok() {
+ }
+
+ let tmp = TempDir::new().expect("should be able to create temp dir");
+- let cmd = vec!["/bin/bash", "-c", "nonexistent_command_12345"];
++ let cmd = vec!["/bin/sh", "-c", "nonexistent_command_12345"];
+ run_test_cmd(tmp, cmd).await.unwrap();
+ }
+
diff --git a/misc/codex/files/patch-codex-rs_core_tests_suite_user__notification.rs b/misc/codex/files/patch-codex-rs_core_tests_suite_user__notification.rs
new file mode 100644
index 000000000000..85e58a77a1ae
--- /dev/null
+++ b/misc/codex/files/patch-codex-rs_core_tests_suite_user__notification.rs
@@ -0,0 +1,11 @@
+--- codex-rs/core/tests/suite/user_notification.rs.orig 2025-09-27 09:08:21 UTC
++++ codex-rs/core/tests/suite/user_notification.rs
+@@ -35,7 +35,7 @@ async fn summarize_context_three_requests_and_instruct
+ let notify_script = notify_dir.path().join("notify.sh");
+ std::fs::write(
+ &notify_script,
+- r#"#!/bin/bash
++ r#"#!/bin/sh
+ set -e
+ echo -n "${@: -1}" > $(dirname "${0}")/notify.txt"#,
+ )?;
diff --git a/misc/codex/files/patch-codex-rs_exec_tests_suite_mod.rs b/misc/codex/files/patch-codex-rs_exec_tests_suite_mod.rs
index 64175a1a5d63..35dee0499c66 100644
--- a/misc/codex/files/patch-codex-rs_exec_tests_suite_mod.rs
+++ b/misc/codex/files/patch-codex-rs_exec_tests_suite_mod.rs
@@ -1,7 +1,7 @@
---- codex-rs/exec/tests/suite/mod.rs.orig 2025-09-24 16:56:31 UTC
+--- codex-rs/exec/tests/suite/mod.rs.orig 2025-09-26 18:28:59 UTC
+++ codex-rs/exec/tests/suite/mod.rs
-@@ -3,4 +3,5 @@ mod resume;
- mod common;
+@@ -2,4 +2,5 @@ mod resume;
+ mod apply_patch;
mod output_schema;
mod resume;
+#[cfg(not(target_os = "freebsd"))]