From a811149da42f7c5bff9b2adf44c75d249a9c032a Mon Sep 17 00:00:00 2001 From: Michael Zeller Date: Tue, 14 Apr 2026 17:16:36 -0400 Subject: feat: Enable atuin hex for illumos (#3413) This bumps the `portable-pty` dep which itself has a dependency on a newer termios that knows about illumos. Unless this was pinned for a particular reason I think this is fine. With this dep bumped we can enable `atuin hex` on illumos. ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing --- Cargo.lock | 98 ++++++++++----------------------------------- crates/atuin-hex/Cargo.toml | 4 +- crates/atuin-hex/src/lib.rs | 6 +-- 3 files changed, 27 insertions(+), 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b9712630..2b5d4972 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -793,6 +793,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "cfg_aliases" version = "0.2.1" @@ -2347,15 +2353,6 @@ dependencies = [ "time", ] -[[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.12.0" @@ -2699,15 +2696,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -2827,16 +2815,14 @@ checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" [[package]] name = "nix" -version = "0.25.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "autocfg", - "bitflags 1.3.2", + "bitflags 2.11.0", "cfg-if", + "cfg_aliases 0.1.1", "libc", - "memoffset 0.6.5", - "pin-utils", ] [[package]] @@ -2847,9 +2833,9 @@ checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ "bitflags 2.11.0", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.2.1", "libc", - "memoffset 0.9.1", + "memoffset", ] [[package]] @@ -3426,9 +3412,9 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[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", @@ -3437,8 +3423,8 @@ dependencies = [ "lazy_static", "libc", "log", - "nix 0.25.1", - "serial", + "nix 0.28.0", + "serial2", "shared_library", "shell-words", "winapi", @@ -4402,45 +4388,14 @@ dependencies = [ ] [[package]] -name = "serial" -version = "0.4.0" +name = "serial2" +version = "0.2.36" 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 = "fcdbc46aa3882ec3d48ec2b5abcb4f0d863a13d7599265f3faa6d851f23c12f3" dependencies = [ + "cfg-if", "libc", - "serial-core", + "winapi", ] [[package]] @@ -4965,15 +4920,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" @@ -5012,7 +4958,7 @@ dependencies = [ "signal-hook", "siphasher", "terminfo", - "termios 0.3.3", + "termios", "thiserror 1.0.69", "ucd-trie", "unicode-segmentation", diff --git a/crates/atuin-hex/Cargo.toml b/crates/atuin-hex/Cargo.toml index 9625f67d..85ed8f14 100644 --- a/crates/atuin-hex/Cargo.toml +++ b/crates/atuin-hex/Cargo.toml @@ -13,9 +13,9 @@ repository = { workspace = true } [dependencies] clap = { workspace = true } -[target.'cfg(all(unix, not(target_os = "illumos")))'.dependencies] +# [target.'cfg(all(unix, not(target_os = "illumos")))'.dependencies] crossterm = { workspace = true } eyre = { workspace = true } -portable-pty = "0.8" +portable-pty = "0.9" signal-hook = "0.3" vt100 = { workspace = true } diff --git a/crates/atuin-hex/src/lib.rs b/crates/atuin-hex/src/lib.rs index f449a386..75ec895f 100644 --- a/crates/atuin-hex/src/lib.rs +++ b/crates/atuin-hex/src/lib.rs @@ -151,15 +151,15 @@ end } } -#[cfg(any(not(unix), target_os = "illumos"))] +#[cfg(not(unix))] mod app { pub(crate) fn main() { - eprintln!("atuin hex currently supports unix platforms excluding illumos"); + eprintln!("atuin hex currently supports unix platforms"); std::process::exit(1); } } -#[cfg(all(unix, not(target_os = "illumos")))] +#[cfg(unix)] mod app { use std::io::{Read, Write}; use std::os::unix::net::UnixListener; -- cgit v1.3.1