Files
codex/codex-rs/default.nix
Charlie Marsh 00cb5c465b Upgrade Ratatui to 0.30.2 (#35959)
## What changed

- Upgrade `ratatui`, `ratatui-macros`, `crossterm`, and `ansi-to-tui`, and adapt the TUI to their updated rendering, backend, color-conversion, and cell APIs.
- Use Ratatui's cell-width and continuation-cell metadata when mapping OSC 8 hyperlinks so links remain aligned across wrapped wide glyphs and halfwidth characters with dakuten.
- Preserve explicit hyperlinks in the sign-in success screen and empty MCP state without embedding escape sequences in the text passed to Ratatui.

## Testing

- Add regression coverage for hyperlink placement across wide glyphs and halfwidth dakuten, hyperlink preservation in onboarding and MCP output, and display-width handling.

GitOrigin-RevId: 8460873e5a266923acd0417bc46264845eab0134
2026-07-29 13:53:15 +00:00

56 lines
1.6 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
cmake,
llvmPackages,
openssl,
libcap ? null,
rustPlatform,
pkg-config,
lib,
stdenv,
version ? "0.0.0",
...
}:
rustPlatform.buildRustPackage (_: {
env.PKG_CONFIG_PATH = lib.makeSearchPathOutput "dev" "lib/pkgconfig" (
[ openssl ] ++ lib.optionals stdenv.isLinux [ libcap ]
);
pname = "codex-rs";
inherit version;
cargoLock.lockFile = ./Cargo.lock;
doCheck = false;
src = ./.;
# Patch the workspace Cargo.toml so that cargo embeds the correct version in
# CARGO_PKG_VERSION (which the binary reads via env!("CARGO_PKG_VERSION")).
# On release commits the Cargo.toml already contains the real version and
# this sed is a no-op.
postPatch = ''
sed -i 's/^version = "0\.0\.0"$/version = "${version}"/' Cargo.toml
'';
nativeBuildInputs = [
cmake
llvmPackages.clang
llvmPackages.libclang.lib
openssl
pkg-config
] ++ lib.optionals stdenv.isLinux [
libcap
];
cargoLock.outputHashes = {
"crossterm-0.29.0" = "sha256-ewiWWQPEU1lSUHzmZTiO5yes5luIaQ9TrvCNnTWhxpE=";
"nucleo-0.5.0" = "sha256-Hm4SxtTSBrcWpXrtSqeO0TACbUxq3gizg1zD/6Yw/sI=";
"nucleo-matcher-0.3.1" = "sha256-Hm4SxtTSBrcWpXrtSqeO0TACbUxq3gizg1zD/6Yw/sI=";
"runfiles-0.1.0" = "sha256-uJpVLcQh8wWZA3GPv9D8Nt43EOirajfDJ7eq/FB+tek=";
"tokio-tungstenite-0.28.0" = "sha256-hJAkvWxDjB9A9GqansahWhTmj/ekcelslLUTtwqI7lw=";
"tungstenite-0.27.0" = "sha256-AN5wql2X2yJnQ7lnDxpljNw0Jua40GtmT+w3wjER010=";
};
meta = with lib; {
description = "OpenAI Codex commandline interface rust implementation";
license = licenses.asl20;
homepage = "https://github.com/openai/codex";
mainProgram = "codex";
};
})