From f2354e2e183adcb856807d48cee62c0fe4aabfe7 Mon Sep 17 00:00:00 2001 From: lianqq <2088486180@qq.com> Date: Sun, 24 May 2026 17:23:06 +0800 Subject: [PATCH] fix(tui): upgrade portable-pty to 0.9 for LoongArch64 support portable-pty 0.8.1 depends on nix 0.25.1, which lacks loongarch64 in its ioctl cfg blocks, causing a build failure on LoongArch64 Linux. portable-pty 0.9.0 depends on nix ^0.28, which fully supports loongarch64. The public API surface used by CodeWhale is unchanged. Closes #1945 --- Cargo.lock | 83 ++++++------------------------------------- crates/tui/Cargo.toml | 2 +- 2 files changed, 11 insertions(+), 74 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index af1e25d8a..453327b11 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2559,15 +2559,6 @@ dependencies = [ "rustversion", ] -[[package]] -name = "ioctl-rs" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7970510895cee30b3e9128319f2cefd4bde883a39f38baa279567ba3a7eb97d" -dependencies = [ - "libc", -] - [[package]] name = "ipnet" version = "2.11.0" @@ -3093,20 +3084,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "nix" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", - "pin-utils", -] - [[package]] name = "nix" version = "0.28.0" @@ -3619,9 +3596,9 @@ checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" [[package]] name = "portable-pty" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806ee80c2a03dbe1a9fb9534f8d19e4c0546b790cde8fd1fea9d6390644cb0be" +checksum = "b4a596a2b3d2752d94f51fac2d4a96737b8705dddd311a32b9af47211f08671e" dependencies = [ "anyhow", "bitflags 1.3.2", @@ -3630,8 +3607,8 @@ dependencies = [ "lazy_static", "libc", "log", - "nix 0.25.1", - "serial", + "nix 0.28.0", + "serial2", "shared_library", "shell-words", "winapi", @@ -4577,45 +4554,14 @@ dependencies = [ ] [[package]] -name = "serial" -version = "0.4.0" +name = "serial2" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1237a96570fc377c13baa1b88c7589ab66edced652e43ffb17088f003db3e86" -dependencies = [ - "serial-core", - "serial-unix", - "serial-windows", -] - -[[package]] -name = "serial-core" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f46209b345401737ae2125fe5b19a77acce90cd53e1658cda928e4fe9a64581" -dependencies = [ - "libc", -] - -[[package]] -name = "serial-unix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f03fbca4c9d866e24a459cbca71283f545a37f8e3e002ad8c70593871453cab7" -dependencies = [ - "ioctl-rs", - "libc", - "serial-core", - "termios 0.2.2", -] - -[[package]] -name = "serial-windows" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15c6d3b776267a75d31bbdfd5d36c0ca051251caafc285827052bc53bcdc8162" +checksum = "9eb6ea5562eeaed6936b8b54e086aa0f88b9e5b1bef45beb038e2519fa1185b1" dependencies = [ + "cfg-if", "libc", - "serial-core", + "windows-sys 0.61.2", ] [[package]] @@ -5004,15 +4950,6 @@ dependencies = [ "phf_codegen", ] -[[package]] -name = "termios" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a" -dependencies = [ - "libc", -] - [[package]] name = "termios" version = "0.3.3" @@ -5051,7 +4988,7 @@ dependencies = [ "signal-hook", "siphasher", "terminfo", - "termios 0.3.3", + "termios", "thiserror 1.0.69", "ucd-trie", "unicode-segmentation", diff --git a/crates/tui/Cargo.toml b/crates/tui/Cargo.toml index d9b3c1bdf..f4d6fc002 100644 --- a/crates/tui/Cargo.toml +++ b/crates/tui/Cargo.toml @@ -69,7 +69,7 @@ multimap = "0.10.0" shlex = "1.3.0" starlark = "0.13.0" tiny_http = "0.12" -portable-pty = "0.8" +portable-pty = "0.9" zeroize = "1.8.2" ignore = "0.4" image = { version = "0.25", default-features = false, features = ["png"] }