diff --git a/.cargo/config.toml b/.cargo/config.toml index d21d2c9139..ad1e8ce860 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -30,10 +30,4 @@ rustflags = ["-C", "link-args=-stack:10000000", "-C", "target-feature=+crt-stati [target.aarch64-apple-darwin] # We can guarantee that this target will always run on a CPU with _at least_ # these capabilities, so let's optimize for them -rustflags = ["-Ctarget-cpu=apple-m1"] - -# This is required for uutils/coreutils version 0.1.0 and later -# It looks like this is what they use to name their executable -# https://github.com/uutils/coreutils/blob/61bd11a55118458704c4cbbf4e628cd657238d3e/src/uucore/src/lib/lib.rs#L201-L218 -[env] -PROJECT_NAME_FOR_VERSION_STRING = "nushell" \ No newline at end of file +rustflags = ["-Ctarget-cpu=apple-m1"] \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 0938b9e89b..9aed2cdafc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -702,19 +702,6 @@ dependencies = [ "vsimd", ] -[[package]] -name = "bigdecimal" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" -dependencies = [ - "autocfg", - "libm", - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "bincode" version = "1.3.3" @@ -733,7 +720,7 @@ dependencies = [ "bitflags 2.6.0", "cexpr", "clang-sys", - "itertools 0.13.0", + "itertools 0.11.0", "proc-macro2", "quote", "regex", @@ -996,9 +983,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1007,7 +994,7 @@ dependencies = [ "pure-rust-locales", "serde", "wasm-bindgen", - "windows-link", + "windows-targets 0.52.6", ] [[package]] @@ -1949,51 +1936,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "fluent" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" -dependencies = [ - "fluent-bundle", - "unic-langid", -] - -[[package]] -name = "fluent-bundle" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" -dependencies = [ - "fluent-langneg", - "fluent-syntax", - "intl-memoizer", - "intl_pluralrules", - "rustc-hash 2.1.0", - "self_cell", - "smallvec", - "unic-langid", -] - -[[package]] -name = "fluent-langneg" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94" -dependencies = [ - "unic-langid", -] - -[[package]] -name = "fluent-syntax" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" -dependencies = [ - "memchr", - "thiserror 2.0.12", -] - [[package]] name = "fluent-uri" version = "0.1.4" @@ -2678,7 +2620,7 @@ dependencies = [ "displaydoc", "yoke", "zerofrom", - "zerovec 0.10.4", + "zerovec", ] [[package]] @@ -2689,9 +2631,9 @@ checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" dependencies = [ "displaydoc", "litemap", - "tinystr 0.7.6", + "tinystr", "writeable", - "zerovec 0.10.4", + "zerovec", ] [[package]] @@ -2704,8 +2646,8 @@ dependencies = [ "icu_locid", "icu_locid_transform_data", "icu_provider", - "tinystr 0.7.6", - "zerovec 0.10.4", + "tinystr", + "zerovec", ] [[package]] @@ -2729,7 +2671,7 @@ dependencies = [ "utf16_iter", "utf8_iter", "write16", - "zerovec 0.10.4", + "zerovec", ] [[package]] @@ -2749,8 +2691,8 @@ dependencies = [ "icu_locid_transform", "icu_properties_data", "icu_provider", - "tinystr 0.7.6", - "zerovec 0.10.4", + "tinystr", + "zerovec", ] [[package]] @@ -2769,11 +2711,11 @@ dependencies = [ "icu_locid", "icu_provider_macros", "stable_deref_trait", - "tinystr 0.7.6", + "tinystr", "writeable", "yoke", "zerofrom", - "zerovec 0.10.4", + "zerovec", ] [[package]] @@ -2890,25 +2832,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "intl-memoizer" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" -dependencies = [ - "type-map", - "unic-langid", -] - -[[package]] -name = "intl_pluralrules" -version = "7.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" -dependencies = [ - "unic-langid", -] - [[package]] name = "inventory" version = "0.3.15" @@ -3058,9 +2981,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.168" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" [[package]] name = "libflate" @@ -3552,18 +3475,6 @@ dependencies = [ "libc", ] -[[package]] -name = "nix" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "cfg_aliases 0.2.1", - "libc", -] - [[package]] name = "nom" version = "7.1.3" @@ -4820,9 +4731,9 @@ dependencies = [ [[package]] name = "parse_datetime" -version = "0.9.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd3830b49ee3a0dcc8fdfadc68c6354c97d00101ac1cac5b2eee25d35c42066" +checksum = "4bffd1156cebf13f681d7769924d3edfb9d9d71ba206a8d8e8e7eb9df4f4b1e7" dependencies = [ "chrono", "nom 8.0.0", @@ -6698,12 +6609,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "self_cell" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" - [[package]] name = "semver" version = "1.0.23" @@ -7446,17 +7351,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ "displaydoc", - "zerovec 0.10.4", -] - -[[package]] -name = "tinystr" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" -dependencies = [ - "displaydoc", - "zerovec 0.11.2", + "zerovec", ] [[package]] @@ -7670,15 +7565,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "type-map" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" -dependencies = [ - "rustc-hash 2.1.0", -] - [[package]] name = "typed-arena" version = "1.7.0" @@ -7762,24 +7648,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "unic-langid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05" -dependencies = [ - "unic-langid-impl", -] - -[[package]] -name = "unic-langid-impl" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" -dependencies = [ - "tinystr 0.8.1", -] - [[package]] name = "unicase" version = "2.8.0" @@ -7941,15 +7809,14 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uu_cp" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f03348f1609e6646274195ba7674c20ce3ff18a358649516fdbb4ad2645df41" +checksum = "bf2f3906b7896f79519055d36760095577373e40ec244f46b259f502a4a91147" dependencies = [ "clap", "filetime", "indicatif", "libc", - "linux-raw-sys 0.9.4", "quick-error 2.0.1", "uucore", "walkdir", @@ -7958,9 +7825,9 @@ dependencies = [ [[package]] name = "uu_mkdir" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3f88c0d90729946efdd5e28bff263da25b08c632aecee8b5797059a23374525" +checksum = "5be556a5d852f55b92bba460d7a97030a340ba4a3f4c510a8d0a893bfaf48356" dependencies = [ "clap", "uucore", @@ -7968,9 +7835,9 @@ dependencies = [ [[package]] name = "uu_mktemp" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a13a85cf62ae1292d5cfc21de90a33bb853ade4151ead38e022ce8b610d3ee5" +checksum = "5305fcf4f7f480e7438e19ff433ae60dea886bd528f87543029eb6b95d351afc" dependencies = [ "clap", "rand 0.9.0", @@ -7981,9 +7848,9 @@ dependencies = [ [[package]] name = "uu_mv" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a627a8ca00422f5341ca89d4c1fd352622cdab7dd4070a675616474ee37b351" +checksum = "3be214b96554e4f7aa079b26c86c3ecf1b9ea15023ca2ec62d608273d12c7049" dependencies = [ "clap", "fs_extra", @@ -7996,9 +7863,9 @@ dependencies = [ [[package]] name = "uu_touch" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e075c2a3644470352ec759be520febb1efb5fb8e448f05a0d2045d469f0e7b" +checksum = "1e58581a0245de8e3ef75b115ab29592cfb60d4851149d4951604601d14ea420" dependencies = [ "chrono", "clap", @@ -8011,9 +7878,9 @@ dependencies = [ [[package]] name = "uu_uname" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "419f77c20ae220ee3fdf663de0600f954b5cc4f8b23e442192be73a1b45cfd03" +checksum = "324d96a21da91a81be334206ab65aad16d164d34cddeb640e1c56cd8d1854dd4" dependencies = [ "clap", "platform-info", @@ -8022,34 +7889,32 @@ dependencies = [ [[package]] name = "uu_whoami" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "083f92042620f07043a400e6192ddfcacdaee30ba9903f4cb86c9df11c625cc6" +checksum = "bee254de8b172a5978f12fe6cd9d4f2b60ea9ef1e37f0cb53bfee2c993b3e96a" dependencies = [ "clap", + "libc", "uucore", "windows-sys 0.59.0", ] [[package]] name = "uucore" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9032bf981784f22fcc5ddc7e74b7cf3bae3d5f44a48d2054138ed38068b9f4e0" +checksum = "71f4e82877d06de779c611a3d54720f56f1e68b228fb30a5b6c66ef07e68263d" dependencies = [ - "bigdecimal", + "chrono", + "chrono-tz", "clap", "dunce", - "fluent", - "fluent-bundle", "glob", + "iana-time-zone", "libc", - "nix 0.30.1", - "num-traits", + "nix 0.29.0", "number_prefix", "os_display", - "thiserror 2.0.12", - "unic-langid", "uucore_procs", "walkdir", "wild", @@ -8060,9 +7925,9 @@ dependencies = [ [[package]] name = "uucore_procs" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c933945fdac5b7779eae1fc746146e61f5b0298deb6ede002ce0b6e93e1b3bfc" +checksum = "c72435859e812e602e225dea48d014abb6b1072220a8d44f2fe0565553b1f7e4" dependencies = [ "proc-macro2", "quote", @@ -8071,9 +7936,9 @@ dependencies = [ [[package]] name = "uuhelp_parser" -version = "0.1.0" +version = "0.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beda381dd5c7927f8682f50b055b0903bb694ba5a4b27fad1b4934bc4fbf7b8d" +checksum = "0bb6d972f580f8223cb7052d8580aea2b7061e368cf476de32ea9457b19459ed" [[package]] name = "uuid" @@ -8583,12 +8448,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "windows-link" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" - [[package]] name = "windows-registry" version = "0.2.0" @@ -9012,15 +8871,6 @@ dependencies = [ "zerovec-derive", ] -[[package]] -name = "zerovec" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" -dependencies = [ - "zerofrom", -] - [[package]] name = "zerovec-derive" version = "0.10.3" diff --git a/Cargo.toml b/Cargo.toml index e2fca83fb9..5fa1b6b082 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -172,14 +172,14 @@ unicode-segmentation = "1.12" unicode-width = "0.2" ureq = { version = "2.12", default-features = false, features = ["socks-proxy"] } url = "2.2" -uu_cp = "0.1.0" -uu_mkdir = "0.1.0" -uu_mktemp = "0.1.0" -uu_mv = "0.1.0" -uu_touch = "0.1.0" -uu_whoami = "0.1.0" -uu_uname = "0.1.0" -uucore = "0.1.0" +uu_cp = "0.0.30" +uu_mkdir = "0.0.30" +uu_mktemp = "0.0.30" +uu_mv = "0.0.30" +uu_touch = "0.0.30" +uu_whoami = "0.0.30" +uu_uname = "0.0.30" +uucore = "0.0.30" uuid = "1.16.0" v_htmlescape = "0.15.0" wax = "0.6" diff --git a/crates/nu-command/src/filesystem/ucp.rs b/crates/nu-command/src/filesystem/ucp.rs index 606ced50cd..673f4e34d9 100644 --- a/crates/nu-command/src/filesystem/ucp.rs +++ b/crates/nu-command/src/filesystem/ucp.rs @@ -119,9 +119,9 @@ impl Command for UCp { ) -> Result { let interactive = call.has_flag(engine_state, stack, "interactive")?; let (update, copy_mode) = if call.has_flag(engine_state, stack, "update")? { - (UpdateMode::IfOlder, CopyMode::Update) + (UpdateMode::ReplaceIfOlder, CopyMode::Update) } else { - (UpdateMode::All, CopyMode::Copy) + (UpdateMode::ReplaceAll, CopyMode::Copy) }; let force = call.has_flag(engine_state, stack, "force")?; @@ -252,7 +252,7 @@ impl Command for UCp { dereference: !recursive, progress_bar: progress, attributes_only: false, - backup: BackupMode::None, + backup: BackupMode::NoBackup, copy_contents: false, cli_dereference: false, copy_mode, @@ -264,8 +264,6 @@ impl Command for UCp { backup_suffix: String::from("~"), target_dir: None, update, - set_selinux_context: false, - context: None, }; if let Err(error) = uu_cp::copy(&sources, &target_path, &options) { diff --git a/crates/nu-command/src/filesystem/umkdir.rs b/crates/nu-command/src/filesystem/umkdir.rs index 9258e2e5ca..589fd6f76d 100644 --- a/crates/nu-command/src/filesystem/umkdir.rs +++ b/crates/nu-command/src/filesystem/umkdir.rs @@ -74,16 +74,8 @@ impl Command for UMkdir { }); } - let config = uu_mkdir::Config { - recursive: IS_RECURSIVE, - mode: get_mode(), - verbose: is_verbose, - set_selinux_context: false, - context: None, - }; - for dir in directories { - if let Err(error) = mkdir(&dir, &config) { + if let Err(error) = mkdir(&dir, IS_RECURSIVE, get_mode(), is_verbose) { return Err(ShellError::GenericError { error: format!("{}", error), msg: format!("{}", error), diff --git a/crates/nu-command/src/filesystem/umv.rs b/crates/nu-command/src/filesystem/umv.rs index 9944a118f7..edee8e3b84 100644 --- a/crates/nu-command/src/filesystem/umv.rs +++ b/crates/nu-command/src/filesystem/umv.rs @@ -95,9 +95,9 @@ impl Command for UMv { uu_mv::OverwriteMode::Force }; let update = if call.has_flag(engine_state, stack, "update")? { - UpdateMode::IfOlder + UpdateMode::ReplaceIfOlder } else { - UpdateMode::All + UpdateMode::ReplaceAll }; #[allow(deprecated)] @@ -186,7 +186,7 @@ impl Command for UMv { progress_bar: progress, verbose, suffix: String::from("~"), - backup: BackupMode::None, + backup: BackupMode::NoBackup, update, target_dir: None, no_target_dir: false,