From 279410efb8a5749d7081cc89e02cc5e2dd7c5d3a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 27 Feb 2026 19:01:22 +0100 Subject: [PATCH] gnu: Add codex. * gnu/packages/patches/codex-0.98.0-remove-patch-sections.patch: New file. * gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch: New file. * gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch: New file. * gnu/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch: New file. * gnu/local.mk (dist_patch_DATA): Add references to the patches. * gnu/packages/rust-apps.scm (codex): New variable. * gnu/packages/rust-crates.scm: Add crates. * gnu/packages/rust-sources.scm (rust-codex-0.98.0): New variable. Change-Id: Ic4af28034cbae83a7e212ee328cbdc25bce31ef0 --- gnu/local.mk | 4 + .../codex-0.98.0-remove-patch-sections.patch | 42 + .../rust-codex-0.98.0-test-shebangs.patch | 56 + .../rust-codex-0.98.0-test-timeout.patch | 20 + ...8.0-windows-sandbox-protocol-version.patch | 23 + gnu/packages/rust-apps.scm | 326 ++++++ gnu/packages/rust-crates.scm | 1019 +++++++++++++++++ gnu/packages/rust-sources.scm | 108 ++ 8 files changed, 1598 insertions(+) create mode 100644 gnu/packages/patches/codex-0.98.0-remove-patch-sections.patch create mode 100644 gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch create mode 100644 gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch create mode 100644 gnu/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch diff --git a/gnu/local.mk b/gnu/local.mk index fcf517c1e8..1992126078 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1125,6 +1125,7 @@ dist_patch_DATA = \ %D%/packages/patches/coda-use-system-libs.patch \ %D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \ %D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \ + %D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \ %D%/packages/patches/cogl-fix-double-free.patch \ %D%/packages/patches/collada-dom-boost.patch \ %D%/packages/patches/collectd-5.11.0-noinstallvar.patch \ @@ -2382,6 +2383,9 @@ dist_patch_DATA = \ %D%/packages/patches/rust-codex-0.98.0-core-file-lock.patch \ %D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \ %D%/packages/patches/rust-codex-0.98.0-execpolicy-file-lock.patch \ + %D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \ + %D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \ + %D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \ %D%/packages/patches/rust-ring-0.17-ring-core.patch \ %D%/packages/patches/rw-igraph-0.10.patch \ %D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \ diff --git a/gnu/packages/patches/codex-0.98.0-remove-patch-sections.patch b/gnu/packages/patches/codex-0.98.0-remove-patch-sections.patch new file mode 100644 index 0000000000..34cd8bccf5 --- /dev/null +++ b/gnu/packages/patches/codex-0.98.0-remove-patch-sections.patch @@ -0,0 +1,42 @@ +Author: Danny Milosavljevic +Date: 2026-02-08 +License: ASL2.0 + +Remove [patch.crates-io] and [patch.'ssh://...'] sections and +exclude network-proxy from workspace members. + +The [patch] sections point to git repositories which are unavailable +in an offline build. The vendored crossterm, ratatui, +tokio-tungstenite and tungstenite forks are provided as cargo-inputs +instead. + +The network-proxy workspace member depends on rama which requires +Rust 1.91+. + +--- a/codex-rs/Cargo.toml ++++ b/codex-rs/Cargo.toml +@@ -28,7 +28,6 @@ + "lmstudio", + "login", + "mcp-server", +- "network-proxy", + "ollama", + "process-hardening", + "protocol", +@@ -311,16 +310,3 @@ + debug = 1 # Reduce debug symbol size + inherits = "test" + opt-level = 0 +- +-[patch.crates-io] +-# Uncomment to debug local changes. +-# ratatui = { path = "../../ratatui" } +-crossterm = { git = "https://github.com/nornagon/crossterm", branch = "nornagon/color-query" } +-ratatui = { git = "https://github.com/nornagon/ratatui", branch = "nornagon-v0.29.0-patch" } +-tokio-tungstenite = { git = "https://github.com/JakkuSakura/tokio-tungstenite", rev = "2ae536b0de793f3ddf31fc2f22d445bf1ef2023d" } +- +-# Uncomment to debug local changes. +-# rmcp = { path = "../../rust-sdk/crates/rmcp" } +- +-[patch."ssh://git@github.com/JakkuSakura/tungstenite-rs.git"] +-tungstenite = { git = "https://github.com/JakkuSakura/tungstenite-rs", rev = "f514de8644821113e5d18a027d6d28a5c8cc0a6e" } diff --git a/gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch b/gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch new file mode 100644 index 0000000000..8d819a412f --- /dev/null +++ b/gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch @@ -0,0 +1,56 @@ +Author: Danny Milosavljevic +Date: 2026-02-27 +License: ASL2.0 +Subject: Use @SHELL@ placeholder for shebangs in embedded test scripts. + +Tests that create and execute temporary shell scripts at runtime use +a hardcoded "#!/bin/sh" shebang. Replace with @SHELL@ so the build +phase can substitute the actual store path. + +Also change assertions to print the actual error on failure. + +diff -ruN a/codex-rs/rmcp-client/src/program_resolver.rs b/codex-rs/rmcp-client/src/program_resolver.rs +--- a/codex-rs/rmcp-client/src/program_resolver.rs ++++ b/codex-rs/rmcp-client/src/program_resolver.rs +@@ -82,7 +82,7 @@ + cmd.envs(&env.mcp_env); + + let output = cmd.output().await; +- assert!(output.is_ok(), "Unix should execute scripts directly"); ++ output.expect("Unix should execute scripts directly"); + Ok(()) + } + +@@ -134,10 +134,7 @@ + cmd.envs(&env.mcp_env); + let output = cmd.output().await; + +- assert!( +- output.is_ok(), +- "Resolved program should execute successfully" +- ); ++ output.expect("Resolved program should execute successfully"); + Ok(()) + } + +@@ -185,7 +182,7 @@ + #[cfg(unix)] + { + let file = dir.join(Self::TEST_PROGRAM); +- fs::write(&file, "#!/bin/sh\nexit 0")?; ++ fs::write(&file, "#!@SHELL@\nexit 0")?; + Self::set_executable(&file)?; + } + +diff -ruN a/codex-rs/tui/src/external_editor.rs b/codex-rs/tui/src/external_editor.rs +--- a/codex-rs/tui/src/external_editor.rs ++++ b/codex-rs/tui/src/external_editor.rs +@@ -159,7 +159,7 @@ + + let dir = tempdir().unwrap(); + let script_path = dir.path().join("edit.sh"); +- fs::write(&script_path, "#!/bin/sh\nprintf \"edited\" > \"$1\"\n").unwrap(); ++ fs::write(&script_path, "#!@SHELL@\nprintf \"edited\" > \"$1\"\n").unwrap(); + let mut perms = fs::metadata(&script_path).unwrap().permissions(); + perms.set_mode(0o755); + fs::set_permissions(&script_path, perms).unwrap(); diff --git a/gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch b/gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch new file mode 100644 index 0000000000..2442d16ead --- /dev/null +++ b/gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch @@ -0,0 +1,20 @@ +Author: Danny Milosavljevic +Date: 2026-03-05 +License: ASL2.0 +Subject: Increase per-event test timeout from 10 to 30 seconds. + +In resource-constrained build environments, image processing (resize, +base64-encode, JSON serialization) can exceed 10 seconds under CPU +contention, causing intermittent test failures. + +diff -ruN a/codex-rs/core/tests/common/lib.rs b/codex-rs/core/tests/common/lib.rs +--- a/codex-rs/core/tests/common/lib.rs ++++ b/codex-rs/core/tests/common/lib.rs +@@ -174,7 +174,7 @@ + loop { + // Allow a bit more time to accommodate async startup work (e.g. config IO, tool discovery) +- let ev = timeout(wait_time.max(Duration::from_secs(10)), codex.next_event()) ++ let ev = timeout(wait_time.max(Duration::from_secs(30)), codex.next_event()) + .await + .expect("timeout waiting for event") + .expect("stream ended unexpectedly"); diff --git a/gnu/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch b/gnu/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch new file mode 100644 index 0000000000..9e6217348f --- /dev/null +++ b/gnu/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch @@ -0,0 +1,23 @@ +Author: Danny Milosavljevic +Date: 2026-02-25 +License: ASL2.0 +Subject: Add version to codex-protocol dependency in windows-sandbox-rs. + +The codex-protocol dependency in windows-sandbox-rs uses the TOML table +format with an explicit path, rather than workspace inheritance +(workspace = true). Because it is not an intra-workspace dependency, +cargo cannot resolve its version from the workspace root Cargo.toml +and cargo package fails with "dependency `codex-protocol` does not +specify a version". + +diff -u a/codex-rs/windows-sandbox-rs/Cargo.toml b/codex-rs/windows-sandbox-rs/Cargo.toml +--- a/codex-rs/windows-sandbox-rs/Cargo.toml ++++ b/codex-rs/windows-sandbox-rs/Cargo.toml +@@ -38,6 +38,7 @@ + [dependencies.codex-protocol] + package = "codex-protocol" + path = "../protocol" ++version = "0.0.0" + + [dependencies.rand] + default-features = false diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index e033cd791e..fadc8dfa71 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -125,6 +125,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages ruby-xyz) #:use-module (gnu packages rust) + #:use-module (gnu packages rust-sources) #:use-module (gnu packages security-token) #:use-module (gnu packages sqlite) #:use-module (gnu packages terminals) @@ -836,6 +837,331 @@ Commit and SemVer specifications.") "This package provides CLI Tool for codeberg similar to gh and glab.") (license license:agpl3+))) +(define-public codex + (package + (name "codex") + (version (package-version rust-codex-0.98.0)) + (source + (origin + (inherit (package-source rust-codex-0.98.0)) + (patches (search-patches + "rust-codex-0.98.0-execpolicy-file-lock.patch" + "rust-codex-0.98.0-core-file-lock.patch" + "rust-codex-0.98.0-arg0-file-lock.patch" + "codex-0.98.0-remove-patch-sections.patch" + "rust-codex-0.98.0-test-shebangs.patch" + "rust-codex-0.98.0-test-timeout.patch")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:cargo-install-paths '(list "cli" "exec" "exec-server" + "linux-sandbox" "mcp-server" + "app-server" "tui") + ;; schema_fixtures_match_generated (upstream fixture is stale: + ;; FileChange::Update in codex-protocol gained old_content, + ;; new_content, move_path fields but the committed JSON schema + ;; fixture was not regenerated). + #:cargo-test-flags '(list "--workspace" + "--exclude" "codex-app-server-protocol" + "--" + ;; These tests exercise sandbox denial and + ;; escalation, which requires Landlock to + ;; cleanly deny filesystem access. Inside the + ;; build container Landlock returns NotEnforced + ;; and the sandbox binary panics instead. + ;; Disabling Landlock would not help either, + ;; since these tests need a working sandbox to + ;; have anything to deny and escalate. + "--skip" "sandbox_denied_shell_returns_original_output" + "--skip" "shell_escalated_permissions_rejected_then_ok" + "--skip" "unified_exec_runs_under_sandbox" + ;; These tests (in codex-exec) directly call + ;; spawn_command_under_linux_sandbox to verify + ;; that python and bash work correctly inside + ;; the Landlock sandbox. The sandbox binary + ;; (codex-exec) panics with LandlockRestrict + ;; (exit code 101) before the inner command + ;; even starts. + "--skip" "python_getpwuid_works_under_sandbox" + "--skip" "python_multiprocessing_lock_works_under_sandbox" + "--skip" "sandbox_distinguishes_command_and_policy_cwds" + ;; These linux-sandbox tests directly invoke + ;; the Landlock sandbox via + ;; process_exec_tool_call; same root cause. + "--skip" "test_writable_root" + "--skip" "test_timeout" + "--skip" "test_root_read" + "--skip" "test_dev_null_write" + "--skip" "test_no_new_privs_is_enabled" + ;; This test iterates many approval scenarios; + ;; one of them + ;; (danger_full_access_on_request_allows_network) + ;; runs a command through the Landlock sandbox + ;; binary, which panics with LandlockRestrict + ;; inside the build container. Cargo --skip + ;; cannot target individual scenarios, so we + ;; skip the entire matrix. + "--skip" "approval_matrix_covers_all_modes" + ;; This test verifies session-level patch + ;; approval caching: approve once, skip + ;; future prompts for the same file. When + ;; Landlock is unavailable (as in the Guix + ;; build container) the sandbox binary panics, + ;; triggering the escalation-retry path, which + ;; interferes with the approval cache and + ;; causes a spurious re-prompt on the second + ;; patch. + "--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file" + ;; These tests expect to interrupt a + ;; long-running 'sleep 60' and receive + ;; TurnAborted. Default test config is + ;; OnRequest + ReadOnly. What happens: + ;; + ;; 1. ReadOnly wraps the command with + ;; codex-linux-sandbox (Landlock-based). + ;; 2. Landlock is unavailable in the Guix + ;; build container, so the sandbox + ;; binary exits instantly (~1 ms). + ;; 3. Orchestrator gets SandboxErr::Denied. + ;; wants_no_sandbox_approval(OnRequest) + ;; returns false (sandboxing.rs:222), + ;; so no escalation -- denial returned + ;; directly. + ;; 4. ToolEmitter::finish sends the error + ;; to the mock model as + ;; function_call_output. + ;; 5. Second mock SSE response fires, + ;; turn finishes with TurnComplete. + ;; 6. Op::Interrupt arrives 100 ms later, + ;; but the turn is already done -- + ;; TurnAborted is never emitted, + ;; test times out. + ;; + ;; The similar interrupt_long_running_tool_ + ;; emits_turn_aborted passes because it + ;; sends the interrupt with no delay and + ;; has only one mock response (so the turn + ;; cannot complete first). + "--skip" "interrupt_persists_turn_aborted_marker_in_next_request" + "--skip" "interrupt_tool_records_history_entries" + ;; Upstream bug: test hardcodes "0.0.0" in the + ;; expected user-agent string but the workspace + ;; version is "0.98.0". + "--skip" "get_user_agent_returns_current_codex_user_agent" + ;; Same upstream bug: mcp-server tests + ;; check the initialize response which + ;; includes "version": "0.0.0" but the + ;; server returns "0.98.0". + "--skip" "test_codex_tool_passes_base_instructions" + "--skip" "test_shell_command_approval_triggers_elicitation" + "--skip" "test_patch_approval_triggers_elicitation" + ;; These codex-exec-server tests need + ;; "dotslash", a Meta tool that lazily + ;; downloads pre-built binaries from a + ;; JSON manifest. The test helper + ;; create_transport runs + ;; `dotslash -- fetch ` to obtain a + ;; custom bash binary described in + ;; exec-server/tests/suite/bash. + ;; dotslash is not available in the build + ;; container. + "--skip" "list_tools" + "--skip" "accept_elicitation_for_prompt_rule" + ;;; Test isolation bug: each test in + ;;; state/src/runtime.rs calls + ;;; unique_temp_dir() to get its own + ;;; temporary directory (and thus its + ;;; own SQLite database). That function + ;;; names directories using the current + ;;; nanosecond timestamp, so when tests + ;;; run in parallel several can receive + ;;; the same name and open the same + ;;; database. The initial SQLite + ;;; migration runs CREATE TABLE threads + ;;; (without IF NOT EXISTS), so any init + ;;; after the first panics with "table + ;;; threads already exists". Any of + ;;; these tests + ;;; can be the victim. + "--skip" "init_removes_legacy_state_db_files" + "--skip" "upsert_and_get_thread_memory" + "--skip" "get_last_n_thread_memories_for_cwd_matches_exactly" + "--skip" "upsert_thread_memory_errors_for_unknown_thread" + "--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty" + "--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match" + "--skip" "deleting_thread_cascades_thread_memory") + #:cargo-package-crates + ''(;;; Tier 0: No internal deps. + "codex-async-utils" + "codex-client" + "codex-execpolicy" + "codex-file-search" + "codex-git" + "codex-keyring-store" + "codex-utils-absolute-path" + "codex-utils-cache" + "codex-utils-cargo-bin" + "codex-utils-home-dir" + "codex-utils-json-to-toml" + "codex-utils-pty" + "codex-utils-readiness" + "codex-utils-string" + "codex-backend-openapi-models" + "codex-process-hardening" + "codex-ansi-escape" + ;;; Tier 1: Depends on tier 0. + "codex-utils-image" + "codex-apply-patch" + "codex-protocol" + "codex-windows-sandbox" + "codex-api" + "codex-experimental-api-macros" + "codex-secrets" + "codex-execpolicy-legacy" + "codex-debug-client" + ;;; Tier 2. + "codex-app-server-protocol" + "codex-rmcp-client" + "codex-otel" + "codex-state" + "codex-core" + "codex-linux-sandbox" + "codex-feedback" + ;;; Tier 3. + "codex-arg0" + "codex-lmstudio" + "codex-login" + "codex-ollama" + "codex-common" + "codex-mcp-server" + "codex-backend-client" + "codex-responses-api-proxy" + ;;; Tier 4. + "codex-cloud-requirements" + "codex-exec" + "codex-exec-server" + "codex-stdio-to-uds" + ;; codex-network-proxy requires rama which needs Rust 1.91+. + "codex-chatgpt" + "codex-cloud-tasks-client" + ;;; Tier 5. + "codex-app-server" + "codex-app-server-test-client" + "codex-tui" + ;;; Tier 6. + "codex-cloud-tasks" + ;; The main executable. + "codex-cli") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir-to-workspace + (lambda _ + (chdir "codex-rs"))) + (add-after 'chdir-to-workspace 'update-version-in-snapshots + (lambda _ + ;; Snapshot test files contain hardcoded v0.0.0 version strings. + ;; Update them to match the actual package version. + (let ((snap-files (find-files "." "\\.snap$"))) + (substitute* snap-files + (("\\(v0\\.0\\.0\\) ") "(v0.98.0)"))))) + (add-after 'chdir-to-workspace 'patch-git-deps-to-vendor + (lambda _ + ;; Replace git dependencies with version references so cargo + ;; resolves them from the vendored sources. + (substitute* "Cargo.toml" + (("nucleo = \\{ git = [^}]+\\}") + "nucleo = \"0.5.0\"") + (("runfiles = \\{ git = [^}]+\\}") + "runfiles = \"0.1.0\"")))) + (add-after 'chdir-to-workspace 'add-version-to-workspace-deps + (lambda _ + ;; cargo package requires all dependencies to have versions. + ;; cargo package requires all dependencies to have versions. + ;; Add version = "0.98.0" to internal path dependencies. + (let ((cargo-files (find-files "." "^Cargo\\.toml$"))) + (substitute* cargo-files + ;; Handle inline deps: name = { path = "..." } + (("(codex-[a-z0-9-]+) = \\{ path = " all name) + (string-append name " = { version = \"0.98.0\", path = ")) + ;; Handle inline deps with package: name = { package = "...", path = "..." } + (("(codex-[a-z0-9-]+) = \\{ package = " all name) + (string-append name " = { version = \"0.98.0\", package = ")) + ;; Handle section deps: [dependencies.X] with path = "..." + (("^(path = \"\\.\\./[^\"]*\")" all path-line) + (string-append path-line "\nversion = \"0.98.0\"")))))) + (add-after 'chdir-to-workspace 'patch-hardcoded-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash-bin (string-append + (assoc-ref inputs "bash-minimal") "/bin")) + (coreutils-bin (string-append + (assoc-ref inputs "coreutils") "/bin")) + (git-bin (string-append + (assoc-ref inputs "git-minimal") "/bin")) + (sed-bin (string-append + (assoc-ref inputs "sed") "/bin")) + ;; Include .policy files: the execpolicy-legacy + ;; crate embeds default.policy via include_str! + ;; at compile time, so its paths must also be + ;; patched. + (rs-files (find-files "." "\\.(rs|policy)$"))) + (substitute* rs-files + (("\"/bin/bash\"") + (string-append "\"" bash-bin "/bash\"")) + (("\"/bin/sh\"") + (string-append "\"" bash-bin "/sh\"")) + (("\"/usr/bin/bash\"") + (string-append "\"" bash-bin "/bash\"")) + (("\"/usr/bin/sh\"") + (string-append "\"" bash-bin "/sh\"")) + ;;; bash/sh with inline arguments, e.g. "/bin/bash -i". + (("\"/bin/bash ") + (string-append "\"" bash-bin "/bash ")) + (("\"/bin/sh ") + (string-append "\"" bash-bin "/sh ")) + ;; coreutils. + (("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd) + (string-append "\"" coreutils-bin "/" cmd "\"")) + ;; coreutils. + (("\"/usr/bin/(cat|cp|head|ls|touch|true)\"" all cmd) + (string-append "\"" coreutils-bin "/" cmd "\"")) + ;; coreutils with inline arguments + ;; like "/bin/echo END-EVENT". + (("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch) " all cmd) + (string-append "\"" coreutils-bin "/" cmd " ")) + (("\"/usr/bin/git\"") + (string-append "\"" git-bin "/git\"")) + (("\"/usr/bin/sed\"") + (string-append "\"" sed-bin "/sed\""))) + ;; @SHELL@ placeholder from test-shebangs patch + (substitute* + (list "rmcp-client/src/program_resolver.rs" + "tui/src/external_editor.rs") + (("@SHELL@") + (string-append bash-bin "/sh"))) + ;; shebang in test-only file + (substitute* + "core/tests/suite/user_notification.rs" + (("#!/bin/bash") + (string-append "#!" bash-bin "/bash")))))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp") + (setenv "USER" "nixbld")))))) + (native-inputs (list perl python-minimal ;for tests + pkg-config)) + (inputs (cons* bash-minimal coreutils git-minimal sed + openssl sqlite `(,zstd "lib") + (cargo-inputs 'codex))) + (home-page "https://github.com/openai/codex") + (synopsis "AI-assisted coding CLI and TUI") + (description + "Codex is an AI-powered coding assistant that runs in the terminal. +It provides an interactive TUI for conversations with AI models, with +support for shell command execution, file editing, and code generation. +Configure providers via @file{~/.codex/config.toml}.") + (license license:asl2.0))) + (define-public codex-acp (package (name "codex-acp") diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm index 412074f5a3..615eaa294e 100644 --- a/gnu/packages/rust-crates.scm +++ b/gnu/packages/rust-crates.scm @@ -4368,6 +4368,101 @@ (define rust-codex-windows-sandbox-0.0.0.785c0c43 package:rust-codex-0.0.0.785c0c43) +;;; Aliases for codex 0.98.0 workspace crates (see rust-sources.scm) + +(define rust-codex-api-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-app-server-protocol-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-apply-patch-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-arg0-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-async-utils-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-client-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-common-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-core-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-execpolicy-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-experimental-api-macros-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-file-search-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-git-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-keyring-store-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-linux-sandbox-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-lmstudio-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-login-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-mcp-server-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-ollama-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-otel-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-protocol-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-rmcp-client-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-state-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-absolute-path-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-cache-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-home-dir-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-image-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-json-to-toml-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-pty-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-readiness-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-utils-string-0.98.0 + package:rust-codex-0.98.0) + +(define rust-codex-windows-sandbox-0.98.0 + package:rust-codex-0.98.0) + (define rust-codspeed-2.10.0 (crate-source "codspeed" "2.10.0" "1x9anwlfzlfby794d5fcvp214bj8bp29br8pkksxwb7834djja6j")) @@ -39248,6 +39343,930 @@ rust-zerovec-0.11.5 rust-zerovec-derive-0.11.2 rust-zmij-1.0.21)) + (codex => + (list + rust-actix-codec-0.5.2 + rust-actix-http-3.11.2 + rust-actix-router-0.5.3 + rust-actix-rt-2.11.0 + rust-actix-server-2.6.0 + rust-actix-service-2.0.3 + rust-actix-utils-3.0.1 + rust-actix-web-4.12.1 + rust-addr2line-0.25.1 + rust-adler2-2.0.1 + rust-aead-0.5.2 + rust-aes-0.8.4 + rust-age-0.11.2 + rust-age-core-0.11.0 + rust-ahash-0.8.12 + rust-aho-corasick-1.1.4 + rust-allocative-0.3.4 + rust-allocative-derive-0.3.3 + rust-allocator-api2-0.2.21 + rust-android-system-properties-0.1.5 + rust-annotate-snippets-0.9.2 + rust-ansi-to-tui-7.0.0 + rust-anstream-0.6.21 + rust-anstyle-1.0.13 + rust-anstyle-parse-0.2.7 + rust-anstyle-query-1.1.5 + rust-anstyle-wincon-3.0.11 + rust-anyhow-1.0.100 + rust-arbitrary-1.4.2 + rust-arboard-3.6.1 + rust-arc-swap-1.8.0 + rust-arrayvec-0.7.6 + rust-ascii-1.1.0 + rust-ascii-canvas-3.0.0 + rust-assert-cmd-2.1.2 + rust-assert-json-diff-2.0.2 + rust-assert-matches-1.5.0 + rust-async-broadcast-0.7.2 + rust-async-channel-2.5.0 + rust-async-executor-1.13.3 + rust-async-fs-2.2.0 + rust-async-io-2.6.0 + rust-async-lock-3.4.2 + rust-async-process-2.5.0 + rust-async-recursion-1.1.1 + rust-async-signal-0.2.13 + rust-async-stream-0.3.6 + rust-async-stream-impl-0.3.6 + rust-async-task-4.7.1 + rust-async-trait-0.1.89 + rust-asynk-strim-0.1.5 + rust-atoi-2.0.0 + rust-atomic-waker-1.1.2 + rust-autocfg-1.5.0 + rust-axum-0.8.8 + rust-axum-core-0.5.6 + rust-backtrace-0.3.76 + rust-base64-0.21.7 + rust-base64-0.22.1 + rust-base64ct-1.8.3 + rust-basic-toml-0.1.10 + rust-bech32-0.9.1 + rust-beef-0.5.2 + rust-bindgen-0.72.1 + rust-bit-set-0.5.3 + rust-bit-vec-0.6.3 + rust-bitflags-1.3.2 + rust-bitflags-2.10.0 + rust-block-buffer-0.10.4 + rust-block-padding-0.3.3 + rust-block2-0.6.2 + rust-blocking-1.6.2 + rust-borsh-1.6.0 + rust-bstr-1.12.1 + rust-bumpalo-3.19.1 + rust-bytemuck-1.25.0 + rust-byteorder-1.5.0 + rust-byteorder-lite-0.1.0 + rust-bytes-1.11.1 + rust-bytestring-1.5.0 + rust-bzip2-0.5.2 + rust-bzip2-sys-0.1.13+1.0.8 + rust-cassowary-0.3.0 + rust-castaway-0.2.4 + rust-cbc-0.1.2 + rust-cc-1.2.55 + rust-cesu8-1.1.0 + rust-cexpr-0.6.0 + rust-cfg-aliases-0.1.1 + rust-cfg-aliases-0.2.1 + rust-cfg-if-1.0.4 + rust-chacha20-0.9.1 + rust-chacha20poly1305-0.10.1 + rust-chardetng-0.1.17 + rust-chrono-0.4.43 + rust-chunked-transfer-1.5.0 + rust-cipher-0.4.4 + rust-clang-sys-1.8.1 + rust-clap-4.5.56 + rust-clap-builder-4.5.56 + rust-clap-complete-4.5.65 + rust-clap-derive-4.5.55 + rust-clap-lex-0.7.7 + rust-clipboard-win-5.4.1 + rust-cmake-0.1.57 + rust-cmp-any-0.8.1 + rust-color-eyre-0.6.5 + rust-color-spantrace-0.3.0 + rust-colorchoice-1.0.4 + rust-combine-4.6.7 + rust-compact-str-0.8.1 + rust-concurrent-queue-2.5.0 + rust-console-0.15.11 + rust-const-format-0.2.35 + rust-const-format-proc-macros-0.2.34 + rust-const-hex-1.17.0 + rust-const-oid-0.9.6 + rust-constant-time-eq-0.3.1 + rust-convert-case-0.10.0 + rust-convert-case-0.6.0 + rust-cookie-factory-0.3.3 + rust-core-foundation-0.10.1 + rust-core-foundation-0.9.4 + rust-core-foundation-sys-0.8.7 + rust-cpufeatures-0.2.17 + rust-crc-3.4.0 + rust-crc-catalog-2.4.0 + rust-crc32fast-1.5.0 + rust-critical-section-1.2.0 + rust-crossbeam-channel-0.5.15 + rust-crossbeam-deque-0.8.6 + rust-crossbeam-epoch-0.9.18 + rust-crossbeam-queue-0.3.12 + rust-crossbeam-utils-0.8.21 + rust-crossterm-0.28.1.87db8bfa + rust-crossterm-winapi-0.9.1 + rust-crunchy-0.2.4 + rust-crypto-common-0.1.7 + rust-csv-1.4.0 + rust-csv-core-0.1.13 + rust-ctor-0.1.26 + rust-ctor-0.6.3 + rust-ctor-proc-macro-0.0.7 + rust-curve25519-dalek-4.1.3 + rust-curve25519-dalek-derive-0.1.1 + rust-darling-0.21.3 + rust-darling-0.23.0 + rust-darling-core-0.21.3 + rust-darling-core-0.23.0 + rust-darling-macro-0.21.3 + rust-darling-macro-0.23.0 + rust-data-encoding-2.10.0 + rust-dbus-0.9.10 + rust-dbus-secret-service-4.1.0 + rust-deadpool-0.12.3 + rust-deadpool-runtime-0.1.4 + rust-debugid-0.8.0 + rust-debugserver-types-0.5.0 + rust-deflate64-0.1.10 + rust-der-0.7.10 + rust-deranged-0.5.5 + rust-derivative-2.2.0 + rust-derive-arbitrary-1.4.2 + rust-derive-more-1.0.0 + rust-derive-more-2.1.1 + rust-derive-more-impl-1.0.0 + rust-derive-more-impl-2.1.1 + rust-diff-0.1.13 + rust-difflib-0.4.0 + rust-diffy-0.4.2 + rust-digest-0.10.7 + rust-dirs-6.0.0 + rust-dirs-next-2.0.0 + rust-dirs-sys-0.5.0 + rust-dirs-sys-next-0.1.2 + rust-dispatch2-0.3.0 + rust-display-container-0.9.0 + rust-displaydoc-0.2.5 + rust-dotenvy-0.15.7 + rust-downcast-rs-1.2.1 + rust-dtor-0.1.1 + rust-dtor-proc-macro-0.0.6 + rust-dunce-1.0.5 + rust-dupe-0.9.1 + rust-dupe-derive-0.9.1 + rust-dyn-clone-1.0.20 + rust-either-1.15.0 + rust-ena-0.14.3 + rust-encode-unicode-1.0.0 + rust-encoding-rs-0.8.35 + rust-endi-1.1.1 + rust-endian-type-0.1.2 + rust-endian-type-0.2.0 + rust-enum-as-inner-0.6.1 + rust-enumflags2-0.7.12 + rust-enumflags2-derive-0.7.12 + rust-env-filter-0.1.4 + rust-env-flags-0.1.1 + rust-env-home-0.1.0 + rust-env-logger-0.11.8 + rust-equivalent-1.0.2 + rust-erased-serde-0.3.31 + rust-errno-0.3.14 + rust-error-code-3.3.2 + rust-etcetera-0.8.0 + rust-event-listener-5.4.1 + rust-event-listener-strategy-0.5.4 + rust-eventsource-stream-0.2.3 + rust-eyre-0.6.12 + rust-fastrand-2.3.0 + rust-fax-0.2.6 + rust-fax-derive-0.2.0 + rust-fd-lock-4.0.4 + rust-fdeflate-0.3.7 + rust-fiat-crypto-0.2.9 + rust-filedescriptor-0.8.3 + rust-find-crate-0.6.3 + rust-find-msvc-tools-0.1.9 + rust-findshlibs-0.10.2 + rust-fixed-decimal-0.7.1 + rust-fixedbitset-0.4.2 + rust-fixedbitset-0.5.7 + rust-flate2-1.1.8 + rust-float-cmp-0.10.0 + rust-fluent-0.16.1 + rust-fluent-bundle-0.15.3 + rust-fluent-langneg-0.13.1 + rust-fluent-syntax-0.11.1 + rust-flume-0.11.1 + rust-flume-0.12.0 + rust-fnv-1.0.7 + rust-foldhash-0.1.5 + rust-foldhash-0.2.0 + rust-foreign-types-0.3.2 + rust-foreign-types-0.5.0 + rust-foreign-types-macros-0.2.3 + rust-foreign-types-shared-0.1.1 + rust-foreign-types-shared-0.3.1 + rust-form-urlencoded-1.2.2 + rust-fs-extra-1.3.0 + rust-fsevent-sys-4.1.0 + rust-fslock-0.2.1 + rust-futures-0.3.31 + rust-futures-channel-0.3.31 + rust-futures-core-0.3.31 + rust-futures-executor-0.3.31 + rust-futures-intrusive-0.5.0 + rust-futures-io-0.3.31 + rust-futures-lite-2.6.1 + rust-futures-macro-0.3.31 + rust-futures-sink-0.3.31 + rust-futures-task-0.3.31 + rust-futures-util-0.3.31 + rust-fxhash-0.2.1 + rust-generator-0.8.8 + rust-generic-array-0.14.7 + rust-gethostname-1.1.0 + rust-getopts-0.2.24 + rust-getrandom-0.2.17 + rust-getrandom-0.3.4 + rust-gimli-0.32.3 + rust-glob-0.3.3 + rust-globset-0.4.18 + rust-h2-0.4.13 + rust-half-2.7.1 + rust-hashbrown-0.12.3 + rust-hashbrown-0.14.5 + rust-hashbrown-0.15.5 + rust-hashbrown-0.16.1 + rust-hashlink-0.10.0 + rust-heck-0.5.0 + rust-hermit-abi-0.5.2 + rust-hex-0.4.3 + rust-hickory-proto-0.25.2 + rust-hickory-resolver-0.25.2 + rust-hkdf-0.12.4 + rust-hmac-0.12.1 + rust-home-0.5.12 + rust-hostname-0.4.2 + rust-http-0.2.12 + rust-http-1.4.0 + rust-http-body-1.0.1 + rust-http-body-util-0.1.3 + rust-http-range-header-0.4.2 + rust-httparse-1.10.1 + rust-httpdate-1.0.3 + rust-hyper-1.8.1 + rust-hyper-rustls-0.27.7 + rust-hyper-timeout-0.5.2 + rust-hyper-tls-0.6.0 + rust-hyper-util-0.1.19 + rust-i18n-config-0.4.8 + rust-i18n-embed-0.15.4 + rust-i18n-embed-fl-0.9.4 + rust-i18n-embed-impl-0.8.4 + rust-iana-time-zone-0.1.65 + rust-iana-time-zone-haiku-0.1.2 + rust-icu-collections-2.1.1 + rust-icu-decimal-2.1.1 + rust-icu-decimal-data-2.1.1 + rust-icu-locale-2.1.1 + rust-icu-locale-core-2.1.1 + rust-icu-locale-data-2.1.2 + rust-icu-normalizer-2.1.1 + rust-icu-normalizer-data-2.1.1 + rust-icu-properties-2.1.2 + rust-icu-properties-data-2.1.2 + rust-icu-provider-2.1.1 + rust-ident-case-1.0.1 + rust-idna-1.1.0 + rust-idna-adapter-1.2.1 + rust-ignore-0.4.25 + rust-image-0.25.9 + rust-impl-more-0.1.9 + rust-include-dir-0.7.4 + rust-include-dir-macros-0.7.4 + rust-indenter-0.3.4 + rust-indexmap-1.9.3 + rust-indexmap-2.13.0 + rust-indoc-2.0.7 + rust-inflector-0.11.4 + rust-inotify-0.11.0 + rust-inotify-sys-0.1.5 + rust-inout-0.1.4 + rust-insta-1.46.2 + rust-instability-0.3.11 + rust-intl-memoizer-0.5.3 + rust-intl-pluralrules-7.0.2 + rust-inventory-0.3.21 + rust-io-tee-0.1.1 + rust-ipconfig-0.3.2 + rust-ipnet-2.11.0 + rust-iri-string-0.7.10 + rust-is-ci-1.2.0 + rust-is-terminal-0.4.17 + rust-is-terminal-polyfill-1.70.2 + rust-itertools-0.10.5 + rust-itertools-0.13.0 + rust-itertools-0.14.0 + rust-itoa-1.0.17 + rust-jiff-0.2.18 + rust-jiff-static-0.2.18 + rust-jni-0.21.1 + rust-jni-sys-0.3.0 + rust-jobserver-0.1.34 + rust-js-sys-0.3.85 + rust-keyring-3.6.3 + rust-kqueue-1.1.1 + rust-kqueue-sys-1.0.4 + rust-lalrpop-0.19.12 + rust-lalrpop-util-0.19.12 + rust-landlock-0.4.4 + rust-language-tags-0.3.2 + rust-lazy-static-1.5.0 + rust-libc-0.2.180 + rust-libdbus-sys-0.2.7 + rust-libloading-0.8.9 + rust-libm-0.2.16 + rust-libredox-0.1.12 + rust-libsqlite3-sys-0.30.1 + rust-linux-keyutils-0.2.4 + rust-linux-raw-sys-0.11.0 + rust-linux-raw-sys-0.4.15 + rust-litemap-0.8.1 + rust-local-waker-0.1.4 + rust-lock-api-0.4.14 + rust-log-0.4.29 + rust-logos-0.12.1 + rust-logos-derive-0.12.1 + rust-loom-0.7.2 + rust-lru-0.12.5 + rust-lru-0.16.3 + rust-lru-slab-0.1.2 + rust-lsp-types-0.94.1 + rust-lzma-rs-0.3.0 + rust-lzma-sys-0.1.20 + rust-maplit-1.0.2 + rust-matchers-0.2.0 + rust-matchit-0.8.4 + rust-matchit-0.9.1 + rust-md-5-0.10.6 + rust-md5-0.8.0 + rust-memchr-2.7.6 + rust-memoffset-0.6.5 + rust-memoffset-0.9.1 + rust-mime-0.3.17 + rust-mime-guess-2.0.5 + rust-minimal-lexical-0.2.1 + rust-miniz-oxide-0.8.9 + rust-mio-1.1.1 + rust-moka-0.12.13 + rust-moxcms-0.7.11 + rust-multimap-0.10.1 + rust-native-tls-0.2.14 + rust-ndk-context-0.1.1 + rust-new-debug-unreachable-1.0.6 + rust-nibble-vec-0.1.0 + rust-nix-0.28.0 + rust-nix-0.29.0 + rust-nix-0.30.1 + rust-nom-7.1.3 + rust-nom-8.0.0 + rust-normalize-line-endings-0.3.0 + rust-notify-8.2.0 + rust-notify-types-2.1.0 + rust-nu-ansi-term-0.50.3 + rust-nucleo-0.5.0.4253de9f + rust-nucleo-matcher-0.3.1 + rust-num-0.4.3 + rust-num-bigint-0.4.6 + rust-num-bigint-dig-0.8.6 + rust-num-complex-0.4.6 + rust-num-conv-0.2.0 + rust-num-cpus-1.17.0 + rust-num-integer-0.1.46 + rust-num-iter-0.1.45 + rust-num-rational-0.4.2 + rust-num-threads-0.1.7 + rust-num-traits-0.2.19 + rust-oauth2-5.0.0 + rust-objc2-0.6.3 + rust-objc2-app-kit-0.3.2 + rust-objc2-cloud-kit-0.3.2 + rust-objc2-core-data-0.3.2 + rust-objc2-core-foundation-0.3.2 + rust-objc2-core-graphics-0.3.2 + rust-objc2-core-image-0.3.2 + rust-objc2-core-location-0.3.2 + rust-objc2-core-text-0.3.2 + rust-objc2-encode-4.1.0 + rust-objc2-foundation-0.3.2 + rust-objc2-io-surface-0.3.2 + rust-objc2-quartz-core-0.3.2 + rust-objc2-ui-kit-0.3.2 + rust-objc2-user-notifications-0.3.2 + rust-object-0.37.3 + rust-once-cell-1.21.3 + rust-once-cell-polyfill-1.70.2 + rust-opaque-debug-0.3.1 + rust-openssl-0.10.75 + rust-openssl-macros-0.1.1 + rust-openssl-probe-0.1.6 + rust-openssl-probe-0.2.1 + rust-openssl-src-300.5.5+3.5.5 + rust-openssl-sys-0.9.111 + rust-opentelemetry-0.31.0 + rust-opentelemetry-appender-tracing-0.31.1 + rust-opentelemetry-http-0.31.0 + rust-opentelemetry-otlp-0.31.0 + rust-opentelemetry-proto-0.31.0 + rust-opentelemetry-sdk-0.31.0 + rust-opentelemetry-semantic-conventions-0.31.0 + rust-option-ext-0.2.0 + rust-ordered-stream-0.2.0 + rust-os-info-3.14.0 + rust-os-pipe-1.2.3 + rust-owo-colors-4.2.3 + rust-parking-2.2.1 + rust-parking-lot-0.12.5 + rust-parking-lot-core-0.9.12 + rust-paste-1.0.15 + rust-pastey-0.2.1 + rust-path-absolutize-3.1.1 + rust-path-dedot-3.1.1 + rust-pathdiff-0.2.3 + rust-pbkdf2-0.12.2 + rust-pem-rfc7468-0.7.0 + rust-percent-encoding-2.3.2 + rust-petgraph-0.6.5 + rust-petgraph-0.8.3 + rust-phf-shared-0.11.3 + rust-pin-project-1.1.10 + rust-pin-project-internal-1.1.10 + rust-pin-project-lite-0.2.16 + rust-pin-utils-0.1.0 + rust-piper-0.2.4 + rust-pkcs1-0.7.5 + rust-pkcs8-0.10.2 + rust-pkg-config-0.3.32 + rust-png-0.18.0 + rust-polling-3.11.0 + rust-poly1305-0.8.0 + rust-portable-atomic-1.13.1 + rust-portable-atomic-util-0.2.5 + rust-portable-pty-0.9.0 + rust-potential-utf-0.1.4 + rust-powerfmt-0.2.0 + rust-ppv-lite86-0.2.21 + rust-precomputed-hash-0.1.1 + rust-predicates-3.1.3 + rust-predicates-core-1.0.9 + rust-predicates-tree-1.0.12 + rust-pretty-assertions-1.4.1 + rust-proc-macro-crate-3.4.0 + rust-proc-macro-error-attr2-2.0.0 + rust-proc-macro-error2-2.0.1 + rust-proc-macro2-1.0.106 + rust-process-wrap-9.0.1 + rust-proptest-1.9.0 + rust-prost-0.14.3 + rust-prost-derive-0.14.3 + rust-psl-2.1.184 + rust-psl-types-2.0.11 + rust-pulldown-cmark-0.10.3 + rust-pulldown-cmark-escape-0.10.1 + rust-pxfm-0.1.27 + rust-quick-error-2.0.1 + rust-quick-xml-0.38.4 + rust-quinn-0.11.9 + rust-quinn-proto-0.11.13 + rust-quinn-udp-0.5.14 + rust-quote-1.0.44 + rust-r-efi-5.3.0 + rust-radix-trie-0.2.1 + rust-radix-trie-0.3.0 + rust-rama-boring-0.5.10 + rust-rama-boring-sys-0.5.10 + rust-rama-boring-tokio-0.5.10 + rust-rama-core-0.3.0-alpha.4 + rust-rama-dns-0.3.0-alpha.4 + rust-rama-error-0.3.0-alpha.4 + rust-rama-http-0.3.0-alpha.4 + rust-rama-http-backend-0.3.0-alpha.4 + rust-rama-http-core-0.3.0-alpha.4 + rust-rama-http-headers-0.3.0-alpha.4 + rust-rama-http-types-0.3.0-alpha.4 + rust-rama-macros-0.3.0-alpha.4 + rust-rama-net-0.3.0-alpha.4 + rust-rama-socks5-0.3.0-alpha.4 + rust-rama-tcp-0.3.0-alpha.4 + rust-rama-tls-boring-0.3.0-alpha.4 + rust-rama-udp-0.3.0-alpha.4 + rust-rama-unix-0.3.0-alpha.4 + rust-rama-utils-0.3.0-alpha.4 + rust-rand-0.8.5 + rust-rand-0.9.2 + rust-rand-chacha-0.3.1 + rust-rand-chacha-0.9.0 + rust-rand-core-0.6.4 + rust-rand-core-0.9.5 + rust-rand-xorshift-0.4.0 + rust-ratatui-0.29.0.9b2ad129 + rust-ratatui-macros-0.6.0 + rust-rayon-1.11.0 + rust-rayon-core-1.13.0 + rust-redox-syscall-0.5.18 + rust-redox-syscall-0.7.0 + rust-redox-users-0.4.6 + rust-redox-users-0.5.2 + rust-ref-cast-1.0.25 + rust-ref-cast-impl-1.0.25 + rust-regex-1.12.2 + rust-regex-automata-0.4.13 + rust-regex-lite-0.1.8 + rust-regex-syntax-0.6.29 + rust-regex-syntax-0.8.8 + rust-reqwest-0.12.28 + rust-resolv-conf-0.7.6 + rust-ring-0.17.14 + rust-rmcp-0.12.0 + rust-rmcp-macros-0.12.0 + rust-rsa-0.9.10 + rust-runfiles-0.1.0.b56cbaa8 + rust-rust-embed-8.11.0 + rust-rust-embed-impl-8.11.0 + rust-rust-embed-utils-8.11.0 + rust-rustc-demangle-0.1.27 + rust-rustc-hash-1.1.0 + rust-rustc-hash-2.1.1 + rust-rustc-version-0.4.1 + rust-rustix-0.38.44 + rust-rustix-1.1.3 + rust-rustls-0.23.36 + rust-rustls-native-certs-0.8.3 + rust-rustls-pki-types-1.14.0 + rust-rustls-webpki-0.103.9 + rust-rustversion-1.0.22 + rust-rustyline-14.0.0 + rust-ryu-1.0.22 + rust-salsa20-0.10.2 + rust-same-file-1.0.6 + rust-scc-2.4.0 + rust-schannel-0.1.28 + rust-schemafy-0.5.2 + rust-schemafy-core-0.5.2 + rust-schemafy-lib-0.5.2 + rust-schemars-0.8.22 + rust-schemars-0.9.0 + rust-schemars-1.2.1 + rust-schemars-derive-0.8.22 + rust-schemars-derive-1.2.1 + rust-scoped-tls-1.0.1 + rust-scopeguard-1.2.0 + rust-scrypt-0.11.0 + rust-sdd-3.0.10 + rust-seccompiler-0.5.0 + rust-secrecy-0.10.3 + rust-secret-service-4.0.0 + rust-security-framework-2.11.1 + rust-security-framework-3.5.1 + rust-security-framework-sys-2.15.0 + rust-self-cell-0.10.3 + rust-self-cell-1.2.2 + rust-semver-1.0.27 + rust-sentry-0.46.1 + rust-sentry-actix-0.46.1 + rust-sentry-backtrace-0.46.1 + rust-sentry-contexts-0.46.1 + rust-sentry-core-0.46.1 + rust-sentry-debug-images-0.46.1 + rust-sentry-panic-0.46.1 + rust-sentry-tracing-0.46.1 + rust-sentry-types-0.46.1 + rust-serde-1.0.228 + rust-serde-core-1.0.228 + rust-serde-derive-1.0.228 + rust-serde-derive-internals-0.29.1 + rust-serde-html-form-0.3.2 + rust-serde-json-1.0.149 + rust-serde-path-to-error-0.1.20 + rust-serde-repr-0.1.20 + rust-serde-spanned-1.0.4 + rust-serde-urlencoded-0.7.1 + rust-serde-with-3.16.1 + rust-serde-with-macros-3.16.1 + rust-serde-yaml-0.9.34+deprecated + rust-serial-test-3.3.1 + rust-serial-test-derive-3.3.1 + rust-serial2-0.2.33 + rust-sha1-0.10.6 + rust-sha1-smol-1.0.1 + rust-sha2-0.10.9 + rust-sharded-slab-0.1.7 + rust-shared-library-0.1.9 + rust-shell-words-1.1.1 + rust-shlex-1.3.0 + rust-signal-hook-0.3.18 + rust-signal-hook-mio-0.2.5 + rust-signal-hook-registry-1.4.8 + rust-signature-2.2.0 + rust-simd-adler32-0.3.8 + rust-simdutf8-0.1.5 + rust-similar-2.7.0 + rust-siphasher-1.0.2 + rust-slab-0.4.12 + rust-smallvec-1.15.1 + rust-smawk-0.3.2 + rust-smol-str-0.3.5 + rust-socket2-0.5.10 + rust-socket2-0.6.2 + rust-spin-0.9.8 + rust-spki-0.7.3 + rust-sqlx-0.8.6 + rust-sqlx-core-0.8.6 + rust-sqlx-macros-0.8.6 + rust-sqlx-macros-core-0.8.6 + rust-sqlx-mysql-0.8.6 + rust-sqlx-postgres-0.8.6 + rust-sqlx-sqlite-0.8.6 + rust-sse-stream-0.2.1 + rust-stable-deref-trait-1.2.1 + rust-starlark-0.13.0 + rust-starlark-derive-0.13.0 + rust-starlark-map-0.13.0 + rust-starlark-syntax-0.13.0 + rust-static-assertions-1.1.0 + rust-streaming-iterator-0.1.9 + rust-string-cache-0.8.9 + rust-stringprep-0.1.5 + rust-strsim-0.10.0 + rust-strsim-0.11.1 + rust-strum-0.26.3 + rust-strum-0.27.2 + rust-strum-macros-0.26.4 + rust-strum-macros-0.27.2 + rust-subtle-2.6.1 + rust-supports-color-2.1.0 + rust-supports-color-3.0.2 + rust-syn-1.0.109 + rust-syn-2.0.114 + rust-sync-wrapper-1.0.2 + rust-synstructure-0.13.2 + rust-sys-locale-0.3.2 + rust-system-configuration-0.6.1 + rust-system-configuration-sys-0.6.0 + rust-tagptr-0.2.0 + rust-tempfile-3.24.0 + rust-term-0.7.0 + rust-termcolor-1.4.1 + rust-terminal-size-0.4.3 + rust-termtree-0.5.1 + rust-test-case-3.3.1 + rust-test-case-core-3.3.1 + rust-test-case-macros-3.3.1 + rust-test-log-0.2.19 + rust-test-log-macros-0.2.19 + rust-textwrap-0.11.0 + rust-textwrap-0.16.2 + rust-thiserror-1.0.69 + rust-thiserror-2.0.18 + rust-thiserror-impl-1.0.69 + rust-thiserror-impl-2.0.18 + rust-thread-local-1.1.9 + rust-tiff-0.10.3 + rust-time-0.3.46 + rust-time-core-0.1.8 + rust-time-macros-0.2.26 + rust-tiny-http-0.12.0 + rust-tiny-keccak-2.0.2 + rust-tinystr-0.8.2 + rust-tinyvec-1.10.0 + rust-tinyvec-macros-0.1.1 + rust-tokio-1.49.0 + rust-tokio-graceful-0.2.2 + rust-tokio-macros-2.6.0 + rust-tokio-native-tls-0.3.1 + rust-tokio-rustls-0.26.4 + rust-tokio-stream-0.1.18 + rust-tokio-test-0.4.5 + rust-tokio-tungstenite-0.28.0.2ae536b0 + rust-tokio-util-0.7.18 + rust-toml-0.5.11 + rust-toml-0.9.11+spec-1.1.0 + rust-toml-datetime-0.7.5+spec-1.1.0 + rust-toml-edit-0.23.10+spec-1.0.0 + rust-toml-edit-0.24.0+spec-1.1.0 + rust-toml-parser-1.0.6+spec-1.1.0 + rust-toml-writer-1.0.6+spec-1.1.0 + rust-tonic-0.14.3 + rust-tonic-prost-0.14.3 + rust-tower-0.5.3 + rust-tower-http-0.6.8 + rust-tower-layer-0.3.3 + rust-tower-service-0.3.3 + rust-tracing-0.1.44 + rust-tracing-appender-0.2.4 + rust-tracing-attributes-0.1.31 + rust-tracing-core-0.1.36 + rust-tracing-error-0.2.1 + rust-tracing-log-0.2.0 + rust-tracing-opentelemetry-0.32.1 + rust-tracing-subscriber-0.3.22 + rust-tracing-test-0.2.5 + rust-tracing-test-macro-0.2.5 + rust-tree-magic-mini-3.2.2 + rust-tree-sitter-0.25.10 + rust-tree-sitter-bash-0.25.1 + rust-tree-sitter-highlight-0.25.10 + rust-tree-sitter-language-0.1.7 + rust-try-lock-0.2.5 + rust-ts-rs-11.1.0 + rust-ts-rs-macros-11.1.0 + rust-tungstenite-0.28.0.f514de86 + rust-type-map-0.5.1 + rust-typenum-1.19.0 + rust-uds-windows-1.1.0 + rust-uname-0.1.1 + rust-unarray-0.1.4 + rust-unic-langid-0.9.6 + rust-unic-langid-impl-0.9.6 + rust-unicase-2.9.0 + rust-unicode-bidi-0.3.18 + rust-unicode-ident-1.0.22 + rust-unicode-linebreak-0.1.5 + rust-unicode-normalization-0.1.25 + rust-unicode-properties-0.1.4 + rust-unicode-segmentation-1.12.0 + rust-unicode-truncate-1.1.0 + rust-unicode-width-0.1.14 + rust-unicode-width-0.2.1 + rust-unicode-xid-0.2.6 + rust-universal-hash-0.5.1 + rust-unsafe-libyaml-0.2.11 + rust-untrusted-0.9.0 + rust-ureq-3.1.4 + rust-ureq-proto-0.5.3 + rust-url-2.5.8 + rust-urlencoding-2.1.3 + rust-utf-8-0.7.6 + rust-utf8-iter-1.0.4 + rust-utf8parse-0.2.2 + rust-uuid-1.20.0 + rust-valuable-0.1.1 + rust-vcpkg-0.2.15 + rust-version-check-0.9.5 + rust-vt100-0.16.2 + rust-vte-0.15.0 + rust-wait-timeout-0.2.1 + rust-walkdir-2.5.0 + rust-want-0.3.1 + rust-wasi-0.11.1+wasi-snapshot-preview1 + rust-wasip2-1.0.2+wasi-0.2.9 + rust-wasite-0.1.0 + rust-wasm-bindgen-0.2.108 + rust-wasm-bindgen-futures-0.4.58 + rust-wasm-bindgen-macro-0.2.108 + rust-wasm-bindgen-macro-support-0.2.108 + rust-wasm-bindgen-shared-0.2.108 + rust-wasm-streams-0.4.2 + rust-wayland-backend-0.3.12 + rust-wayland-client-0.31.12 + rust-wayland-protocols-0.32.10 + rust-wayland-protocols-wlr-0.3.10 + rust-wayland-scanner-0.31.8 + rust-wayland-sys-0.31.8 + rust-web-sys-0.3.85 + rust-web-time-1.1.0 + rust-webbrowser-1.0.6 + rust-webpki-root-certs-1.0.5 + rust-webpki-roots-0.26.11 + rust-webpki-roots-1.0.5 + rust-weezl-0.1.12 + rust-which-8.0.0 + rust-whoami-1.6.1 + rust-widestring-1.2.1 + rust-wildcard-0.3.0 + rust-wildmatch-2.6.1 + rust-winapi-0.3.9 + rust-winapi-i686-pc-windows-gnu-0.4.0 + rust-winapi-util-0.1.11 + rust-winapi-x86-64-pc-windows-gnu-0.4.0 + rust-windows-0.58.0 + rust-windows-0.62.2 + rust-windows-aarch64-gnullvm-0.42.2 + rust-windows-aarch64-gnullvm-0.48.5 + rust-windows-aarch64-gnullvm-0.52.6 + rust-windows-aarch64-gnullvm-0.53.1 + rust-windows-aarch64-msvc-0.42.2 + rust-windows-aarch64-msvc-0.48.5 + rust-windows-aarch64-msvc-0.52.6 + rust-windows-aarch64-msvc-0.53.1 + rust-windows-collections-0.3.2 + rust-windows-core-0.58.0 + rust-windows-core-0.62.2 + rust-windows-future-0.3.2 + rust-windows-i686-gnu-0.42.2 + rust-windows-i686-gnu-0.48.5 + rust-windows-i686-gnu-0.52.6 + rust-windows-i686-gnu-0.53.1 + rust-windows-i686-gnullvm-0.52.6 + rust-windows-i686-gnullvm-0.53.1 + rust-windows-i686-msvc-0.42.2 + rust-windows-i686-msvc-0.48.5 + rust-windows-i686-msvc-0.52.6 + rust-windows-i686-msvc-0.53.1 + rust-windows-implement-0.58.0 + rust-windows-implement-0.60.2 + rust-windows-interface-0.58.0 + rust-windows-interface-0.59.3 + rust-windows-link-0.2.1 + rust-windows-numerics-0.3.1 + rust-windows-registry-0.6.1 + rust-windows-result-0.2.0 + rust-windows-result-0.4.1 + rust-windows-strings-0.1.0 + rust-windows-strings-0.5.1 + rust-windows-sys-0.45.0 + rust-windows-sys-0.48.0 + rust-windows-sys-0.52.0 + rust-windows-sys-0.59.0 + rust-windows-sys-0.60.2 + rust-windows-sys-0.61.2 + rust-windows-targets-0.42.2 + rust-windows-targets-0.48.5 + rust-windows-targets-0.52.6 + rust-windows-targets-0.53.5 + rust-windows-threading-0.2.1 + rust-windows-x86-64-gnu-0.42.2 + rust-windows-x86-64-gnu-0.48.5 + rust-windows-x86-64-gnu-0.52.6 + rust-windows-x86-64-gnu-0.53.1 + rust-windows-x86-64-gnullvm-0.42.2 + rust-windows-x86-64-gnullvm-0.48.5 + rust-windows-x86-64-gnullvm-0.52.6 + rust-windows-x86-64-gnullvm-0.53.1 + rust-windows-x86-64-msvc-0.42.2 + rust-windows-x86-64-msvc-0.48.5 + rust-windows-x86-64-msvc-0.52.6 + rust-windows-x86-64-msvc-0.53.1 + rust-winnow-0.7.14 + rust-winreg-0.10.1 + rust-winreg-0.50.0 + rust-winres-0.1.12 + rust-winsafe-0.0.19 + rust-winsplit-0.1.0 + rust-wiremock-0.6.5 + rust-wit-bindgen-0.51.0 + rust-wl-clipboard-rs-0.9.3 + rust-writeable-0.6.2 + rust-x11rb-0.13.2 + rust-x11rb-protocol-0.13.2 + rust-x25519-dalek-2.0.1 + rust-xdg-home-1.3.0 + rust-xz2-0.1.7 + rust-yansi-1.0.1 + rust-yoke-0.8.1 + rust-yoke-derive-0.8.1 + rust-zbus-4.4.0 + rust-zbus-macros-4.4.0 + rust-zbus-names-3.0.0 + rust-zerocopy-0.8.37 + rust-zerocopy-derive-0.8.37 + rust-zerofrom-0.1.6 + rust-zerofrom-derive-0.1.6 + rust-zeroize-1.8.2 + rust-zeroize-derive-1.4.3 + rust-zerotrie-0.2.3 + rust-zerovec-0.11.5 + rust-zerovec-derive-0.11.2 + rust-zip-2.4.2 + rust-zmij-1.0.19 + rust-zopfli-0.8.3 + rust-zstd-0.13.3 + rust-zstd-safe-7.2.4 + rust-zstd-sys-2.0.16+zstd.1.5.7 + rust-zune-core-0.4.12 + rust-zune-core-0.5.1 + rust-zune-jpeg-0.4.21 + rust-zune-jpeg-0.5.12 + rust-zvariant-4.2.0 + rust-zvariant-derive-4.2.0 + rust-zvariant-utils-2.1.0)) (codex-acp => (list rust-inflector-0.11.4 rust-adler2-2.0.1 diff --git a/gnu/packages/rust-sources.scm b/gnu/packages/rust-sources.scm index 963d3b123a..fa4cb02f73 100644 --- a/gnu/packages/rust-sources.scm +++ b/gnu/packages/rust-sources.scm @@ -818,6 +818,114 @@ intelligence.") and runtime for AI-assisted coding.") (license license:asl2.0))))) +(define-public rust-codex-0.98.0 + (hidden-package + (package + (name "rust-codex") + (version "0.98.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openai/codex") + (commit "82464689ce0ba8a3b2065e73a8aa0cfdf2ad0625"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1mn322gbir4gn4y5jihdqg0wprjlnx771chyfmmm7ri7pnim1zmc")) + ;; TODO: Remove patches when Rust provides stable file locking API. + ;; The file_lock feature is tracked at + ;; . + (snippet '(begin + ;;; These are JSON manifests with a dotslash + ;;; shebang that download and run pre-built + ;;; binaries (ripgrep, bash) at runtime. + (delete-file "codex-cli/bin/rg") + (delete-file "codex-rs/exec-server/tests/suite/bash") + ;; Bundled bubblewrap source tree; includes a + ;; compiled BPF blob (demos/flatpak.bpf). + (delete-file-recursively "codex-rs/vendor/bubblewrap"))) + (patches (search-patches "rust-codex-0.98.0-execpolicy-file-lock.patch" + "rust-codex-0.98.0-core-file-lock.patch" + "rust-codex-0.98.0-arg0-file-lock.patch" + "rust-codex-0.98.0-core-remove-self-dep.patch" + "rust-codex-0.98.0-windows-sandbox-protocol-version.patch" + "rust-codex-0.98.0-test-shebangs.patch")))) + (build-system cargo-build-system) + (arguments + (list + #:skip-build? #t + #:cargo-package-crates + ;; Order matters: dependencies must come before packages that need them + ''("codex-async-utils" ; No internal deps + "codex-client" ; No internal deps + "codex-execpolicy" ; No internal deps + "codex-file-search" ; No internal deps + "codex-git" ; No internal deps + "codex-keyring-store" ; No internal deps + "codex-utils-absolute-path" ; No internal deps + "codex-utils-cache" ; No internal deps + "codex-utils-cargo-bin" ; No internal deps + "codex-utils-home-dir" ; No internal deps + "codex-utils-json-to-toml" ; No internal deps + "codex-utils-pty" ; No internal deps + "codex-utils-readiness" ; No internal deps + "codex-utils-string" ; No internal deps + "codex-utils-image" ; Depends on codex-utils-cache + "codex-apply-patch" ; Depends on codex-utils-cargo-bin + "codex-protocol" ; Depends on codex-git, codex-utils-* + "codex-windows-sandbox" ; Depends on codex-utils-absolute-path, codex-protocol + "codex-api" ; Depends on codex-client, codex-protocol + "codex-experimental-api-macros" ; Macro crate (must come before app-server-protocol) + "codex-app-server-protocol" ; Depends on codex-protocol, codex-experimental-api-macros + "codex-rmcp-client" ; Depends on codex-keyring-store, codex-protocol + "codex-otel" ; Depends on codex-app-server-protocol, codex-api + "codex-state" ; Depends on codex-protocol, codex-otel + "codex-core" ; Depends on many packages above + "codex-linux-sandbox" ; Depends on codex-core, codex-utils-absolute-path + "codex-arg0" ; Depends on codex-apply-patch, codex-core, codex-linux-sandbox + "codex-lmstudio" ; Depends on codex-core + "codex-login" ; Depends on codex-core + "codex-ollama" ; Depends on codex-core + "codex-common" ; Depends on codex-core, codex-lmstudio, codex-ollama + "codex-mcp-server") ; Depends on codex-core, codex-common + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir-to-workspace + (lambda _ + (chdir "codex-rs"))) + (add-after 'chdir-to-workspace 'patch-git-deps-to-vendor + (lambda _ + (substitute* "Cargo.toml" + (("crossterm = \\{ git = [^}]+\\}") + "crossterm = { version = \"0.28.1\" }") + (("ratatui = \\{ git = [^}]+\\}") + "ratatui = { version = \"0.29.0\" }") + (("tokio-tungstenite = \\{ git = [^}]+\\}") + "tokio-tungstenite = { version = \"0.28.0\" }") + (("nucleo = \\{ git = [^}]+\\}") + "nucleo = { version = \"0.5.0\" }") + (("runfiles = \\{ git = [^}]+\\}") + "runfiles = { version = \"0.1.0\" }")))) + (add-after 'chdir-to-workspace 'add-version-to-workspace-deps + (lambda _ + ;; cargo package requires all dependencies to have versions. + ;; Add version = "0.98.0" to internal path dependencies. + (let ((cargo-files (find-files "." "^Cargo\\.toml$"))) + (substitute* cargo-files + (("(codex-[a-z0-9-]+) = \\{ path = " all name) + (string-append name " = { version = \"0.98.0\", path = ")) + (("(codex-[a-z0-9-]+) = \\{ package = " all name) + (string-append name " = { version = \"0.98.0\", package = ")) + (("(mcp-types) = \\{ path = " all name) + (string-append name " = { version = \"0.98.0\", path = "))))))))) + (inputs (cargo-inputs 'rust-codex-0.0.0.785c0c43)) + (home-page "https://github.com/openai/codex") + (synopsis "OpenAI Codex workspace crates") + (description + "This package provides the workspace crates for the OpenAI Codex CLI +and runtime for AI-assisted coding.") + (license license:asl2.0)))) + ;; Also update (@ (gnu packages gnome) glycin-loaders) when updating this. (define-public rust-glycin-3 (package