diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index f224e04375a..989bce43f87 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -196,9 +196,9 @@ checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" [[package]] name = "cc" -version = "1.2.46" +version = "1.2.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36" +checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a" dependencies = [ "find-msvc-tools", "jobserver", @@ -231,18 +231,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.51" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5" +checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.51" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a" +checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" dependencies = [ "anstream", "anstyle", @@ -325,9 +325,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ "crc-catalog", ] @@ -875,9 +875,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.82" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ "once_cell", "wasm-bindgen", @@ -894,9 +894,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.177" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libfuzzer-sys" @@ -928,9 +928,9 @@ checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "md-5" @@ -1083,9 +1083,9 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" [[package]] name = "parse_datetime" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4955561bc7aa4c40afcfd2a8c34297b13164ae9ac3b30ac348737befdc98e4c" +checksum = "acea383beda9652270f3c9678d83aa58cbfc16880343cae0c0c8c7d6c0974132" dependencies = [ "jiff", "num-traits", @@ -1417,9 +1417,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.110" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", @@ -1737,7 +1737,6 @@ dependencies = [ "bigdecimal", "blake2b_simd", "blake3", - "bstr", "clap", "crc-fast", "data-encoding", @@ -1846,9 +1845,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", @@ -1859,9 +1858,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1869,9 +1868,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ "bumpalo", "proc-macro2", @@ -1882,9 +1881,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] @@ -2051,9 +2050,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -2107,18 +2106,18 @@ checksum = "9b3a41ce106832b4da1c065baa4c31cf640cf965fa1483816402b7f6b96f0a64" [[package]] name = "zerocopy" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", diff --git a/src/uu/dd/Cargo.toml b/src/uu/dd/Cargo.toml index 4633bc06b72..d1ac79fb52e 100644 --- a/src/uu/dd/Cargo.toml +++ b/src/uu/dd/Cargo.toml @@ -23,7 +23,7 @@ gcd = { workspace = true } libc = { workspace = true } uucore = { workspace = true, features = [ "format", - "parser", + "parser-size", "quoting-style", "fs", ] } diff --git a/src/uu/df/Cargo.toml b/src/uu/df/Cargo.toml index 8f0d7d082d7..93017870ddb 100644 --- a/src/uu/df/Cargo.toml +++ b/src/uu/df/Cargo.toml @@ -19,7 +19,7 @@ path = "src/df.rs" [dependencies] clap = { workspace = true } -uucore = { workspace = true, features = ["libc", "fsext", "parser", "fs"] } +uucore = { workspace = true, features = ["libc", "fsext", "parser-size", "fs"] } unicode-width = { workspace = true } thiserror = { workspace = true } fluent = { workspace = true } diff --git a/src/uu/du/Cargo.toml b/src/uu/du/Cargo.toml index 87898811fee..1241746e735 100644 --- a/src/uu/du/Cargo.toml +++ b/src/uu/du/Cargo.toml @@ -24,7 +24,8 @@ clap = { workspace = true } uucore = { workspace = true, features = [ "format", "fsext", - "parser", + "parser-size", + "parser-glob", "time", "safe-traversal", ] } diff --git a/src/uu/head/Cargo.toml b/src/uu/head/Cargo.toml index 9ee84db3da9..2c0e18c1af2 100644 --- a/src/uu/head/Cargo.toml +++ b/src/uu/head/Cargo.toml @@ -22,7 +22,7 @@ clap = { workspace = true } memchr = { workspace = true } thiserror = { workspace = true } uucore = { workspace = true, features = [ - "parser", + "parser-size", "ringbuffer", "lines", "fs", diff --git a/src/uu/ls/Cargo.toml b/src/uu/ls/Cargo.toml index 5fab6761441..e6cd07fa4a9 100644 --- a/src/uu/ls/Cargo.toml +++ b/src/uu/ls/Cargo.toml @@ -36,7 +36,8 @@ uucore = { workspace = true, features = [ "fs", "fsext", "fsxattr", - "parser", + "parser-size", + "parser-glob", "quoting-style", "time", "version-cmp", diff --git a/src/uu/od/Cargo.toml b/src/uu/od/Cargo.toml index 97676a86e0a..13d12a413c6 100644 --- a/src/uu/od/Cargo.toml +++ b/src/uu/od/Cargo.toml @@ -21,7 +21,7 @@ path = "src/od.rs" byteorder = { workspace = true } clap = { workspace = true } half = { workspace = true } -uucore = { workspace = true, features = ["parser"] } +uucore = { workspace = true, features = ["parser-size"] } fluent = { workspace = true } libc.workspace = true diff --git a/src/uu/shred/Cargo.toml b/src/uu/shred/Cargo.toml index 9f5294d3b84..59f0fb6c26f 100644 --- a/src/uu/shred/Cargo.toml +++ b/src/uu/shred/Cargo.toml @@ -20,7 +20,7 @@ path = "src/shred.rs" [dependencies] clap = { workspace = true } rand = { workspace = true } -uucore = { workspace = true, features = ["parser"] } +uucore = { workspace = true, features = ["parser-size"] } libc = { workspace = true } fluent = { workspace = true } diff --git a/src/uu/sort/Cargo.toml b/src/uu/sort/Cargo.toml index c1b4c07084c..e65f70d5a28 100644 --- a/src/uu/sort/Cargo.toml +++ b/src/uu/sort/Cargo.toml @@ -34,7 +34,7 @@ self_cell = { workspace = true } tempfile = { workspace = true } thiserror = { workspace = true } unicode-width = { workspace = true } -uucore = { workspace = true, features = ["fs", "parser", "version-cmp"] } +uucore = { workspace = true, features = ["fs", "parser-size", "version-cmp"] } fluent = { workspace = true } nix = { workspace = true } @@ -44,7 +44,7 @@ tempfile = { workspace = true } uucore = { workspace = true, features = [ "benchmark", "fs", - "parser", + "parser-size", "version-cmp", "i18n-collator", ] } diff --git a/src/uu/split/Cargo.toml b/src/uu/split/Cargo.toml index d6cf871ace3..2c51bb7807a 100644 --- a/src/uu/split/Cargo.toml +++ b/src/uu/split/Cargo.toml @@ -20,7 +20,7 @@ path = "src/split.rs" [dependencies] clap = { workspace = true } memchr = { workspace = true } -uucore = { workspace = true, features = ["fs", "parser"] } +uucore = { workspace = true, features = ["fs", "parser-size"] } thiserror = { workspace = true } fluent = { workspace = true } diff --git a/src/uu/stdbuf/Cargo.toml b/src/uu/stdbuf/Cargo.toml index ce64792b7ec..cb544502602 100644 --- a/src/uu/stdbuf/Cargo.toml +++ b/src/uu/stdbuf/Cargo.toml @@ -22,7 +22,7 @@ path = "src/stdbuf.rs" clap = { workspace = true } libstdbuf = { package = "uu_stdbuf_libstdbuf", version = "0.4.0", path = "src/libstdbuf" } tempfile = { workspace = true } -uucore = { workspace = true, features = ["parser"] } +uucore = { workspace = true, features = ["parser-size"] } thiserror = { workspace = true } fluent = { workspace = true } diff --git a/src/uu/tail/Cargo.toml b/src/uu/tail/Cargo.toml index bf8952759ef..7d7b57a74a3 100644 --- a/src/uu/tail/Cargo.toml +++ b/src/uu/tail/Cargo.toml @@ -23,7 +23,7 @@ clap = { workspace = true } libc = { workspace = true } memchr = { workspace = true } notify = { workspace = true } -uucore = { workspace = true, features = ["fs", "parser"] } +uucore = { workspace = true, features = ["fs", "parser-size"] } same-file = { workspace = true } fluent = { workspace = true } diff --git a/src/uu/truncate/Cargo.toml b/src/uu/truncate/Cargo.toml index 29eeaccecd0..07ab63e6db4 100644 --- a/src/uu/truncate/Cargo.toml +++ b/src/uu/truncate/Cargo.toml @@ -19,7 +19,7 @@ path = "src/truncate.rs" [dependencies] clap = { workspace = true } -uucore = { workspace = true, features = ["parser"] } +uucore = { workspace = true, features = ["parser-size"] } fluent = { workspace = true } [[bin]] diff --git a/src/uucore/Cargo.toml b/src/uucore/Cargo.toml index 46b2f9daaf5..4e056e6cbe5 100644 --- a/src/uucore/Cargo.toml +++ b/src/uucore/Cargo.toml @@ -22,7 +22,7 @@ workspace = true path = "src/lib/lib.rs" [dependencies] -bstr = { workspace = true } +bstr = { workspace = true, optional = true } chrono = { workspace = true, optional = true } clap = { workspace = true } uucore_procs = { workspace = true } @@ -102,7 +102,7 @@ xattr = { workspace = true, optional = true } tempfile = { workspace = true } [target.'cfg(target_os = "linux")'.dependencies] -procfs = { workspace = true } +procfs = { workspace = true, optional = true } [target.'cfg(target_os = "windows")'.dependencies] winapi-util = { workspace = true, optional = true } @@ -129,7 +129,7 @@ entries = ["libc"] extendedbigdecimal = ["bigdecimal", "num-traits"] fast-inc = [] fs = ["dunce", "libc", "winapi-util", "windows-sys"] -fsext = ["libc", "windows-sys"] +fsext = ["libc", "windows-sys", "bstr"] fsxattr = ["xattr"] hardware = [] lines = [] @@ -138,7 +138,7 @@ format = [ "bigdecimal", "extendedbigdecimal", "itertools", - "parser", + "parser-num", "num-traits", "quoting-style", ] @@ -149,7 +149,10 @@ i18n-decimal = ["i18n-common", "icu_decimal", "icu_provider"] mode = ["libc"] perms = ["entries", "libc", "walkdir"] buf-copy = [] -parser = ["extendedbigdecimal", "glob", "num-traits"] +parser-num = ["extendedbigdecimal", "num-traits"] +parser-size = ["parser-num", "procfs"] +parser-glob = ["glob"] +parser = ["parser-num", "parser-size", "parser-glob"] pipes = [] process = ["libc"] proc-info = ["tty", "walkdir"] diff --git a/src/uucore/src/lib/features.rs b/src/uucore/src/lib/features.rs index 6d239642a1f..548f7f2bc95 100644 --- a/src/uucore/src/lib/features.rs +++ b/src/uucore/src/lib/features.rs @@ -32,7 +32,12 @@ pub mod fsext; pub mod i18n; #[cfg(feature = "lines")] pub mod lines; -#[cfg(feature = "parser")] +#[cfg(any( + feature = "parser", + feature = "parser-num", + feature = "parser-size", + feature = "parser-glob" +))] pub mod parser; #[cfg(feature = "quoting-style")] pub mod quoting_style; diff --git a/src/uucore/src/lib/features/parser/mod.rs b/src/uucore/src/lib/features/parser/mod.rs index 800fe6e8ca1..d2fc2772100 100644 --- a/src/uucore/src/lib/features/parser/mod.rs +++ b/src/uucore/src/lib/features/parser/mod.rs @@ -4,8 +4,13 @@ // file that was distributed with this source code. // spell-checker:ignore extendedbigdecimal +#[cfg(any(feature = "parser", feature = "parser-num"))] pub mod num_parser; +#[cfg(any(feature = "parser", feature = "parser-glob"))] pub mod parse_glob; +#[cfg(any(feature = "parser", feature = "parser-size"))] pub mod parse_size; +#[cfg(any(feature = "parser", feature = "parser-num"))] pub mod parse_time; +#[cfg(any(feature = "parser", feature = "parser-num"))] pub mod shortcut_value_parser; diff --git a/src/uucore/src/lib/lib.rs b/src/uucore/src/lib/lib.rs index 5459c5d5468..e4e871a5fa1 100644 --- a/src/uucore/src/lib/lib.rs +++ b/src/uucore/src/lib/lib.rs @@ -60,7 +60,12 @@ pub use crate::features::hardware; pub use crate::features::i18n; #[cfg(feature = "lines")] pub use crate::features::lines; -#[cfg(feature = "parser")] +#[cfg(any( + feature = "parser", + feature = "parser-num", + feature = "parser-size", + feature = "parser-glob" +))] pub use crate::features::parser; #[cfg(feature = "quoting-style")] pub use crate::features::quoting_style;