* [PATCH] uutils-coreutils: move from meta-openembedded @ 2026-10-10 11:30 ecordonnier 2026-10-10 18:33 ` Collin Funk 2026-10-12 13:04 ` Alexander Kanavin 0 siblings, 2 replies; 11+ messages in thread From: ecordonnier @ 2026-10-10 11:30 UTC (permalink / raw) To: openembedded-core; +Cc: Etienne Cordonnier From: Etienne Cordonnier <ecordonnier@snap.com> uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature enough for production use, so move the recipe from meta-oe to oe-core. It provides and rprovides coreutils, and is excluded from world unless selected as the coreutils provider. AI-Generated: Uses Claude Sonnet 5.5 Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com> --- .../conf/distro/include/default-providers.inc | 3 + meta/conf/distro/include/maintainers.inc | 1 + .../uutils-coreutils-crates.inc | 1250 +++++++++++++++++ .../uutils-coreutils_0.12.0.bb | 86 ++ 4 files changed, 1340 insertions(+) create mode 100644 meta/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc create mode 100644 meta/recipes-core/uutils-coreutils/uutils-coreutils_0.12.0.bb diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc index c0a5d1c75e..172ce8a237 100644 --- a/meta/conf/distro/include/default-providers.inc +++ b/meta/conf/distro/include/default-providers.inc @@ -38,6 +38,9 @@ VIRTUAL-RUNTIME_libsdl2 ?= "libsdl2" # # Default recipe providers # +PREFERRED_PROVIDER_coreutils ?= "coreutils" +PREFERRED_PROVIDER_coreutils-native ?= "coreutils-native" +PREFERRED_PROVIDER_nativesdk-coreutils ?= "nativesdk-coreutils" PREFERRED_PROVIDER_dbus-glib ?= "dbus-glib" PREFERRED_PROVIDER_dbus-glib-native ?= "dbus-glib-native" PREFERRED_PROVIDER_gdk-pixbuf ?= "gdk-pixbuf" diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 94ab0ccace..51ff75f0f6 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -867,6 +867,7 @@ RECIPE_MAINTAINER:pn-utfcpp = "Unassigned <unassigned@yoctoproject.org>" RECIPE_MAINTAINER:pn-util-linux = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER:pn-util-linux-libuuid = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER:pn-util-macros = "Unassigned <unassigned@yoctoproject.org>" +RECIPE_MAINTAINER:pn-uutils-coreutils = "Etienne Cordonnier <ecordonnier@snap.com>" RECIPE_MAINTAINER:pn-v86d = "Unassigned <unassigned@yoctoproject.org>" RECIPE_MAINTAINER:pn-vala = "Unassigned <unassigned@yoctoproject.org>" RECIPE_MAINTAINER:pn-valgrind = "Mingli Yu <mingli.yu@windriver.com>" diff --git a/meta/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc b/meta/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc new file mode 100644 index 0000000000..17077e7c8f --- /dev/null +++ b/meta/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc @@ -0,0 +1,1250 @@ +# Autogenerated with 'bitbake -c update_crates uutils-coreutils' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/adler2/2.0.1 \ + crate://crates.io/aho-corasick/1.1.5 \ + crate://crates.io/allocator-api2/0.2.21 \ + crate://crates.io/android_system_properties/0.1.6 \ + crate://crates.io/ansi-width/0.1.0 \ + crate://crates.io/anstream/1.0.0 \ + crate://crates.io/anstyle/1.0.14 \ + crate://crates.io/anstyle-parse/1.0.0 \ + crate://crates.io/anstyle-query/1.1.5 \ + crate://crates.io/anstyle-wincon/3.0.11 \ + crate://crates.io/anyhow/1.0.104 \ + crate://crates.io/approx/0.5.1 \ + crate://crates.io/ariadne/0.6.0 \ + crate://crates.io/arrayvec/0.7.8 \ + crate://crates.io/autocfg/1.5.1 \ + crate://crates.io/aws-lc-sys/0.41.0 \ + crate://crates.io/base64-simd/0.8.0 \ + crate://crates.io/bigdecimal/0.4.10 \ + crate://crates.io/bindgen/0.72.1 \ + crate://crates.io/bit-set/0.8.0 \ + crate://crates.io/bit-vec/0.8.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.13.1 \ + crate://crates.io/bitvec/1.1.1 \ + crate://crates.io/blake2b_simd/1.0.5 \ + crate://crates.io/blake3/1.8.7 \ + crate://crates.io/block-buffer/0.12.1 \ + crate://crates.io/block2/0.6.2 \ + crate://crates.io/bstr/1.13.1 \ + crate://crates.io/bumpalo/3.20.3 \ + crate://crates.io/bytecount/0.6.9 \ + crate://crates.io/byteorder/1.5.0 \ + crate://crates.io/calendrical_calculations/0.2.4 \ + crate://crates.io/cc/1.4.4 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/1.0.4 \ + crate://crates.io/cfg_aliases/0.2.2 \ + crate://crates.io/chacha20/0.10.2 \ + crate://crates.io/chrono/0.4.45 \ + crate://crates.io/clang-sys/1.9.1 \ + crate://crates.io/clap/4.6.7 \ + crate://crates.io/clap_builder/4.6.7 \ + crate://crates.io/clap_complete/4.6.11 \ + crate://crates.io/clap_lex/1.1.0 \ + crate://crates.io/clap_mangen/0.3.3 \ + crate://crates.io/cmake/0.1.58 \ + crate://crates.io/codspeed/5.0.1 \ + crate://crates.io/codspeed-divan-compat/5.0.1 \ + crate://crates.io/codspeed-divan-compat-macros/5.0.1 \ + crate://crates.io/codspeed-divan-compat-walltime/5.0.1 \ + crate://crates.io/colorchoice/1.0.5 \ + crate://crates.io/colored/3.1.1 \ + crate://crates.io/condtype/1.3.0 \ + crate://crates.io/console/0.16.4 \ + crate://crates.io/const-random/0.1.18 \ + crate://crates.io/const-random-macro/0.1.16 \ + crate://crates.io/constant_time_eq/0.4.2 \ + crate://crates.io/core-foundation-sys/0.8.7 \ + crate://crates.io/core_maths/0.1.1 \ + crate://crates.io/cpufeatures/0.3.1 \ + crate://crates.io/crc/3.3.0 \ + crate://crates.io/crc-catalog/2.5.0 \ + crate://crates.io/crc-fast/1.9.0 \ + crate://crates.io/crc32fast/1.5.1 \ + crate://crates.io/crossbeam-deque/0.8.7 \ + crate://crates.io/crossbeam-epoch/0.9.20 \ + crate://crates.io/crossbeam-utils/0.8.22 \ + crate://crates.io/crossterm/0.29.0 \ + crate://crates.io/crossterm_winapi/0.9.1 \ + crate://crates.io/crunchy/0.2.4 \ + crate://crates.io/crypto-common/0.1.7 \ + crate://crates.io/crypto-common/0.2.2 \ + crate://crates.io/ctor/1.0.13 \ + crate://crates.io/ctrlc/3.5.2 \ + crate://crates.io/data-encoding/2.11.1 \ + crate://crates.io/data-encoding-macro/0.1.21 \ + crate://crates.io/data-encoding-macro-internal/0.1.19 \ + crate://crates.io/defmt/1.1.1 \ + crate://crates.io/defmt-macros/1.1.1 \ + crate://crates.io/defmt-parser/1.0.0 \ + crate://crates.io/deranged/0.5.8 \ + crate://crates.io/diff/0.1.13 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/digest/0.11.3 \ + crate://crates.io/dispatch2/0.3.1 \ + crate://crates.io/displaydoc/0.2.7 \ + crate://crates.io/divan-macros/0.1.17 \ + crate://crates.io/dlv-list/0.5.2 \ + crate://crates.io/dns-lookup/4.0.1 \ + crate://crates.io/document-features/0.2.12 \ + crate://crates.io/dunce/1.0.5 \ + crate://crates.io/either/1.18.0 \ + crate://crates.io/encode_unicode/1.0.0 \ + crate://crates.io/equivalent/1.0.2 \ + crate://crates.io/errno/0.3.14 \ + crate://crates.io/fancy-regex/0.19.2 \ + crate://crates.io/fastrand/2.5.0 \ + crate://crates.io/filedescriptor/0.8.3 \ + crate://crates.io/filetime/0.2.29 \ + crate://crates.io/find-msvc-tools/0.1.11 \ + crate://crates.io/fixed_decimal/0.7.2 \ + crate://crates.io/flate2/1.1.10 \ + crate://crates.io/fluent/0.17.0 \ + crate://crates.io/fluent-bundle/0.16.0 \ + crate://crates.io/fluent-langneg/0.13.1 \ + crate://crates.io/fluent-syntax/0.12.0 \ + crate://crates.io/foldhash/0.2.0 \ + crate://crates.io/foreign-types/0.3.2 \ + crate://crates.io/foreign-types-shared/0.1.1 \ + crate://crates.io/fs_extra/1.3.0 \ + crate://crates.io/fsevent-sys/4.1.0 \ + crate://crates.io/funty/2.0.0 \ + crate://crates.io/futures-core/0.3.34 \ + crate://crates.io/futures-task/0.3.34 \ + crate://crates.io/futures-timer/3.0.4 \ + crate://crates.io/futures-util/0.3.34 \ + crate://crates.io/gcd/2.3.0 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/getrandom/0.2.17 \ + crate://crates.io/getrandom/0.4.3 \ + crate://crates.io/glob/0.3.4 \ + crate://crates.io/half/2.7.1 \ + crate://crates.io/hashbrown/0.14.5 \ + crate://crates.io/hashbrown/0.16.1 \ + crate://crates.io/hashbrown/0.17.1 \ + crate://crates.io/hex/0.4.3 \ + crate://crates.io/hex-literal/1.1.0 \ + crate://crates.io/hostname/0.4.2 \ + crate://crates.io/hybrid-array/0.4.14 \ + crate://crates.io/iana-time-zone/0.1.65 \ + crate://crates.io/iana-time-zone-haiku/0.1.2 \ + crate://crates.io/icu_calendar/2.3.0 \ + crate://crates.io/icu_calendar_data/2.3.0 \ + crate://crates.io/icu_collator/2.3.1 \ + crate://crates.io/icu_collator_data/2.3.0 \ + crate://crates.io/icu_collections/2.3.0 \ + crate://crates.io/icu_datetime/2.3.0 \ + crate://crates.io/icu_datetime_data/2.3.0 \ + crate://crates.io/icu_decimal/2.3.0 \ + crate://crates.io/icu_decimal_data/2.3.0 \ + crate://crates.io/icu_locale/2.3.1 \ + crate://crates.io/icu_locale_core/2.3.0 \ + crate://crates.io/icu_locale_data/2.3.0 \ + crate://crates.io/icu_locale_fallback/2.3.0 \ + crate://crates.io/icu_locale_fallback_data/2.3.0 \ + crate://crates.io/icu_normalizer/2.3.0 \ + crate://crates.io/icu_normalizer_data/2.3.0 \ + crate://crates.io/icu_pattern/0.5.0 \ + crate://crates.io/icu_plurals/2.3.0 \ + crate://crates.io/icu_plurals_data/2.3.0 \ + crate://crates.io/icu_properties/2.3.0 \ + crate://crates.io/icu_properties_data/2.3.0 \ + crate://crates.io/icu_provider/2.3.1 \ + crate://crates.io/icu_segmenter/2.3.0 \ + crate://crates.io/icu_segmenter_data/2.3.0 \ + crate://crates.io/icu_time/2.3.0 \ + crate://crates.io/icu_time_data/2.3.0 \ + crate://crates.io/indexmap/2.14.1 \ + crate://crates.io/indicatif/0.18.6 \ + crate://crates.io/inotify/0.11.5 \ + crate://crates.io/inotify-sys/0.1.8 \ + crate://crates.io/intl-memoizer/0.5.3 \ + crate://crates.io/intl_pluralrules/7.0.2 \ + crate://crates.io/is_terminal_polyfill/1.70.2 \ + crate://crates.io/itertools/0.13.0 \ + crate://crates.io/itertools/0.14.0 \ + crate://crates.io/itertools/0.15.0 \ + crate://crates.io/itoa/1.0.18 \ + crate://crates.io/jiff/0.2.37 \ + crate://crates.io/jiff-core/0.1.0 \ + crate://crates.io/jiff-icu/0.2.2 \ + crate://crates.io/jiff-static/0.2.37 \ + crate://crates.io/jiff-tzdb/0.1.8 \ + crate://crates.io/jiff-tzdb-platform/0.1.3 \ + crate://crates.io/jobserver/0.1.35 \ + crate://crates.io/js-sys/0.3.104 \ + crate://crates.io/keccak/0.2.2 \ + crate://crates.io/kqueue/1.2.1 \ + crate://crates.io/kqueue-sys/1.1.2 \ + crate://crates.io/libc/0.2.189 \ + crate://crates.io/libloading/0.8.9 \ + crate://crates.io/libm/0.2.16 \ + crate://crates.io/link-section/0.19.3 \ + crate://crates.io/linktime-proc-macro/0.2.3 \ + crate://crates.io/linux-raw-sys/0.12.1 \ + crate://crates.io/litemap/0.8.3 \ + crate://crates.io/litrs/1.0.0 \ + crate://crates.io/lock_api/0.4.14 \ + crate://crates.io/log/0.4.34 \ + crate://crates.io/lru/0.16.4 \ + crate://crates.io/lscolors/0.21.0 \ + crate://crates.io/md-5/0.11.0 \ + crate://crates.io/memchr/2.8.3 \ + crate://crates.io/memmap2/0.9.11 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/miniz_oxide/0.9.1 \ + crate://crates.io/mio/1.2.2 \ + crate://crates.io/nix/0.31.3 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/nom/8.0.0 \ + crate://crates.io/notify/8.2.0 \ + crate://crates.io/notify-types/2.1.0 \ + crate://crates.io/nu-ansi-term/0.50.3 \ + crate://crates.io/num-bigint/0.4.8 \ + crate://crates.io/num-conv/0.2.2 \ + crate://crates.io/num-integer/0.1.47 \ + crate://crates.io/num-modular/0.6.1 \ + crate://crates.io/num-prime/0.5.0 \ + crate://crates.io/num-traits/0.2.19 \ + crate://crates.io/num_threads/0.1.7 \ + crate://crates.io/objc2/0.6.4 \ + crate://crates.io/objc2-encode/4.1.0 \ + crate://crates.io/once_cell/1.21.4 \ + crate://crates.io/once_cell_polyfill/1.70.2 \ + crate://crates.io/openssl/0.10.81 \ + crate://crates.io/openssl-macros/0.1.1 \ + crate://crates.io/openssl-src/300.6.1+3.6.3 \ + crate://crates.io/openssl-sys/0.9.117 \ + crate://crates.io/ordered-multimap/0.7.3 \ + crate://crates.io/os_display/0.1.4 \ + crate://crates.io/outref/0.5.2 \ + crate://crates.io/parking_lot/0.12.5 \ + crate://crates.io/parking_lot_core/0.9.12 \ + crate://crates.io/parse_datetime/0.16.0 \ + crate://crates.io/phf/0.14.0 \ + crate://crates.io/phf_codegen/0.14.0 \ + crate://crates.io/phf_generator/0.14.0 \ + crate://crates.io/phf_shared/0.14.0 \ + crate://crates.io/pin-project-lite/0.2.17 \ + crate://crates.io/pkg-config/0.3.34 \ + crate://crates.io/platform-info/2.2.0 \ + crate://crates.io/portable-atomic/1.15.0 \ + crate://crates.io/portable-atomic-util/0.2.7 \ + crate://crates.io/potential_utf/0.1.6 \ + crate://crates.io/powerfmt/0.2.0 \ + crate://crates.io/ppv-lite86/0.2.21 \ + crate://crates.io/pretty_assertions/1.4.1 \ + crate://crates.io/prettyplease/0.2.37 \ + crate://crates.io/proc-macro-crate/3.5.0 \ + crate://crates.io/proc-macro2/1.0.107 \ + crate://crates.io/procfs/0.18.0 \ + crate://crates.io/procfs-core/0.18.0 \ + crate://crates.io/quote/1.0.47 \ + crate://crates.io/r-efi/6.0.0 \ + crate://crates.io/radium/0.7.0 \ + crate://crates.io/rand/0.8.8 \ + crate://crates.io/rand/0.10.2 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_chacha/0.10.0 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/rand_core/0.10.1 \ + crate://crates.io/rayon/1.12.0 \ + crate://crates.io/rayon-core/1.13.0 \ + crate://crates.io/redox_syscall/0.5.18 \ + crate://crates.io/regex/1.13.1 \ + crate://crates.io/regex-automata/0.4.18 \ + crate://crates.io/regex-lite/0.1.9 \ + crate://crates.io/regex-syntax/0.8.11 \ + crate://crates.io/relative-path/1.9.3 \ + crate://crates.io/rlimit/0.11.0 \ + crate://crates.io/roff/1.1.1 \ + crate://crates.io/rstest/0.27.0 \ + crate://crates.io/rstest_macros/0.27.0 \ + crate://crates.io/rstest_reuse/0.7.0 \ + crate://crates.io/rust-ini/0.21.3 \ + crate://crates.io/rustc-hash/2.1.3 \ + crate://crates.io/rustc_version/0.4.1 \ + crate://crates.io/rustix/1.1.4 \ + crate://crates.io/rustversion/1.0.23 \ + crate://crates.io/same-file/1.0.6 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/self_cell/1.3.0 \ + crate://crates.io/selinux/0.6.3 \ + crate://crates.io/selinux-sys/0.7.0 \ + crate://crates.io/semver/1.0.28 \ + crate://crates.io/serde/1.0.229 \ + crate://crates.io/serde_core/1.0.229 \ + crate://crates.io/serde_derive/1.0.229 \ + crate://crates.io/serde_json/1.0.151 \ + crate://crates.io/sha1/0.11.0 \ + crate://crates.io/sha2/0.11.0 \ + crate://crates.io/sha3/0.12.0 \ + crate://crates.io/shake/0.1.0 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/shlex/2.0.1 \ + crate://crates.io/signal-hook/0.3.18 \ + crate://crates.io/signal-hook-mio/0.2.5 \ + crate://crates.io/signal-hook-registry/1.4.8 \ + crate://crates.io/simd-adler32/0.3.10 \ + crate://crates.io/siphasher/1.0.3 \ + crate://crates.io/slab/0.4.12 \ + crate://crates.io/sm3/0.5.0 \ + crate://crates.io/smallvec/1.15.2 \ + crate://crates.io/smawk/0.3.3 \ + crate://crates.io/socket2/0.6.5 \ + crate://crates.io/spin/0.10.1 \ + crate://crates.io/sponge-cursor/0.1.0 \ + crate://crates.io/stable_deref_trait/1.2.1 \ + crate://crates.io/statrs/0.18.0 \ + crate://crates.io/strsim/0.11.1 \ + crate://crates.io/syn/2.0.119 \ + crate://crates.io/syn/3.0.4 \ + crate://crates.io/synstructure/0.14.0 \ + crate://crates.io/tap/1.0.1 \ + crate://crates.io/tempfile/3.27.0 \ + crate://crates.io/terminal_size/0.4.4 \ + crate://crates.io/textwrap/0.16.4 \ + crate://crates.io/thiserror/1.0.69 \ + crate://crates.io/thiserror/2.0.20 \ + crate://crates.io/thiserror-impl/1.0.69 \ + crate://crates.io/thiserror-impl/2.0.20 \ + crate://crates.io/time/0.3.55 \ + crate://crates.io/time-core/0.1.9 \ + crate://crates.io/time-macros/0.2.32 \ + crate://crates.io/tiny-keccak/2.0.2 \ + crate://crates.io/tinystr/0.8.4 \ + crate://crates.io/toml_datetime/1.1.1+spec-1.1.0 \ + crate://crates.io/toml_edit/0.25.13+spec-1.1.0 \ + crate://crates.io/toml_parser/1.1.3+spec-1.1.0 \ + crate://crates.io/type-map/0.5.1 \ + crate://crates.io/typed-path/0.12.3 \ + crate://crates.io/typenum/1.20.1 \ + crate://crates.io/unic-langid/0.9.6 \ + crate://crates.io/unic-langid-impl/0.9.6 \ + crate://crates.io/unicode-ident/1.0.24 \ + crate://crates.io/unicode-width/0.1.14 \ + crate://crates.io/unicode-width/0.2.2 \ + crate://crates.io/unindent/0.2.4 \ + crate://crates.io/unit-prefix/0.5.2 \ + crate://crates.io/utf16_iter/1.0.5 \ + crate://crates.io/utf8_iter/1.0.4 \ + crate://crates.io/utf8parse/0.2.2 \ + crate://crates.io/utmp-classic/0.1.6 \ + crate://crates.io/utmp-classic-raw/0.1.3 \ + crate://crates.io/uutils_term_grid/0.8.0 \ + crate://crates.io/vcpkg/0.2.15 \ + crate://crates.io/version_check/0.9.5 \ + crate://crates.io/vsimd/0.8.0 \ + crate://crates.io/walkdir/2.5.0 \ + crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ + crate://crates.io/wasm-bindgen/0.2.127 \ + crate://crates.io/wasm-bindgen-macro/0.2.127 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.127 \ + crate://crates.io/wasm-bindgen-shared/0.2.127 \ + crate://crates.io/web-time/1.1.0 \ + crate://crates.io/wild/2.2.1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.11 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-core/0.62.2 \ + crate://crates.io/windows-implement/0.60.2 \ + crate://crates.io/windows-interface/0.59.3 \ + crate://crates.io/windows-link/0.2.1 \ + crate://crates.io/windows-result/0.4.1 \ + crate://crates.io/windows-strings/0.5.1 \ + crate://crates.io/windows-sys/0.60.2 \ + crate://crates.io/windows-sys/0.61.2 \ + crate://crates.io/windows-targets/0.53.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.53.1 \ + crate://crates.io/windows_aarch64_msvc/0.53.1 \ + crate://crates.io/windows_i686_gnu/0.53.1 \ + crate://crates.io/windows_i686_gnullvm/0.53.1 \ + crate://crates.io/windows_i686_msvc/0.53.1 \ + crate://crates.io/windows_x86_64_gnu/0.53.1 \ + crate://crates.io/windows_x86_64_gnullvm/0.53.1 \ + crate://crates.io/windows_x86_64_msvc/0.53.1 \ + crate://crates.io/winnow/1.0.4 \ + crate://crates.io/write16/1.0.0 \ + crate://crates.io/writeable/0.6.4 \ + crate://crates.io/wyz/0.5.1 \ + crate://crates.io/xattr/1.6.1 \ + crate://crates.io/yansi/1.0.1 \ + crate://crates.io/yoke/0.8.3 \ + crate://crates.io/yoke-derive/0.8.3 \ + crate://crates.io/z85/3.0.7 \ + crate://crates.io/zerocopy/0.7.35 \ + crate://crates.io/zerocopy/0.8.56 \ + crate://crates.io/zerocopy-derive/0.7.35 \ + crate://crates.io/zerocopy-derive/0.8.56 \ + crate://crates.io/zerofrom/0.1.8 \ + crate://crates.io/zerofrom-derive/0.1.8 \ + crate://crates.io/zerotrie/0.2.5 \ + crate://crates.io/zerovec/0.11.8 \ + crate://crates.io/zerovec-derive/0.11.6 \ + crate://crates.io/zip/8.6.0 \ + crate://crates.io/zlib-rs/0.6.7 \ + crate://crates.io/zmij/1.0.23 \ + crate://crates.io/zopfli/0.8.3 \ +" + +SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +SRC_URI[aho-corasick-1.1.5.sha256sum] = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +SRC_URI[android_system_properties-0.1.6.sha256sum] = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" +SRC_URI[ansi-width-0.1.0.sha256sum] = "219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608" +SRC_URI[anstream-1.0.0.sha256sum] = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +SRC_URI[anstyle-1.0.14.sha256sum] = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" +SRC_URI[anstyle-parse-1.0.0.sha256sum] = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +SRC_URI[anyhow-1.0.104.sha256sum] = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" +SRC_URI[approx-0.5.1.sha256sum] = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +SRC_URI[ariadne-0.6.0.sha256sum] = "8454c8a44ce2cb9cc7e7fae67fc6128465b343b92c6631e94beca3c8d1524ea5" +SRC_URI[arrayvec-0.7.8.sha256sum] = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" +SRC_URI[autocfg-1.5.1.sha256sum] = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" +SRC_URI[aws-lc-sys-0.41.0.sha256sum] = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" +SRC_URI[base64-simd-0.8.0.sha256sum] = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" +SRC_URI[bigdecimal-0.4.10.sha256sum] = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" +SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +SRC_URI[bit-set-0.8.0.sha256sum] = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +SRC_URI[bit-vec-0.8.0.sha256sum] = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.13.1.sha256sum] = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" +SRC_URI[bitvec-1.1.1.sha256sum] = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" +SRC_URI[blake2b_simd-1.0.5.sha256sum] = "3560a7b1951efe814fcd721938313adc56753ca39f4b23847d7e9a2402f5dbff" +SRC_URI[blake3-1.8.7.sha256sum] = "6d9e454fc11f76977dc803893aff6304ed33d6a26efae8696573bea74baa27ae" +SRC_URI[block-buffer-0.12.1.sha256sum] = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +SRC_URI[bstr-1.13.1.sha256sum] = "6bb31b46c14244e20ee9984b11bf5c992b91fb6939fea616e3512c8baecdbe5f" +SRC_URI[bumpalo-3.20.3.sha256sum] = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" +SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" +SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +SRC_URI[calendrical_calculations-0.2.4.sha256sum] = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" +SRC_URI[cc-1.4.4.sha256sum] = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273" +SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +SRC_URI[cfg_aliases-0.2.2.sha256sum] = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" +SRC_URI[chacha20-0.10.2.sha256sum] = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +SRC_URI[chrono-0.4.45.sha256sum] = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +SRC_URI[clang-sys-1.9.1.sha256sum] = "157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a" +SRC_URI[clap-4.6.7.sha256sum] = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +SRC_URI[clap_builder-4.6.7.sha256sum] = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +SRC_URI[clap_complete-4.6.11.sha256sum] = "037e2a1a92236d0aff7e845093f64661d6df4c02c9fcc61a60e9e1d736fa392f" +SRC_URI[clap_lex-1.1.0.sha256sum] = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" +SRC_URI[clap_mangen-0.3.3.sha256sum] = "211d617eaa4b735c96c9e0228fcbdb5120ef623f2b8cb67ffb84c3e02dbc28a4" +SRC_URI[cmake-0.1.58.sha256sum] = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +SRC_URI[codspeed-5.0.1.sha256sum] = "7083f253260bcb4aaa3b4aa4c52973703dabc1a85c2f193997e2689aafa8a919" +SRC_URI[codspeed-divan-compat-5.0.1.sha256sum] = "bc1065d507e1cbab731a7976db4cef7e47e49b87b4dbc0a925df07d343558420" +SRC_URI[codspeed-divan-compat-macros-5.0.1.sha256sum] = "2fd05482a95823ffe421e8a9ba24fa22a6a30d594e2c60455cbb43a41bf2d8fa" +SRC_URI[codspeed-divan-compat-walltime-5.0.1.sha256sum] = "d2f8eae75b8fa85357020a404899c4280d590c9fd1c47640b3ce53106c62d2ee" +SRC_URI[colorchoice-1.0.5.sha256sum] = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" +SRC_URI[colored-3.1.1.sha256sum] = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" +SRC_URI[condtype-1.3.0.sha256sum] = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" +SRC_URI[console-0.16.4.sha256sum] = "4fe5f465a4f6fee88fad41b85d990f84c835335e85b5d9e6e63e0d06d28cba7c" +SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" +SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" +SRC_URI[cpufeatures-0.3.1.sha256sum] = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +SRC_URI[crc-3.3.0.sha256sum] = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +SRC_URI[crc-catalog-2.5.0.sha256sum] = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" +SRC_URI[crc-fast-1.9.0.sha256sum] = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d" +SRC_URI[crc32fast-1.5.1.sha256sum] = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550" +SRC_URI[crossbeam-deque-0.8.7.sha256sum] = "5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb" +SRC_URI[crossbeam-epoch-0.9.20.sha256sum] = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f" +SRC_URI[crossbeam-utils-0.8.22.sha256sum] = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" +SRC_URI[crossterm-0.29.0.sha256sum] = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" +SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +SRC_URI[crypto-common-0.2.2.sha256sum] = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +SRC_URI[ctor-1.0.13.sha256sum] = "914a755b7c2d4af2bdcff7ce1739e2db9a1b81a9b07123d8015786ae03c0980d" +SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" +SRC_URI[data-encoding-2.11.1.sha256sum] = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06" +SRC_URI[data-encoding-macro-0.1.21.sha256sum] = "c6a127ecbb3c4632e1525380e04c0c3fcf8dcb44d32a79ea290d8a36906edcd8" +SRC_URI[data-encoding-macro-internal-0.1.19.sha256sum] = "c54e03a951783e8b327515db3f2a2fd0e3bed362a96b066f341ce66ed49b4ead" +SRC_URI[defmt-1.1.1.sha256sum] = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" +SRC_URI[defmt-macros-1.1.1.sha256sum] = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" +SRC_URI[defmt-parser-1.0.0.sha256sum] = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +SRC_URI[deranged-0.5.8.sha256sum] = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[digest-0.11.3.sha256sum] = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +SRC_URI[dispatch2-0.3.1.sha256sum] = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +SRC_URI[displaydoc-0.2.7.sha256sum] = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" +SRC_URI[divan-macros-0.1.17.sha256sum] = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" +SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" +SRC_URI[dns-lookup-4.0.1.sha256sum] = "6120e7e5dcd1c90098e349def389e2797377cdbe6b465ad8fdd115c0c99d5cf2" +SRC_URI[document-features-0.2.12.sha256sum] = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +SRC_URI[either-1.18.0.sha256sum] = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" +SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +SRC_URI[fancy-regex-0.19.2.sha256sum] = "d301f5bf187b3c295fce6468d3875037a0bccc5f6b151c63cac2f85babf21912" +SRC_URI[fastrand-2.5.0.sha256sum] = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" +SRC_URI[filedescriptor-0.8.3.sha256sum] = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" +SRC_URI[filetime-0.2.29.sha256sum] = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" +SRC_URI[find-msvc-tools-0.1.11.sha256sum] = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" +SRC_URI[fixed_decimal-0.7.2.sha256sum] = "79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd" +SRC_URI[flate2-1.1.10.sha256sum] = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" +SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" +SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" +SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" +SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +SRC_URI[fs_extra-1.3.0.sha256sum] = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" +SRC_URI[fsevent-sys-4.1.0.sha256sum] = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +SRC_URI[funty-2.0.0.sha256sum] = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +SRC_URI[futures-core-0.3.34.sha256sum] = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" +SRC_URI[futures-task-0.3.34.sha256sum] = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" +SRC_URI[futures-timer-3.0.4.sha256sum] = "af43fadb8a98512d547e37b4e92e0ced13e205c061b87b4623eff01d918d6968" +SRC_URI[futures-util-0.3.34.sha256sum] = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +SRC_URI[getrandom-0.4.3.sha256sum] = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +SRC_URI[glob-0.3.4.sha256sum] = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" +SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +SRC_URI[hashbrown-0.17.1.sha256sum] = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +SRC_URI[hex-literal-1.1.0.sha256sum] = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" +SRC_URI[hostname-0.4.2.sha256sum] = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" +SRC_URI[hybrid-array-0.4.14.sha256sum] = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b" +SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +SRC_URI[icu_calendar-2.3.0.sha256sum] = "58655df2f728e46e4eee80bddebefacf52ec3e77cdb925014b47c5a5905eb55c" +SRC_URI[icu_calendar_data-2.3.0.sha256sum] = "dc00caaa3fb3201ff7a18aa458e8c3ab042b9da154cfdf948bdde3936c31c36e" +SRC_URI[icu_collator-2.3.1.sha256sum] = "08984ed58ac439ebf3e13d2cf26b0c46a60afcd21721c1d14087c0b240344dda" +SRC_URI[icu_collator_data-2.3.0.sha256sum] = "f7d7e54efdddeb1208c08dd5d32b53a879ac00d2d3d051b2255fd26821d16368" +SRC_URI[icu_collections-2.3.0.sha256sum] = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" +SRC_URI[icu_datetime-2.3.0.sha256sum] = "c44df99c4c5297b05653d1a1629f13bdc9fd4044acfbbaf30b15194a1eed4cd6" +SRC_URI[icu_datetime_data-2.3.0.sha256sum] = "8bb5555f6e4b42233f58564351ce16d73e9e6ebfce6bdcf29875d0cfc554d6a8" +SRC_URI[icu_decimal-2.3.0.sha256sum] = "9eb8f655bba2d0c0459e43a5b0e6cd3cd388109898fb3d85d048165e8b0abd08" +SRC_URI[icu_decimal_data-2.3.0.sha256sum] = "e4c887fc7d4c297cf3f9436864af9e3dba7f8be9415a6c2a7f392f3b1636298c" +SRC_URI[icu_locale-2.3.1.sha256sum] = "785f595c61ef57169a467eeed7b4b6936a66f6cacbb116a96ee86da983251bf4" +SRC_URI[icu_locale_core-2.3.0.sha256sum] = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" +SRC_URI[icu_locale_data-2.3.0.sha256sum] = "d37d91460e362a5cf58907cd7ce871411775ee6294e49a5cc8e6cec16dfa75ea" +SRC_URI[icu_locale_fallback-2.3.0.sha256sum] = "251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9" +SRC_URI[icu_locale_fallback_data-2.3.0.sha256sum] = "decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8" +SRC_URI[icu_normalizer-2.3.0.sha256sum] = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" +SRC_URI[icu_normalizer_data-2.3.0.sha256sum] = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" +SRC_URI[icu_pattern-0.5.0.sha256sum] = "2b3db611446bd92c246b03e4aa0bafa71ddb194af431ddbb42b9d70e4bfce1a0" +SRC_URI[icu_plurals-2.3.0.sha256sum] = "e475e6766ef87b1d3c1f97be6363995b0bfaeddbc789671615df598a97ff0593" +SRC_URI[icu_plurals_data-2.3.0.sha256sum] = "1251aa39a95e1333888e499b1263e1c196447a28948acf5bdabd82c046f153bf" +SRC_URI[icu_properties-2.3.0.sha256sum] = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" +SRC_URI[icu_properties_data-2.3.0.sha256sum] = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" +SRC_URI[icu_provider-2.3.1.sha256sum] = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" +SRC_URI[icu_segmenter-2.3.0.sha256sum] = "82d07aafccd67af15d02512a6adf5896fbc5ed00f2e99b471d2efa14016db3db" +SRC_URI[icu_segmenter_data-2.3.0.sha256sum] = "ae293c039020f9ec10710af98d29ce6aa2051486638b49c9a6409f3b4a9e98ad" +SRC_URI[icu_time-2.3.0.sha256sum] = "af37e1c3b9f3ab564b619fdf4b22de169f6381eb0f7048e3ca454290c438126b" +SRC_URI[icu_time_data-2.3.0.sha256sum] = "005ff86fa5851a77fc0a977b72d717f777bd9230415a247219d7898aefb1517a" +SRC_URI[indexmap-2.14.1.sha256sum] = "07aa2048142242915a31d35844fb311e0e53fcca590c3a0a40dcf1b841fa09eb" +SRC_URI[indicatif-0.18.6.sha256sum] = "9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c" +SRC_URI[inotify-0.11.5.sha256sum] = "4cc00ea907cab49550b7da656f80ebb97be1b997d931fbcd28d39734e17ce592" +SRC_URI[inotify-sys-0.1.8.sha256sum] = "c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d" +SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" +SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" +SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +SRC_URI[itertools-0.15.0.sha256sum] = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" +SRC_URI[itoa-1.0.18.sha256sum] = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +SRC_URI[jiff-0.2.37.sha256sum] = "0ab1baf72f08796de0260609515130699b890ac25f30e610ad894bc5856cafdb" +SRC_URI[jiff-core-0.1.0.sha256sum] = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09" +SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" +SRC_URI[jiff-static-0.2.37.sha256sum] = "378268a1116ad67ae6228701118ac9f491d78fda38a40a1f1a9e1348de6f7212" +SRC_URI[jiff-tzdb-0.1.8.sha256sum] = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" +SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +SRC_URI[jobserver-0.1.35.sha256sum] = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" +SRC_URI[js-sys-0.3.104.sha256sum] = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" +SRC_URI[keccak-0.2.2.sha256sum] = "d8f198d1db720e4940b5a493201d199d9f24f568f8f746bd13706243a2f71598" +SRC_URI[kqueue-1.2.1.sha256sum] = "8d763e5b24120b4ddf50de6c92308156765aabfbbccebf401da7cff2d70a41ea" +SRC_URI[kqueue-sys-1.1.2.sha256sum] = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087" +SRC_URI[libc-0.2.189.sha256sum] = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" +SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +SRC_URI[link-section-0.19.3.sha256sum] = "39c29a617ce3df32c08497bdc1ab6e2376e0b17948ac166a2fbe5977c5954cd9" +SRC_URI[linktime-proc-macro-0.2.3.sha256sum] = "7e57c38c1e860fd37c604281cdfb1dd2216977fd76a50f85ba2f388ef3219616" +SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +SRC_URI[litemap-0.8.3.sha256sum] = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" +SRC_URI[litrs-1.0.0.sha256sum] = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +SRC_URI[lock_api-0.4.14.sha256sum] = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +SRC_URI[log-0.4.34.sha256sum] = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" +SRC_URI[lru-0.16.4.sha256sum] = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39" +SRC_URI[lscolors-0.21.0.sha256sum] = "d60e266dfb1426eb2d24792602e041131fdc0236bb7007abc0e589acafd60929" +SRC_URI[md-5-0.11.0.sha256sum] = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +SRC_URI[memchr-2.8.3.sha256sum] = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" +SRC_URI[memmap2-0.9.11.sha256sum] = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[miniz_oxide-0.9.1.sha256sum] = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +SRC_URI[mio-1.2.2.sha256sum] = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" +SRC_URI[nix-0.31.3.sha256sum] = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +SRC_URI[notify-8.2.0.sha256sum] = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" +SRC_URI[notify-types-2.1.0.sha256sum] = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" +SRC_URI[nu-ansi-term-0.50.3.sha256sum] = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +SRC_URI[num-bigint-0.4.8.sha256sum] = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" +SRC_URI[num-conv-0.2.2.sha256sum] = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" +SRC_URI[num-integer-0.1.47.sha256sum] = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b" +SRC_URI[num-modular-0.6.1.sha256sum] = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f" +SRC_URI[num-prime-0.5.0.sha256sum] = "b285c575532a33ef6fdd3a57640d0b1c70e6ca48644d6df7bbd4b7a0cfbbb12d" +SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +SRC_URI[num_threads-0.1.7.sha256sum] = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +SRC_URI[objc2-0.6.4.sha256sum] = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +SRC_URI[objc2-encode-4.1.0.sha256sum] = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" +SRC_URI[once_cell-1.21.4.sha256sum] = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +SRC_URI[once_cell_polyfill-1.70.2.sha256sum] = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +SRC_URI[openssl-0.10.81.sha256sum] = "77823a27f0babb03091cb9ed9ef80af3b39dbc82f97e8fa530374b7dafd87a45" +SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +SRC_URI[openssl-src-300.6.1+3.6.3.sha256sum] = "46eb8fb9fb3b61ce1c0f8a026c4c1a0714d3a9e138e7fbde78753ce2babc3846" +SRC_URI[openssl-sys-0.9.117.sha256sum] = "b47e7e6bb2c38cd930d25a23b40fa52e068c10e85f3e03a7f5ba5aaca5713695" +SRC_URI[ordered-multimap-0.7.3.sha256sum] = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" +SRC_URI[os_display-0.1.4.sha256sum] = "ad5fd71b79026fb918650dde6d125000a233764f1c2f1659a1c71118e33ea08f" +SRC_URI[outref-0.5.2.sha256sum] = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" +SRC_URI[parking_lot-0.12.5.sha256sum] = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +SRC_URI[parking_lot_core-0.9.12.sha256sum] = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +SRC_URI[parse_datetime-0.16.0.sha256sum] = "503fd4c8b0685e5eb32a8276533611f63e3b44768e9e8724e73f6852c2542f82" +SRC_URI[phf-0.14.0.sha256sum] = "010378780309880b08997fae13be7834dba947d36393bd372f2b1556deb2a2f6" +SRC_URI[phf_codegen-0.14.0.sha256sum] = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +SRC_URI[phf_generator-0.14.0.sha256sum] = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +SRC_URI[phf_shared-0.14.0.sha256sum] = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +SRC_URI[pin-project-lite-0.2.17.sha256sum] = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +SRC_URI[pkg-config-0.3.34.sha256sum] = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" +SRC_URI[platform-info-2.2.0.sha256sum] = "ba7c3f5af00d3596a148cc80178ac690152b71c283d15a8bcea0cddfea759a36" +SRC_URI[portable-atomic-1.15.0.sha256sum] = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" +SRC_URI[portable-atomic-util-0.2.7.sha256sum] = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +SRC_URI[potential_utf-0.1.6.sha256sum] = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" +SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +SRC_URI[pretty_assertions-1.4.1.sha256sum] = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +SRC_URI[proc-macro-crate-3.5.0.sha256sum] = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +SRC_URI[proc-macro2-1.0.107.sha256sum] = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" +SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" +SRC_URI[quote-1.0.47.sha256sum] = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +SRC_URI[r-efi-6.0.0.sha256sum] = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +SRC_URI[rand-0.8.8.sha256sum] = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" +SRC_URI[rand-0.10.2.sha256sum] = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_chacha-0.10.0.sha256sum] = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[rand_core-0.10.1.sha256sum] = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" +SRC_URI[rayon-1.12.0.sha256sum] = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" +SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +SRC_URI[regex-1.13.1.sha256sum] = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +SRC_URI[regex-automata-0.4.18.sha256sum] = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +SRC_URI[regex-lite-0.1.9.sha256sum] = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" +SRC_URI[regex-syntax-0.8.11.sha256sum] = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" +SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" +SRC_URI[rlimit-0.11.0.sha256sum] = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" +SRC_URI[roff-1.1.1.sha256sum] = "323c417e1d9665a65b263ec744ba09030cfb277e9daa0b018a4ab62e57bc8189" +SRC_URI[rstest-0.27.0.sha256sum] = "948203e6d13b83e51a90d7cf236dd58a0065f23f4b902f00f306e7eb2bd09b9c" +SRC_URI[rstest_macros-0.27.0.sha256sum] = "a8d92eaf7b6e51e12471d71ddc72608e7151573de44099aacfbb1128177c0da4" +SRC_URI[rstest_reuse-0.7.0.sha256sum] = "b3a8fb4672e840a587a66fc577a5491375df51ddb88f2a2c2a792598c326fe14" +SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" +SRC_URI[rustc-hash-2.1.3.sha256sum] = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" +SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +SRC_URI[rustversion-1.0.23.sha256sum] = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" +SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[self_cell-1.3.0.sha256sum] = "2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813" +SRC_URI[selinux-0.6.3.sha256sum] = "5e27b533f7b8e124356edfe653a21e5a5072585b4c0a67459519844c039bc4e1" +SRC_URI[selinux-sys-0.7.0.sha256sum] = "acf9f7ddcfd31f0558b246d6ddc4a34fb4550668f364a09dd51f28409157e754" +SRC_URI[semver-1.0.28.sha256sum] = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +SRC_URI[serde-1.0.229.sha256sum] = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +SRC_URI[serde_core-1.0.229.sha256sum] = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +SRC_URI[serde_derive-1.0.229.sha256sum] = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +SRC_URI[serde_json-1.0.151.sha256sum] = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +SRC_URI[sha1-0.11.0.sha256sum] = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +SRC_URI[sha2-0.11.0.sha256sum] = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +SRC_URI[sha3-0.12.0.sha256sum] = "bc9bad02c26382724b2d2692c6f179285e4b54eeecd7968f52a50059c3c11759" +SRC_URI[shake-0.1.0.sha256sum] = "09057cb2149ad4cbd2da1e26b351f9a4c354219421229c69c3063e6f61947c4a" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[shlex-2.0.1.sha256sum] = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" +SRC_URI[signal-hook-0.3.18.sha256sum] = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +SRC_URI[signal-hook-mio-0.2.5.sha256sum] = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" +SRC_URI[signal-hook-registry-1.4.8.sha256sum] = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +SRC_URI[simd-adler32-0.3.10.sha256sum] = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" +SRC_URI[siphasher-1.0.3.sha256sum] = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" +SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" +SRC_URI[smallvec-1.15.2.sha256sum] = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" +SRC_URI[smawk-0.3.3.sha256sum] = "e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100" +SRC_URI[socket2-0.6.5.sha256sum] = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" +SRC_URI[spin-0.10.1.sha256sum] = "023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3" +SRC_URI[sponge-cursor-0.1.0.sha256sum] = "3a0219bd7d979d58245a4f41f695e1ac9f8befdffadd7f61f1bae9e39abc6620" +SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +SRC_URI[statrs-0.18.0.sha256sum] = "2a3fe7c28c6512e766b0874335db33c94ad7b8f9054228ae1c2abd47ce7d335e" +SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +SRC_URI[syn-2.0.119.sha256sum] = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +SRC_URI[syn-3.0.4.sha256sum] = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" +SRC_URI[synstructure-0.14.0.sha256sum] = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02" +SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +SRC_URI[terminal_size-0.4.4.sha256sum] = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" +SRC_URI[textwrap-0.16.4.sha256sum] = "6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49" +SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +SRC_URI[thiserror-2.0.20.sha256sum] = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" +SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +SRC_URI[thiserror-impl-2.0.20.sha256sum] = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" +SRC_URI[time-0.3.55.sha256sum] = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" +SRC_URI[time-core-0.1.9.sha256sum] = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" +SRC_URI[time-macros-0.2.32.sha256sum] = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" +SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +SRC_URI[tinystr-0.8.4.sha256sum] = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" +SRC_URI[toml_datetime-1.1.1+spec-1.1.0.sha256sum] = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +SRC_URI[toml_edit-0.25.13+spec-1.1.0.sha256sum] = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" +SRC_URI[toml_parser-1.1.3+spec-1.1.0.sha256sum] = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" +SRC_URI[type-map-0.5.1.sha256sum] = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" +SRC_URI[typed-path-0.12.3.sha256sum] = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" +SRC_URI[typenum-1.20.1.sha256sum] = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" +SRC_URI[unic-langid-0.9.6.sha256sum] = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05" +SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" +SRC_URI[unicode-ident-1.0.24.sha256sum] = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" +SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" +SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" +SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +SRC_URI[utmp-classic-0.1.6.sha256sum] = "e24c654e19afaa6b8f3877ece5d3bed849c2719c56f6752b18ca7da4fcc6e85a" +SRC_URI[utmp-classic-raw-0.1.3.sha256sum] = "22c226537a3d6e01c440c1926ca0256dbee2d19b2229ede6fc4863a6493dd831" +SRC_URI[uutils_term_grid-0.8.0.sha256sum] = "382d49b39de4a115f203305057741126b09a615892d773a2d419a2b816e30e39" +SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" +SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +SRC_URI[wasm-bindgen-0.2.127.sha256sum] = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" +SRC_URI[wasm-bindgen-macro-0.2.127.sha256sum] = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" +SRC_URI[wasm-bindgen-macro-support-0.2.127.sha256sum] = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" +SRC_URI[wasm-bindgen-shared-0.2.127.sha256sum] = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" +SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +SRC_URI[windows-implement-0.60.2.sha256sum] = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +SRC_URI[windows-interface-0.59.3.sha256sum] = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +SRC_URI[windows-result-0.4.1.sha256sum] = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +SRC_URI[windows-strings-0.5.1.sha256sum] = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +SRC_URI[windows-sys-0.60.2.sha256sum] = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +SRC_URI[windows-targets-0.53.5.sha256sum] = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +SRC_URI[windows_aarch64_gnullvm-0.53.1.sha256sum] = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +SRC_URI[windows_aarch64_msvc-0.53.1.sha256sum] = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +SRC_URI[windows_i686_gnu-0.53.1.sha256sum] = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +SRC_URI[windows_i686_gnullvm-0.53.1.sha256sum] = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +SRC_URI[windows_i686_msvc-0.53.1.sha256sum] = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +SRC_URI[windows_x86_64_gnu-0.53.1.sha256sum] = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +SRC_URI[winnow-1.0.4.sha256sum] = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +SRC_URI[writeable-0.6.4.sha256sum] = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" +SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +SRC_URI[xattr-1.6.1.sha256sum] = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" +SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +SRC_URI[yoke-0.8.3.sha256sum] = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" +SRC_URI[yoke-derive-0.8.3.sha256sum] = "33811428bee40dbceb6d545e95754741d17a6aef9a4849f0fd62e2ba4f412a78" +SRC_URI[z85-3.0.7.sha256sum] = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" +SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +SRC_URI[zerocopy-0.8.56.sha256sum] = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb" +SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +SRC_URI[zerocopy-derive-0.8.56.sha256sum] = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1" +SRC_URI[zerofrom-0.1.8.sha256sum] = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +SRC_URI[zerofrom-derive-0.1.8.sha256sum] = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a" +SRC_URI[zerotrie-0.2.5.sha256sum] = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" +SRC_URI[zerovec-0.11.8.sha256sum] = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" +SRC_URI[zerovec-derive-0.11.6.sha256sum] = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" +SRC_URI[zip-8.6.0.sha256sum] = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" +SRC_URI[zlib-rs-0.6.7.sha256sum] = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12" +SRC_URI[zmij-1.0.23.sha256sum] = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" +SRC_URI[zopfli-0.8.3.sha256sum] = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" +# from fuzz/Cargo.lock +SRC_URI += " \ + crate://crates.io/adler2/2.0.1 \ + crate://crates.io/aho-corasick/1.1.5 \ + crate://crates.io/android_system_properties/0.1.6 \ + crate://crates.io/anstream/1.0.0 \ + crate://crates.io/anstyle/1.0.14 \ + crate://crates.io/anstyle-parse/1.0.0 \ + crate://crates.io/anstyle-query/1.1.5 \ + crate://crates.io/anstyle-wincon/3.0.11 \ + crate://crates.io/arbitrary/1.4.2 \ + crate://crates.io/arrayvec/0.7.8 \ + crate://crates.io/autocfg/1.5.1 \ + crate://crates.io/base64-simd/0.8.0 \ + crate://crates.io/bigdecimal/0.4.10 \ + crate://crates.io/bit-set/0.8.0 \ + crate://crates.io/bit-vec/0.8.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.13.1 \ + crate://crates.io/blake2b_simd/1.0.5 \ + crate://crates.io/blake3/1.8.7 \ + crate://crates.io/block-buffer/0.12.1 \ + crate://crates.io/block2/0.6.2 \ + crate://crates.io/bstr/1.13.1 \ + crate://crates.io/bumpalo/3.20.3 \ + crate://crates.io/bytecount/0.6.9 \ + crate://crates.io/calendrical_calculations/0.2.4 \ + crate://crates.io/cc/1.4.4 \ + crate://crates.io/cfg-if/1.0.4 \ + crate://crates.io/cfg_aliases/0.2.2 \ + crate://crates.io/chacha20/0.10.2 \ + crate://crates.io/chrono/0.4.45 \ + crate://crates.io/clap/4.6.6 \ + crate://crates.io/clap_builder/4.6.6 \ + crate://crates.io/clap_lex/1.1.0 \ + crate://crates.io/colorchoice/1.0.5 \ + crate://crates.io/console/0.16.6 \ + crate://crates.io/const-random/0.1.18 \ + crate://crates.io/const-random-macro/0.1.16 \ + crate://crates.io/constant_time_eq/0.4.2 \ + crate://crates.io/core-foundation-sys/0.8.7 \ + crate://crates.io/core_maths/0.1.1 \ + crate://crates.io/cpufeatures/0.3.1 \ + crate://crates.io/crc/3.3.0 \ + crate://crates.io/crc-catalog/2.5.0 \ + crate://crates.io/crc-fast/1.9.0 \ + crate://crates.io/crc32fast/1.5.1 \ + crate://crates.io/crossbeam-deque/0.8.7 \ + crate://crates.io/crossbeam-epoch/0.9.20 \ + crate://crates.io/crossbeam-utils/0.8.22 \ + crate://crates.io/crunchy/0.2.4 \ + crate://crates.io/crypto-common/0.1.7 \ + crate://crates.io/crypto-common/0.2.2 \ + crate://crates.io/ctrlc/3.5.2 \ + crate://crates.io/data-encoding/2.11.1 \ + crate://crates.io/data-encoding-macro/0.1.21 \ + crate://crates.io/data-encoding-macro-internal/0.1.19 \ + crate://crates.io/defmt/1.1.1 \ + crate://crates.io/defmt-macros/1.1.1 \ + crate://crates.io/defmt-parser/1.0.0 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/digest/0.11.3 \ + crate://crates.io/dispatch2/0.3.1 \ + crate://crates.io/displaydoc/0.2.7 \ + crate://crates.io/dlv-list/0.5.2 \ + crate://crates.io/dunce/1.0.5 \ + crate://crates.io/either/1.18.0 \ + crate://crates.io/encode_unicode/1.0.0 \ + crate://crates.io/errno/0.3.14 \ + crate://crates.io/fancy-regex/0.19.2 \ + crate://crates.io/fastrand/2.5.0 \ + crate://crates.io/find-msvc-tools/0.1.11 \ + crate://crates.io/fixed_decimal/0.7.2 \ + crate://crates.io/flate2/1.1.10 \ + crate://crates.io/fluent/0.17.0 \ + crate://crates.io/fluent-bundle/0.16.0 \ + crate://crates.io/fluent-langneg/0.13.1 \ + crate://crates.io/fluent-syntax/0.12.0 \ + crate://crates.io/foldhash/0.2.0 \ + crate://crates.io/futures-core/0.3.34 \ + crate://crates.io/futures-task/0.3.34 \ + crate://crates.io/futures-util/0.3.34 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/getrandom/0.2.17 \ + crate://crates.io/getrandom/0.4.3 \ + crate://crates.io/glob/0.3.4 \ + crate://crates.io/hashbrown/0.14.5 \ + crate://crates.io/hex/0.4.3 \ + crate://crates.io/hybrid-array/0.4.14 \ + crate://crates.io/iana-time-zone/0.1.65 \ + crate://crates.io/iana-time-zone-haiku/0.1.2 \ + crate://crates.io/icu_calendar/2.3.0 \ + crate://crates.io/icu_calendar_data/2.3.0 \ + crate://crates.io/icu_collator/2.3.1 \ + crate://crates.io/icu_collator_data/2.3.0 \ + crate://crates.io/icu_collections/2.3.0 \ + crate://crates.io/icu_datetime/2.3.0 \ + crate://crates.io/icu_datetime_data/2.3.0 \ + crate://crates.io/icu_decimal/2.3.0 \ + crate://crates.io/icu_decimal_data/2.3.0 \ + crate://crates.io/icu_locale/2.3.1 \ + crate://crates.io/icu_locale_core/2.3.0 \ + crate://crates.io/icu_locale_data/2.3.0 \ + crate://crates.io/icu_locale_fallback/2.3.0 \ + crate://crates.io/icu_locale_fallback_data/2.3.0 \ + crate://crates.io/icu_normalizer/2.3.0 \ + crate://crates.io/icu_normalizer_data/2.3.0 \ + crate://crates.io/icu_pattern/0.5.0 \ + crate://crates.io/icu_plurals/2.3.0 \ + crate://crates.io/icu_plurals_data/2.3.0 \ + crate://crates.io/icu_properties/2.3.0 \ + crate://crates.io/icu_properties_data/2.3.0 \ + crate://crates.io/icu_provider/2.3.1 \ + crate://crates.io/icu_time/2.3.0 \ + crate://crates.io/icu_time_data/2.3.0 \ + crate://crates.io/intl-memoizer/0.5.3 \ + crate://crates.io/intl_pluralrules/7.0.2 \ + crate://crates.io/is_terminal_polyfill/1.70.2 \ + crate://crates.io/itertools/0.15.0 \ + crate://crates.io/jiff/0.2.35 \ + crate://crates.io/jiff-core/0.1.0 \ + crate://crates.io/jiff-icu/0.2.2 \ + crate://crates.io/jiff-static/0.2.35 \ + crate://crates.io/jiff-tzdb/0.1.8 \ + crate://crates.io/jiff-tzdb-platform/0.1.3 \ + crate://crates.io/jobserver/0.1.35 \ + crate://crates.io/js-sys/0.3.104 \ + crate://crates.io/keccak/0.2.2 \ + crate://crates.io/libc/0.2.189 \ + crate://crates.io/libfuzzer-sys/0.4.13 \ + crate://crates.io/libm/0.2.16 \ + crate://crates.io/linux-raw-sys/0.12.1 \ + crate://crates.io/litemap/0.8.3 \ + crate://crates.io/log/0.4.34 \ + crate://crates.io/md-5/0.11.0 \ + crate://crates.io/memchr/2.8.3 \ + crate://crates.io/miniz_oxide/0.9.1 \ + crate://crates.io/nix/0.31.3 \ + crate://crates.io/nom/8.0.0 \ + crate://crates.io/num-bigint/0.4.8 \ + crate://crates.io/num-integer/0.1.47 \ + crate://crates.io/num-traits/0.2.19 \ + crate://crates.io/objc2/0.6.4 \ + crate://crates.io/objc2-encode/4.1.0 \ + crate://crates.io/once_cell/1.21.4 \ + crate://crates.io/once_cell_polyfill/1.70.2 \ + crate://crates.io/ordered-multimap/0.7.3 \ + crate://crates.io/os_display/0.1.4 \ + crate://crates.io/outref/0.5.2 \ + crate://crates.io/parse_datetime/0.16.0 \ + crate://crates.io/pin-project-lite/0.2.17 \ + crate://crates.io/portable-atomic/1.15.0 \ + crate://crates.io/portable-atomic-util/0.2.7 \ + crate://crates.io/potential_utf/0.1.6 \ + crate://crates.io/proc-macro2/1.0.107 \ + crate://crates.io/procfs/0.18.0 \ + crate://crates.io/procfs-core/0.18.0 \ + crate://crates.io/quote/1.0.47 \ + crate://crates.io/r-efi/6.0.0 \ + crate://crates.io/rand/0.10.2 \ + crate://crates.io/rand_core/0.10.1 \ + crate://crates.io/rayon/1.12.0 \ + crate://crates.io/rayon-core/1.13.0 \ + crate://crates.io/regex-automata/0.4.18 \ + crate://crates.io/regex-syntax/0.8.11 \ + crate://crates.io/rust-ini/0.21.3 \ + crate://crates.io/rustc-hash/2.1.3 \ + crate://crates.io/rustix/1.1.4 \ + crate://crates.io/rustversion/1.0.23 \ + crate://crates.io/self_cell/1.3.0 \ + crate://crates.io/serde/1.0.229 \ + crate://crates.io/serde_core/1.0.229 \ + crate://crates.io/serde_derive/1.0.229 \ + crate://crates.io/sha1/0.11.0 \ + crate://crates.io/sha2/0.11.0 \ + crate://crates.io/sha3/0.12.0 \ + crate://crates.io/shake/0.1.0 \ + crate://crates.io/shlex/2.0.1 \ + crate://crates.io/simd-adler32/0.3.10 \ + crate://crates.io/similar/3.2.0 \ + crate://crates.io/slab/0.4.12 \ + crate://crates.io/sm3/0.5.0 \ + crate://crates.io/smallvec/1.15.2 \ + crate://crates.io/spin/0.10.1 \ + crate://crates.io/sponge-cursor/0.1.0 \ + crate://crates.io/stable_deref_trait/1.2.1 \ + crate://crates.io/strsim/0.11.1 \ + crate://crates.io/syn/2.0.119 \ + crate://crates.io/syn/3.0.4 \ + crate://crates.io/synstructure/0.14.0 \ + crate://crates.io/tempfile/3.27.0 \ + crate://crates.io/terminal_size/0.4.4 \ + crate://crates.io/thiserror/2.0.20 \ + crate://crates.io/thiserror-impl/2.0.20 \ + crate://crates.io/tiny-keccak/2.0.2 \ + crate://crates.io/tinystr/0.8.4 \ + crate://crates.io/type-map/0.5.1 \ + crate://crates.io/typenum/1.20.1 \ + crate://crates.io/unic-langid/0.9.6 \ + crate://crates.io/unic-langid-impl/0.9.6 \ + crate://crates.io/unicode-ident/1.0.24 \ + crate://crates.io/unicode-width/0.2.2 \ + crate://crates.io/unit-prefix/0.5.2 \ + crate://crates.io/utf16_iter/1.0.5 \ + crate://crates.io/utf8_iter/1.0.4 \ + crate://crates.io/utf8parse/0.2.2 \ + crate://crates.io/version_check/0.9.5 \ + crate://crates.io/vsimd/0.8.0 \ + crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ + crate://crates.io/wasm-bindgen/0.2.127 \ + crate://crates.io/wasm-bindgen-macro/0.2.127 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.127 \ + crate://crates.io/wasm-bindgen-shared/0.2.127 \ + crate://crates.io/wild/2.2.1 \ + crate://crates.io/windows-core/0.62.2 \ + crate://crates.io/windows-implement/0.60.2 \ + crate://crates.io/windows-interface/0.59.3 \ + crate://crates.io/windows-link/0.2.1 \ + crate://crates.io/windows-result/0.4.1 \ + crate://crates.io/windows-strings/0.5.1 \ + crate://crates.io/windows-sys/0.61.2 \ + crate://crates.io/winnow/1.0.4 \ + crate://crates.io/write16/1.0.0 \ + crate://crates.io/writeable/0.6.4 \ + crate://crates.io/yoke/0.8.3 \ + crate://crates.io/yoke-derive/0.8.3 \ + crate://crates.io/z85/3.0.7 \ + crate://crates.io/zerofrom/0.1.8 \ + crate://crates.io/zerofrom-derive/0.1.8 \ + crate://crates.io/zerotrie/0.2.5 \ + crate://crates.io/zerovec/0.11.8 \ + crate://crates.io/zerovec-derive/0.11.6 \ + crate://crates.io/zlib-rs/0.6.7 \ +" + +SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +SRC_URI[aho-corasick-1.1.5.sha256sum] = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +SRC_URI[android_system_properties-0.1.6.sha256sum] = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" +SRC_URI[anstream-1.0.0.sha256sum] = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +SRC_URI[anstyle-1.0.14.sha256sum] = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" +SRC_URI[anstyle-parse-1.0.0.sha256sum] = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +SRC_URI[arbitrary-1.4.2.sha256sum] = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" +SRC_URI[arrayvec-0.7.8.sha256sum] = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" +SRC_URI[autocfg-1.5.1.sha256sum] = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" +SRC_URI[base64-simd-0.8.0.sha256sum] = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" +SRC_URI[bigdecimal-0.4.10.sha256sum] = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" +SRC_URI[bit-set-0.8.0.sha256sum] = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +SRC_URI[bit-vec-0.8.0.sha256sum] = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.13.1.sha256sum] = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" +SRC_URI[blake2b_simd-1.0.5.sha256sum] = "3560a7b1951efe814fcd721938313adc56753ca39f4b23847d7e9a2402f5dbff" +SRC_URI[blake3-1.8.7.sha256sum] = "6d9e454fc11f76977dc803893aff6304ed33d6a26efae8696573bea74baa27ae" +SRC_URI[block-buffer-0.12.1.sha256sum] = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +SRC_URI[bstr-1.13.1.sha256sum] = "6bb31b46c14244e20ee9984b11bf5c992b91fb6939fea616e3512c8baecdbe5f" +SRC_URI[bumpalo-3.20.3.sha256sum] = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" +SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" +SRC_URI[calendrical_calculations-0.2.4.sha256sum] = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" +SRC_URI[cc-1.4.4.sha256sum] = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +SRC_URI[cfg_aliases-0.2.2.sha256sum] = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" +SRC_URI[chacha20-0.10.2.sha256sum] = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +SRC_URI[chrono-0.4.45.sha256sum] = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +SRC_URI[clap-4.6.6.sha256sum] = "473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca" +SRC_URI[clap_builder-4.6.6.sha256sum] = "7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889" +SRC_URI[clap_lex-1.1.0.sha256sum] = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" +SRC_URI[colorchoice-1.0.5.sha256sum] = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" +SRC_URI[console-0.16.6.sha256sum] = "e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3" +SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" +SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" +SRC_URI[cpufeatures-0.3.1.sha256sum] = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +SRC_URI[crc-3.3.0.sha256sum] = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +SRC_URI[crc-catalog-2.5.0.sha256sum] = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" +SRC_URI[crc-fast-1.9.0.sha256sum] = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d" +SRC_URI[crc32fast-1.5.1.sha256sum] = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550" +SRC_URI[crossbeam-deque-0.8.7.sha256sum] = "5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb" +SRC_URI[crossbeam-epoch-0.9.20.sha256sum] = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f" +SRC_URI[crossbeam-utils-0.8.22.sha256sum] = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" +SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +SRC_URI[crypto-common-0.2.2.sha256sum] = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" +SRC_URI[data-encoding-2.11.1.sha256sum] = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06" +SRC_URI[data-encoding-macro-0.1.21.sha256sum] = "c6a127ecbb3c4632e1525380e04c0c3fcf8dcb44d32a79ea290d8a36906edcd8" +SRC_URI[data-encoding-macro-internal-0.1.19.sha256sum] = "c54e03a951783e8b327515db3f2a2fd0e3bed362a96b066f341ce66ed49b4ead" +SRC_URI[defmt-1.1.1.sha256sum] = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" +SRC_URI[defmt-macros-1.1.1.sha256sum] = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" +SRC_URI[defmt-parser-1.0.0.sha256sum] = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[digest-0.11.3.sha256sum] = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +SRC_URI[dispatch2-0.3.1.sha256sum] = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +SRC_URI[displaydoc-0.2.7.sha256sum] = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" +SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" +SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +SRC_URI[either-1.18.0.sha256sum] = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" +SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +SRC_URI[fancy-regex-0.19.2.sha256sum] = "d301f5bf187b3c295fce6468d3875037a0bccc5f6b151c63cac2f85babf21912" +SRC_URI[fastrand-2.5.0.sha256sum] = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" +SRC_URI[find-msvc-tools-0.1.11.sha256sum] = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" +SRC_URI[fixed_decimal-0.7.2.sha256sum] = "79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd" +SRC_URI[flate2-1.1.10.sha256sum] = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" +SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" +SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" +SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" +SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +SRC_URI[futures-core-0.3.34.sha256sum] = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" +SRC_URI[futures-task-0.3.34.sha256sum] = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" +SRC_URI[futures-util-0.3.34.sha256sum] = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +SRC_URI[getrandom-0.4.3.sha256sum] = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +SRC_URI[glob-0.3.4.sha256sum] = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" +SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +SRC_URI[hybrid-array-0.4.14.sha256sum] = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b" +SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +SRC_URI[icu_calendar-2.3.0.sha256sum] = "58655df2f728e46e4eee80bddebefacf52ec3e77cdb925014b47c5a5905eb55c" +SRC_URI[icu_calendar_data-2.3.0.sha256sum] = "dc00caaa3fb3201ff7a18aa458e8c3ab042b9da154cfdf948bdde3936c31c36e" +SRC_URI[icu_collator-2.3.1.sha256sum] = "08984ed58ac439ebf3e13d2cf26b0c46a60afcd21721c1d14087c0b240344dda" +SRC_URI[icu_collator_data-2.3.0.sha256sum] = "f7d7e54efdddeb1208c08dd5d32b53a879ac00d2d3d051b2255fd26821d16368" +SRC_URI[icu_collections-2.3.0.sha256sum] = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" +SRC_URI[icu_datetime-2.3.0.sha256sum] = "c44df99c4c5297b05653d1a1629f13bdc9fd4044acfbbaf30b15194a1eed4cd6" +SRC_URI[icu_datetime_data-2.3.0.sha256sum] = "8bb5555f6e4b42233f58564351ce16d73e9e6ebfce6bdcf29875d0cfc554d6a8" +SRC_URI[icu_decimal-2.3.0.sha256sum] = "9eb8f655bba2d0c0459e43a5b0e6cd3cd388109898fb3d85d048165e8b0abd08" +SRC_URI[icu_decimal_data-2.3.0.sha256sum] = "e4c887fc7d4c297cf3f9436864af9e3dba7f8be9415a6c2a7f392f3b1636298c" +SRC_URI[icu_locale-2.3.1.sha256sum] = "785f595c61ef57169a467eeed7b4b6936a66f6cacbb116a96ee86da983251bf4" +SRC_URI[icu_locale_core-2.3.0.sha256sum] = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" +SRC_URI[icu_locale_data-2.3.0.sha256sum] = "d37d91460e362a5cf58907cd7ce871411775ee6294e49a5cc8e6cec16dfa75ea" +SRC_URI[icu_locale_fallback-2.3.0.sha256sum] = "251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9" +SRC_URI[icu_locale_fallback_data-2.3.0.sha256sum] = "decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8" +SRC_URI[icu_normalizer-2.3.0.sha256sum] = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" +SRC_URI[icu_normalizer_data-2.3.0.sha256sum] = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" +SRC_URI[icu_pattern-0.5.0.sha256sum] = "2b3db611446bd92c246b03e4aa0bafa71ddb194af431ddbb42b9d70e4bfce1a0" +SRC_URI[icu_plurals-2.3.0.sha256sum] = "e475e6766ef87b1d3c1f97be6363995b0bfaeddbc789671615df598a97ff0593" +SRC_URI[icu_plurals_data-2.3.0.sha256sum] = "1251aa39a95e1333888e499b1263e1c196447a28948acf5bdabd82c046f153bf" +SRC_URI[icu_properties-2.3.0.sha256sum] = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" +SRC_URI[icu_properties_data-2.3.0.sha256sum] = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" +SRC_URI[icu_provider-2.3.1.sha256sum] = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" +SRC_URI[icu_time-2.3.0.sha256sum] = "af37e1c3b9f3ab564b619fdf4b22de169f6381eb0f7048e3ca454290c438126b" +SRC_URI[icu_time_data-2.3.0.sha256sum] = "005ff86fa5851a77fc0a977b72d717f777bd9230415a247219d7898aefb1517a" +SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" +SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" +SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +SRC_URI[itertools-0.15.0.sha256sum] = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" +SRC_URI[jiff-0.2.35.sha256sum] = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc" +SRC_URI[jiff-core-0.1.0.sha256sum] = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09" +SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" +SRC_URI[jiff-static-0.2.35.sha256sum] = "3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204" +SRC_URI[jiff-tzdb-0.1.8.sha256sum] = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" +SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +SRC_URI[jobserver-0.1.35.sha256sum] = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" +SRC_URI[js-sys-0.3.104.sha256sum] = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" +SRC_URI[keccak-0.2.2.sha256sum] = "d8f198d1db720e4940b5a493201d199d9f24f568f8f746bd13706243a2f71598" +SRC_URI[libc-0.2.189.sha256sum] = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" +SRC_URI[libfuzzer-sys-0.4.13.sha256sum] = "a9fd2f41a1cba099f79a0b6b6c35656cf7c03351a7bae8ff0f28f25270f929d2" +SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +SRC_URI[litemap-0.8.3.sha256sum] = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" +SRC_URI[log-0.4.34.sha256sum] = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" +SRC_URI[md-5-0.11.0.sha256sum] = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +SRC_URI[memchr-2.8.3.sha256sum] = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" +SRC_URI[miniz_oxide-0.9.1.sha256sum] = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +SRC_URI[nix-0.31.3.sha256sum] = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +SRC_URI[num-bigint-0.4.8.sha256sum] = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" +SRC_URI[num-integer-0.1.47.sha256sum] = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b" +SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +SRC_URI[objc2-0.6.4.sha256sum] = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +SRC_URI[objc2-encode-4.1.0.sha256sum] = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" +SRC_URI[once_cell-1.21.4.sha256sum] = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +SRC_URI[once_cell_polyfill-1.70.2.sha256sum] = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +SRC_URI[ordered-multimap-0.7.3.sha256sum] = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" +SRC_URI[os_display-0.1.4.sha256sum] = "ad5fd71b79026fb918650dde6d125000a233764f1c2f1659a1c71118e33ea08f" +SRC_URI[outref-0.5.2.sha256sum] = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" +SRC_URI[parse_datetime-0.16.0.sha256sum] = "503fd4c8b0685e5eb32a8276533611f63e3b44768e9e8724e73f6852c2542f82" +SRC_URI[pin-project-lite-0.2.17.sha256sum] = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +SRC_URI[portable-atomic-1.15.0.sha256sum] = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" +SRC_URI[portable-atomic-util-0.2.7.sha256sum] = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +SRC_URI[potential_utf-0.1.6.sha256sum] = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" +SRC_URI[proc-macro2-1.0.107.sha256sum] = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" +SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" +SRC_URI[quote-1.0.47.sha256sum] = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +SRC_URI[r-efi-6.0.0.sha256sum] = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +SRC_URI[rand-0.10.2.sha256sum] = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80" +SRC_URI[rand_core-0.10.1.sha256sum] = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" +SRC_URI[rayon-1.12.0.sha256sum] = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" +SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +SRC_URI[regex-automata-0.4.18.sha256sum] = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +SRC_URI[regex-syntax-0.8.11.sha256sum] = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" +SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" +SRC_URI[rustc-hash-2.1.3.sha256sum] = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" +SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +SRC_URI[rustversion-1.0.23.sha256sum] = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" +SRC_URI[self_cell-1.3.0.sha256sum] = "2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813" +SRC_URI[serde-1.0.229.sha256sum] = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +SRC_URI[serde_core-1.0.229.sha256sum] = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +SRC_URI[serde_derive-1.0.229.sha256sum] = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +SRC_URI[sha1-0.11.0.sha256sum] = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +SRC_URI[sha2-0.11.0.sha256sum] = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +SRC_URI[sha3-0.12.0.sha256sum] = "bc9bad02c26382724b2d2692c6f179285e4b54eeecd7968f52a50059c3c11759" +SRC_URI[shake-0.1.0.sha256sum] = "09057cb2149ad4cbd2da1e26b351f9a4c354219421229c69c3063e6f61947c4a" +SRC_URI[shlex-2.0.1.sha256sum] = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" +SRC_URI[simd-adler32-0.3.10.sha256sum] = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" +SRC_URI[similar-3.2.0.sha256sum] = "4f66ca1f7aca2474dc10c942eb22feffc897735f54cd1db90138c2fddb490987" +SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" +SRC_URI[smallvec-1.15.2.sha256sum] = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" +SRC_URI[spin-0.10.1.sha256sum] = "023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3" +SRC_URI[sponge-cursor-0.1.0.sha256sum] = "3a0219bd7d979d58245a4f41f695e1ac9f8befdffadd7f61f1bae9e39abc6620" +SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +SRC_URI[syn-2.0.119.sha256sum] = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +SRC_URI[syn-3.0.4.sha256sum] = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" +SRC_URI[synstructure-0.14.0.sha256sum] = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02" +SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +SRC_URI[terminal_size-0.4.4.sha256sum] = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" +SRC_URI[thiserror-2.0.20.sha256sum] = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" +SRC_URI[thiserror-impl-2.0.20.sha256sum] = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" +SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +SRC_URI[tinystr-0.8.4.sha256sum] = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" +SRC_URI[type-map-0.5.1.sha256sum] = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" +SRC_URI[typenum-1.20.1.sha256sum] = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" +SRC_URI[unic-langid-0.9.6.sha256sum] = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05" +SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" +SRC_URI[unicode-ident-1.0.24.sha256sum] = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" +SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" +SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" +SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +SRC_URI[wasm-bindgen-0.2.127.sha256sum] = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" +SRC_URI[wasm-bindgen-macro-0.2.127.sha256sum] = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" +SRC_URI[wasm-bindgen-macro-support-0.2.127.sha256sum] = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" +SRC_URI[wasm-bindgen-shared-0.2.127.sha256sum] = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" +SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" +SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +SRC_URI[windows-implement-0.60.2.sha256sum] = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +SRC_URI[windows-interface-0.59.3.sha256sum] = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +SRC_URI[windows-result-0.4.1.sha256sum] = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +SRC_URI[windows-strings-0.5.1.sha256sum] = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +SRC_URI[winnow-1.0.4.sha256sum] = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +SRC_URI[writeable-0.6.4.sha256sum] = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" +SRC_URI[yoke-0.8.3.sha256sum] = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" +SRC_URI[yoke-derive-0.8.3.sha256sum] = "33811428bee40dbceb6d545e95754741d17a6aef9a4849f0fd62e2ba4f412a78" +SRC_URI[z85-3.0.7.sha256sum] = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" +SRC_URI[zerofrom-0.1.8.sha256sum] = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +SRC_URI[zerofrom-derive-0.1.8.sha256sum] = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a" +SRC_URI[zerotrie-0.2.5.sha256sum] = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" +SRC_URI[zerovec-0.11.8.sha256sum] = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" +SRC_URI[zerovec-derive-0.11.6.sha256sum] = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" +SRC_URI[zlib-rs-0.6.7.sha256sum] = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12" diff --git a/meta/recipes-core/uutils-coreutils/uutils-coreutils_0.12.0.bb b/meta/recipes-core/uutils-coreutils/uutils-coreutils_0.12.0.bb new file mode 100644 index 0000000000..26e494209a --- /dev/null +++ b/meta/recipes-core/uutils-coreutils/uutils-coreutils_0.12.0.bb @@ -0,0 +1,86 @@ +# Copyright (c) 2022, Snap Inc. +# Released under the MIT license (see COPYING.MIT for the terms) +SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust" +HOMEPAGE = "https://github.com/uutils/coreutils" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e74349878141b240070458d414ab3b64" + +inherit cargo cargo-update-recipe-crates + +SRC_URI = " \ + git://github.com/uutils/coreutils.git;protocol=https;branch=main;tag=${PV} \ +" + +SRCREV = "dc1efd89948a9ca4c78c3a4b9a6ac891019a8c69" + +require ${BPN}-crates.inc + +PROVIDES = "coreutils" +RPROVIDES:${PN} = "coreutils" + +# This recipe is a drop-in replacement for coreutils and cannot coexist with it, +# so only build it in world/universe when it is the selected provider. Otherwise +# both recipes end up in the same task graph as explicit targets (PREFERRED_PROVIDER +# only disambiguates dependencies, not targets) and bitbake warns that multiple +# .bb files provide coreutils. +EXCLUDE_FROM_WORLD = "${@'0' if d.getVar('PREFERRED_PROVIDER_coreutils') == 'uutils-coreutils' else '1'}" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux systemd', d)}" +PACKAGECONFIG[selinux] = "--features feat_selinux,,clang-native libselinux-native libselinux" +PACKAGECONFIG[systemd] = "--features feat_systemd_logind,,systemd" + +CARGO_BUILD_FLAGS += "--features unix --features feat_external_libstdbuf" + +# The code which follows is strongly inspired from the GNU coreutils bitbake recipe: + +# df mktemp nice printenv base32 base64 get a special treatment and are not included in this +bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \ + env expand expr factor fmt fold groups head hostid id install \ + join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ + pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \ + sha384sum sha512sum shred shuf sort split stdbuf sum tac tail tee test timeout \ + tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" + +bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}" + +base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \ + mknod mv pwd rm rmdir sleep stty sync touch true uname stat" + +sbindir_progs = "chroot" + +FILES:${PN}:append = " ${libdir}/coreutils/libstdbuf.so" +inherit update-alternatives + +# Higher than busybox (which uses 50) +ALTERNATIVE_PRIORITY = "100" + +# Higher than net-tools (which uses 100) +ALTERNATIVE_PRIORITY[hostname] = "110" + +ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df" + +# Use the multicall binary named "coreutils" for symlinks +ALTERNATIVE_TARGET = "${bindir}/coreutils" + +python __anonymous() { + for prog in d.getVar('base_bindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) + + for prog in d.getVar('sbindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog)) +} + +BBCLASSEXTEND = "native nativesdk" + +do_configure:prepend() { + rm -f ${S}/.cargo/config.toml +} + +do_compile:prepend() { + export LIBSTDBUF_DIR="${libdir}/coreutils" +} + +do_install:append() { + mkdir -p ${D}${libdir}/coreutils + cp ${B}/target/${CARGO_TARGET_SUBDIR}/deps/libstdbuf.so ${D}${libdir}/coreutils/libstdbuf.so +} -- 2.43.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-10 11:30 [PATCH] uutils-coreutils: move from meta-openembedded ecordonnier @ 2026-10-10 18:33 ` Collin Funk 2026-10-11 16:23 ` [OE-core] " Yoann Congal 2026-10-12 13:04 ` Alexander Kanavin 1 sibling, 1 reply; 11+ messages in thread From: Collin Funk @ 2026-10-10 18:33 UTC (permalink / raw) To: openembedded-core; +Cc: Etienne Cordonnier Etienne Cordonnier <ecordonnier@snap.com> wrote: > uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature > enough for production use, so move the recipe from meta-oe to oe-core. > It provides and rprovides coreutils, and is excluded from world unless > selected as the coreutils provider. Total disregard for the requirements imposed by the GPL is helpful to it being "mature enough for production use", of course. See the downplayed mention in the 0.12.0 release notes: Also, some contributions had carried comments and code over from GNU coreutils, against our own rule that uutils is an original implementation. We reviewed the tree and rewrote what we found, in comments and in the few functions that followed the C too closely; no behaviour change. The GNU coreutils maintainers have been notified. > +SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust" This summary reads as if it is trying to claim that uutils is the official GNU coreutils project. I'm not familiar enough with openembedded, but a concern raised by other distributions and me is that supporting two packages as "coreutils" increases maintainers' workload because the implementations are bound to diverge, requiring otherwise unnecessary code churn. E.g., for around a year, Ubuntu 26.04 had the following: $ export LC_ALL=en_US.UTF-8 $ printf 'USA\nU.S.A\nU-S-A\n' | sort -u USA $ printf 'USA\nU.S.A\nU-S-A\n' | gnusort -u U-S-A U.S.A USA It still has the following issue [1]: $ export LC_ALL=en_US.UTF-8 $ echo a A b B | tr ' ' '\n' | sort > tst1.txt $ echo a A b C | tr ' ' '\n' | sort > tst2.txt $ comm -23 tst1.txt tst2.txt comm: file 1 is not in sorted order comm: file 2 is not in sorted order B comm: input is not in sorted order $ gnucomm -23 tst1.txt tst2.txt B Collin [1] https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2169780 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-10 18:33 ` Collin Funk @ 2026-10-11 16:23 ` Yoann Congal 0 siblings, 0 replies; 11+ messages in thread From: Yoann Congal @ 2026-10-11 16:23 UTC (permalink / raw) To: collin.funk1, openembedded-core; +Cc: Etienne Cordonnier On Sat Oct 10, 2026 at 8:33 PM CEST, Collin Funk via lists.openembedded.org wrote: > Etienne Cordonnier <ecordonnier@snap.com> wrote: > >> uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature >> enough for production use, so move the recipe from meta-oe to oe-core. >> It provides and rprovides coreutils, and is excluded from world unless >> selected as the coreutils provider. > > Total disregard for the requirements imposed by the GPL is helpful to it > being "mature enough for production use", of course. See the downplayed > mention in the 0.12.0 release notes: > > Also, some contributions had carried comments and code over from GNU > coreutils, against our own rule that uutils is an original > implementation. We reviewed the tree and rewrote what we found, in > comments and in the few functions that followed the C too closely; > no behaviour change. The GNU coreutils maintainers have been > notified. > >> +SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust" > > This summary reads as if it is trying to claim that uutils is the > official GNU coreutils project. > > I'm not familiar enough with openembedded, but a concern raised by other > distributions and me is that supporting two packages as "coreutils" > increases maintainers' workload because the implementations are bound to > diverge, requiring otherwise unnecessary code churn. E.g., for around a > year, Ubuntu 26.04 had the following: > > $ export LC_ALL=en_US.UTF-8 > $ printf 'USA\nU.S.A\nU-S-A\n' | sort -u > USA > $ printf 'USA\nU.S.A\nU-S-A\n' | gnusort -u > U-S-A > U.S.A > USA > > It still has the following issue [1]: > > $ export LC_ALL=en_US.UTF-8 > $ echo a A b B | tr ' ' '\n' | sort > tst1.txt > $ echo a A b C | tr ' ' '\n' | sort > tst2.txt > $ comm -23 tst1.txt tst2.txt > comm: file 1 is not in sorted order > comm: file 2 is not in sorted order > B > comm: input is not in sorted order > $ gnucomm -23 tst1.txt tst2.txt > B > > Collin > > [1] https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2169780 For reference we also had issues with uutils-coreutils implementations: * classes/base: prefer gnu-prefixed HOSTTOOLS - openembedded-core - OpenEmbedded Core layer https://git.openembedded.org/openembedded-core/commit/?id=16f2684ebeffa72b5d90525cf9102751b68c298e * 16028 – Investigate pseudo/uutils incompatibilities https://bugzilla.yoctoproject.org/show_bug.cgi?id=16028 Regards, -- Yoann Congal Smile ECS ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-10 11:30 [PATCH] uutils-coreutils: move from meta-openembedded ecordonnier 2026-10-10 18:33 ` Collin Funk @ 2026-10-12 13:04 ` Alexander Kanavin 2026-10-12 21:13 ` Etienne Cordonnier 1 sibling, 1 reply; 11+ messages in thread From: Alexander Kanavin @ 2026-10-12 13:04 UTC (permalink / raw) To: ecordonnier; +Cc: openembedded-core [-- Attachment #1: Type: text/plain, Size: 940 bytes --] On Sat, 10 Oct 2026 at 13:30, Etienne Cordonnier via lists.openembedded.org <ecordonnier=snap.com@lists.openembedded.org> wrote: > > uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature > enough for production use, so move the recipe from meta-oe to oe-core. > It provides and rprovides coreutils, and is excluded from world unless > selected as the coreutils provider. > This needs a bit more justification. What is achieved by moving it to core? What specifically makes this component mature enough? What tests were performed with it? Does it pass the full autobuilder matrix when selected as coreutiuls provider? Should we add that test to the autobuilder? Should we make uutils-coreutils the default choice, or maybe the only choice? Does it work as a provider of coreutils-native, and is it compatible with pseudo? Adding things to core has a pretty high bar, and the above commit message does not meet it. Alex [-- Attachment #2: Type: text/html, Size: 1379 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-12 13:04 ` Alexander Kanavin @ 2026-10-12 21:13 ` Etienne Cordonnier 2026-10-12 22:58 ` Collin Funk 2026-10-13 7:41 ` Alexander Kanavin 0 siblings, 2 replies; 11+ messages in thread From: Etienne Cordonnier @ 2026-10-12 21:13 UTC (permalink / raw) To: Alexander Kanavin; +Cc: openembedded-core [-- Attachment #1: Type: text/plain, Size: 4166 bytes --] Hi Alex, - what is achieved by moving it to core is improving no-gplv3.inc for users who are not using gplv3 and still want full coreutils syntax support. It will also make it possible to add it to poky-altcfg.conf, and generally make it easier to consume without needing meta-openembedded. - what specifically makes this component mature enough is: - I've added the recipe to meta-openembedded in July 2022 and it has been continuously tested and improved since (e.g. I fixed the musl support upstream, the cross-compilation of stdbuf upstream, some buildpath issue) - its adoption in Ubuntu 26.04 as default coreutils implementation and the resulting large-scale usage and bug-fixing - its availability in Windows as "Coreutils for Windows" starting in June 2026 as a package maintained by Microsoft, and the resulting large-scale usage and bug-fixing - its massive adoption in various distros and package-managers (see https://uutils.org/users/ ) - its >95% pass-rate of the GNU testing suite in release 0.0.12 (some tests are still skipped) - anecdotally, my own usage in production on embedded devices for several years without issues (on arm and qemu-arm64) - "should we make uutils-coreutils the default choice, or maybe the only choice?" -> maybe in several years when uutils-coreutils has matured even more and has 100% test coverage of the GNU test suite? At the moment I think the safest choice on critical devices is still GNU coreutils, so I wouldn't remove or make rust coreutils the default or only choice. Also rust binaries are bigger than C binaries so there is some tradeoff involved. GNU coreutils 9.12 main package is 10.3MB big in my test build, compared to 13.6MB for the uutils-coreutils 0.0.12 main package (uutils-coreutils uses a multi-binary executable to save space, GNU coreutils doesn't). - "Does it work as a provider of coreutils-native and is it compatible with pseudo?" - the recipe uutils-coreutils-native compiles, but it's not compatible with pseudo because of differences in syscalls, and it's not suitable as a replacement for coreutils-native at the moment. I'll try to make it work with pseudo in the future, but I think almost all users consume it as a target recipe and that's where it provides most value. - "Does it pass the full autobuilder matrix when selected as coreutils provider? Should we add that test to the autobuilder?" -> it should, but I've not tested the full matrix of the autobuilder. I would like to add the recipe to poky-altcfg.conf, and as far as I understand this would add it to the autobuilder as side-effect. I am also working on adding ptest support for the recipe and can send this if necessary for the acceptance to oe-core. Étienne On Mon, Oct 12, 2026 at 3:04 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote: > On Sat, 10 Oct 2026 at 13:30, Etienne Cordonnier via > lists.openembedded.org > <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openembedded.org&d=DwMFaQ&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=Pf9ypvX_MT4dU4cYC3brv9jpglRcRrrz1luHXObxYfW6J0oO8XAW6KnUoiQHzUES&s=QSmPEv1BkubeZVNksJqkHkppRkyy-Bac7QdkZuoYqaA&e=> > <ecordonnier=snap.com@lists.openembedded.org> wrote: > >> >> uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature >> enough for production use, so move the recipe from meta-oe to oe-core. >> It provides and rprovides coreutils, and is excluded from world unless >> selected as the coreutils provider. >> > > This needs a bit more justification. What is achieved by moving it to > core? What specifically makes this component mature enough? What tests were > performed with it? Does it pass the full autobuilder matrix when selected > as coreutiuls provider? Should we add that test to the autobuilder? Should > we make uutils-coreutils the default choice, or maybe the only choice? Does > it work as a provider of coreutils-native, and is it compatible with pseudo? > > Adding things to core has a pretty high bar, and the above commit message > does not meet it. > > Alex > [-- Attachment #2: Type: text/html, Size: 4986 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-12 21:13 ` Etienne Cordonnier @ 2026-10-12 22:58 ` Collin Funk 2026-10-13 7:41 ` Alexander Kanavin 1 sibling, 0 replies; 11+ messages in thread From: Collin Funk @ 2026-10-12 22:58 UTC (permalink / raw) To: Etienne Cordonnier; +Cc: Alexander Kanavin, openembedded-core Etienne Cordonnier <ecordonnier@snap.com> said: > - what is achieved by moving it to core is improving no-gplv3.inc for users > who are not using gplv3 and still want full coreutils syntax support. It > will also make it possible to add it to poky-altcfg.conf, and generally > make it easier to consume without needing meta-openembedded. That, of course, assumes none of the code is tainted after the attempted cleanup in 0.12.0, which only came after multiple warnings from me. It is difficult, speaking personally, for me to believe that the uutils project has any respect at all for licensing. > - its adoption in Ubuntu 26.04 as default coreutils implementation and > the resulting large-scale usage and bug-fixing That is the positive side of things. The negative side is that there were many FTBFS and multiple breakages of Ubuntu ISOs. E.g., one missing a setuid bit on sudo. I highly doubt Canonical engineers enjoy dealing with this. It seems to be a decision made by the company leadership. I can't say for certain, though, since Canonical didn't reach out to me or anyone else working on GNU coreutils, who could have warned them about the easily foreseeable issues they faced. > - its >95% pass-rate of the GNU testing suite in release 0.0.12 (some > tests are still skipped) Note that the GNU coreutils test suite is good, in my biased opinion, but it is not really meant to create a new, perfectly compatible implementation to replace us. I have always found the use of these percentages dubious, but I understand the need for some comparison. > Also rust binaries are bigger than C binaries so there is some > tradeoff involved. GNU coreutils 9.12 main package is 10.3MB big in my > test build, compared to 13.6MB for the uutils-coreutils 0.0.12 main > package (uutils-coreutils uses a multi-binary executable to save > space, GNU coreutils doesn't). This is a very unfair comparison. GNU coreutils has been able to be built as a single binary since 2014 [1]. If there were a need for it in meta-openembedded, I am sure it could be packaged relatively easily. Red Hat uses it for their container images, for example: $ podman run --rm -it redhat/ubi10 $ du --human-readable /bin/coreutils 1.4M /bin/coreutils Collin [1] https://github.com/coreutils/coreutils/commit/71e2ea773414b2316bbe6b803b9a52c38d3752e8 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-12 21:13 ` Etienne Cordonnier 2026-10-12 22:58 ` Collin Funk @ 2026-10-13 7:41 ` Alexander Kanavin 2026-10-13 8:13 ` Yoann Congal 2026-10-13 10:02 ` Etienne Cordonnier 1 sibling, 2 replies; 11+ messages in thread From: Alexander Kanavin @ 2026-10-13 7:41 UTC (permalink / raw) To: Etienne Cordonnier Cc: openembedded-core, Paul Barker, Richard Purdie, collin.funk1 [-- Attachment #1: Type: text/plain, Size: 5677 bytes --] Alright. Here's a suggested plan for you: - add ptest support to the recipe. It must have feature parity with the GNU recipe. - investigate and propose a plan for pseudo compatibility. It's not easy: pseudo relies on substituting libc API, and rust binaries issue kernel syscalls directly. - address concerns of 'license-washing'. A few of us are deeply uncomfortable with this recent wave of component rewrites (especially AI assisted which causes dubious copyrights) where the primary goal is not technical improvement but simply getting rid of the GPL. The purpose of open source is not serving commercial interests, it's making computing better for everyone. - get the core community distributions (which is, Fedora and Debian) to have a plan and timeline of adoping uutils as the default. This is the ultimate test of maturity. - propose a test plan for Yocto. Merely sticking it into poky-altcfg is actually a regression in testing, because then sysvinit images will be tested only with GNU, and systemd images will be tested only with uutils. - last, but not least. Actually this is the most important one: fix your relationship with GNU coreutils. It's painful to watch you two bicker, and I do not want the Yocto project to be dragged into this. Alex On Mon, 12 Oct 2026 at 23:13, Etienne Cordonnier <ecordonnier@snap.com> wrote: > Hi Alex, > - what is achieved by moving it to core is improving no-gplv3.inc for > users who are not using gplv3 and still want full coreutils syntax support. > It will also make it possible to add it to poky-altcfg.conf, and generally > make it easier to consume without needing meta-openembedded. > > - what specifically makes this component mature enough is: > - I've added the recipe to meta-openembedded in July 2022 and it has > been continuously tested and improved since (e.g. I fixed the musl support > upstream, the cross-compilation of stdbuf upstream, some buildpath issue) > - its adoption in Ubuntu 26.04 as default coreutils implementation and > the resulting large-scale usage and bug-fixing > - its availability in Windows as "Coreutils for Windows" starting in > June 2026 as a package maintained by Microsoft, and the resulting > large-scale usage and bug-fixing > - its massive adoption in various distros and package-managers (see > https://uutils.org/users/ ) > - its >95% pass-rate of the GNU testing suite in release 0.0.12 (some > tests are still skipped) > - anecdotally, my own usage in production on embedded devices for > several years without issues (on arm and qemu-arm64) > > - "should we make uutils-coreutils the default choice, or maybe the only > choice?" > -> maybe in several years when uutils-coreutils has matured even more > and has 100% test coverage of the GNU test suite? At the moment I think the > safest choice on critical devices is still GNU coreutils, so I wouldn't > remove or make rust coreutils the default or only choice. Also rust > binaries are bigger than C binaries so there is some tradeoff involved. GNU > coreutils 9.12 main package is 10.3MB big in my test build, compared to > 13.6MB for the uutils-coreutils 0.0.12 main package (uutils-coreutils uses > a multi-binary executable to save space, GNU coreutils doesn't). > > - "Does it work as a provider of coreutils-native and is it compatible > with pseudo?" > - the recipe uutils-coreutils-native compiles, but it's not compatible > with pseudo because of differences in syscalls, and it's not suitable as a > replacement for coreutils-native at the moment. I'll try to make it work > with pseudo in the future, but I think almost all users consume it as a > target recipe and that's where it provides most value. > > - "Does it pass the full autobuilder matrix when selected as coreutils > provider? Should we add that test to the autobuilder?" > -> it should, but I've not tested the full matrix of the autobuilder. I > would like to add the recipe to poky-altcfg.conf, and as far as I > understand this would add it to the autobuilder as side-effect. > I am also working on adding ptest support for the recipe and can send this > if necessary for the acceptance to oe-core. > > Étienne > > On Mon, Oct 12, 2026 at 3:04 PM Alexander Kanavin <alex.kanavin@gmail.com> > wrote: > >> On Sat, 10 Oct 2026 at 13:30, Etienne Cordonnier via >> lists.openembedded.org >> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openembedded.org&d=DwMFaQ&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=Pf9ypvX_MT4dU4cYC3brv9jpglRcRrrz1luHXObxYfW6J0oO8XAW6KnUoiQHzUES&s=QSmPEv1BkubeZVNksJqkHkppRkyy-Bac7QdkZuoYqaA&e=> >> <ecordonnier=snap.com@lists.openembedded.org> wrote: >> >>> >>> uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature >>> enough for production use, so move the recipe from meta-oe to oe-core. >>> It provides and rprovides coreutils, and is excluded from world unless >>> selected as the coreutils provider. >>> >> >> This needs a bit more justification. What is achieved by moving it to >> core? What specifically makes this component mature enough? What tests were >> performed with it? Does it pass the full autobuilder matrix when selected >> as coreutiuls provider? Should we add that test to the autobuilder? Should >> we make uutils-coreutils the default choice, or maybe the only choice? Does >> it work as a provider of coreutils-native, and is it compatible with pseudo? >> >> Adding things to core has a pretty high bar, and the above commit message >> does not meet it. >> >> Alex >> > [-- Attachment #2: Type: text/html, Size: 6892 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-13 7:41 ` Alexander Kanavin @ 2026-10-13 8:13 ` Yoann Congal 2026-10-13 10:02 ` Etienne Cordonnier 1 sibling, 0 replies; 11+ messages in thread From: Yoann Congal @ 2026-10-13 8:13 UTC (permalink / raw) To: alex.kanavin, Etienne Cordonnier Cc: openembedded-core, Paul Barker, Richard Purdie, collin.funk1 On Tue Oct 13, 2026 at 9:41 AM CEST, Alexander Kanavin via lists.openembedded.org wrote: > Alright. Here's a suggested plan for you: > > - add ptest support to the recipe. It must have feature parity with the GNU > recipe. FYI, on adding ptest, we tried last year but got stuck and dropped it. See: * tests.rs: statically defined `CARGO_BIN_EXE_coreutils` causes all integration tests to fail on Yocto ptest-cargo · Issue #9246 https://github.com/uutils/coreutils/issues/9246 * tests.rs: Read executable binary location from environment at runtime by andstepan · Pull Request #9323 https://github.com/uutils/coreutils/pull/9323 Andrea does not work with us anymore (sadly), feel free to take over his work. Regards, -- Yoann Congal Smile ECS ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-13 7:41 ` Alexander Kanavin 2026-10-13 8:13 ` Yoann Congal @ 2026-10-13 10:02 ` Etienne Cordonnier 2026-10-13 10:24 ` Alexander Kanavin 2026-10-13 10:54 ` Alexander Kanavin 1 sibling, 2 replies; 11+ messages in thread From: Etienne Cordonnier @ 2026-10-13 10:02 UTC (permalink / raw) To: Alexander Kanavin Cc: openembedded-core, Paul Barker, Richard Purdie, collin.funk1 [-- Attachment #1: Type: text/plain, Size: 7939 bytes --] > - add ptest support to the recipe. It must have feature parity with the GNU recipe. OK, I'll do that in meta-openembedded, since I don't want to mix this change with a move between two repos > - investigate and propose a plan for pseudo compatibility. It's not easy: pseudo relies on substituting libc API, and rust binaries issue kernel syscalls directly. It is doable, since uutils-coreutils already uses the libc crate for many things, and the rustix crate can be configured at build-time to use the libc crate instead of using kernel syscalls directly. On the other hand, PREFERRED_PROVIDER_coreutils is independent of PREFERRED_PROVIDER_coreutils-native, and very few recipes depend on coreutils-native, so I suggest decoupling a potential merge of uutils-coreutils with pseudo support. The target version delivers almost all the value, and pseudo compatibility can follow separately. Or am I missing something? > - propose a test plan for Yocto. Merely sticking it into poky-altcfg is actually a regression in testing, because then sysvinit images will be tested only with GNU, and systemd images will be tested only with uutils. OK, then I'm not sure what's best in terms of testing matrix. I'll need to investigate. > - last, but not least. Actually this is the most important one: fix your relationship with GNU coreutils. It's painful to watch you two bicker, and I do not want the Yocto project to be dragged into this. On the last point: I can see Collin feels strongly about this, and I take the licensing concern seriously. But I haven't been in conflict with him or with GNU coreutils. If there's a specific exchange you'd like me to look at, please point me to it. Étienne On Tue, Oct 13, 2026 at 9:42 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote: > Alright. Here's a suggested plan for you: > > - add ptest support to the recipe. It must have feature parity with the > GNU recipe. > > - investigate and propose a plan for pseudo compatibility. It's not easy: > pseudo relies on substituting libc API, and rust binaries issue kernel > syscalls directly. > > - address concerns of 'license-washing'. A few of us are deeply > uncomfortable with this recent wave of component rewrites (especially AI > assisted which causes dubious copyrights) where the primary goal is not > technical improvement but simply getting rid of the GPL. The purpose of > open source is not serving commercial interests, it's making computing > better for everyone. > > - get the core community distributions (which is, Fedora and Debian) to > have a plan and timeline of adoping uutils as the default. This is the > ultimate test of maturity. > > - propose a test plan for Yocto. Merely sticking it into poky-altcfg is > actually a regression in testing, because then sysvinit images will be > tested only with GNU, and systemd images will be tested only with uutils. > > - last, but not least. Actually this is the most important one: fix your > relationship with GNU coreutils. It's painful to watch you two bicker, and > I do not want the Yocto project to be dragged into this. > > Alex > > > On Mon, 12 Oct 2026 at 23:13, Etienne Cordonnier <ecordonnier@snap.com> > wrote: > >> Hi Alex, >> - what is achieved by moving it to core is improving no-gplv3.inc for >> users who are not using gplv3 and still want full coreutils syntax support. >> It will also make it possible to add it to poky-altcfg.conf, and generally >> make it easier to consume without needing meta-openembedded. >> >> - what specifically makes this component mature enough is: >> - I've added the recipe to meta-openembedded in July 2022 and it has >> been continuously tested and improved since (e.g. I fixed the musl support >> upstream, the cross-compilation of stdbuf upstream, some buildpath issue) >> - its adoption in Ubuntu 26.04 as default coreutils implementation and >> the resulting large-scale usage and bug-fixing >> - its availability in Windows as "Coreutils for Windows" starting in >> June 2026 as a package maintained by Microsoft, and the resulting >> large-scale usage and bug-fixing >> - its massive adoption in various distros and package-managers (see >> https://uutils.org/users/ >> <https://urldefense.proofpoint.com/v2/url?u=https-3A__uutils.org_users_&d=DwMFaQ&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=TQmofvWjML0rStkG9aORknAn231FNShwwQFbVxuoEpFoFov2hNAHI82gZaXe_Ji-&s=CBQ3d8b8uYSdxwNhKRN4m1Bv7jOIX0EwE2ZOXtUfDj0&e=> >> ) >> - its >95% pass-rate of the GNU testing suite in release 0.0.12 (some >> tests are still skipped) >> - anecdotally, my own usage in production on embedded devices for >> several years without issues (on arm and qemu-arm64) >> >> - "should we make uutils-coreutils the default choice, or maybe the only >> choice?" >> -> maybe in several years when uutils-coreutils has matured even more >> and has 100% test coverage of the GNU test suite? At the moment I think the >> safest choice on critical devices is still GNU coreutils, so I wouldn't >> remove or make rust coreutils the default or only choice. Also rust >> binaries are bigger than C binaries so there is some tradeoff involved. GNU >> coreutils 9.12 main package is 10.3MB big in my test build, compared to >> 13.6MB for the uutils-coreutils 0.0.12 main package (uutils-coreutils uses >> a multi-binary executable to save space, GNU coreutils doesn't). >> >> - "Does it work as a provider of coreutils-native and is it compatible >> with pseudo?" >> - the recipe uutils-coreutils-native compiles, but it's not compatible >> with pseudo because of differences in syscalls, and it's not suitable as a >> replacement for coreutils-native at the moment. I'll try to make it work >> with pseudo in the future, but I think almost all users consume it as a >> target recipe and that's where it provides most value. >> >> - "Does it pass the full autobuilder matrix when selected as coreutils >> provider? Should we add that test to the autobuilder?" >> -> it should, but I've not tested the full matrix of the autobuilder. I >> would like to add the recipe to poky-altcfg.conf, and as far as I >> understand this would add it to the autobuilder as side-effect. >> I am also working on adding ptest support for the recipe and can send >> this if necessary for the acceptance to oe-core. >> >> Étienne >> >> On Mon, Oct 12, 2026 at 3:04 PM Alexander Kanavin <alex.kanavin@gmail.com> >> wrote: >> >>> On Sat, 10 Oct 2026 at 13:30, Etienne Cordonnier via >>> lists.openembedded.org >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openembedded.org&d=DwMFaQ&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=Pf9ypvX_MT4dU4cYC3brv9jpglRcRrrz1luHXObxYfW6J0oO8XAW6KnUoiQHzUES&s=QSmPEv1BkubeZVNksJqkHkppRkyy-Bac7QdkZuoYqaA&e=> >>> <ecordonnier=snap.com@lists.openembedded.org> wrote: >>> >>>> >>>> uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature >>>> enough for production use, so move the recipe from meta-oe to oe-core. >>>> It provides and rprovides coreutils, and is excluded from world unless >>>> selected as the coreutils provider. >>>> >>> >>> This needs a bit more justification. What is achieved by moving it to >>> core? What specifically makes this component mature enough? What tests were >>> performed with it? Does it pass the full autobuilder matrix when selected >>> as coreutiuls provider? Should we add that test to the autobuilder? Should >>> we make uutils-coreutils the default choice, or maybe the only choice? Does >>> it work as a provider of coreutils-native, and is it compatible with pseudo? >>> >>> Adding things to core has a pretty high bar, and the above commit >>> message does not meet it. >>> >>> Alex >>> >> [-- Attachment #2: Type: text/html, Size: 9365 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-13 10:02 ` Etienne Cordonnier @ 2026-10-13 10:24 ` Alexander Kanavin 2026-10-13 10:54 ` Alexander Kanavin 1 sibling, 0 replies; 11+ messages in thread From: Alexander Kanavin @ 2026-10-13 10:24 UTC (permalink / raw) To: Etienne Cordonnier Cc: openembedded-core, Paul Barker, Richard Purdie, collin.funk1 [-- Attachment #1: Type: text/plain, Size: 1434 bytes --] On Tue, 13 Oct 2026 at 12:02, Etienne Cordonnier <ecordonnier@snap.com> wrote: > > - investigate and propose a plan for pseudo compatibility. It's not > easy: pseudo relies on substituting libc API, and rust binaries issue > kernel syscalls directly. > > It is doable, since uutils-coreutils already uses the libc crate for many > things, and the rustix crate can be configured at build-time to use the > libc crate instead of using kernel syscalls directly. > On the other hand, PREFERRED_PROVIDER_coreutils is independent of > PREFERRED_PROVIDER_coreutils-native, and very few recipes depend on > coreutils-native, so I suggest decoupling a potential merge of > uutils-coreutils with pseudo support. The target version delivers almost > all the value, and pseudo compatibility can follow separately. Or am I > missing something? > It's not just about coreutils-native, it's about what implementation of coreutils is provided by host distributions. For now, the project has forced GNU coreutils on Ubuntu, but going forward this may not be sustainable: https://git.openembedded.org/openembedded-core/commit/?id=16f2684ebeffa72b5d90525cf9102751b68c298e and we'll either have to convince distros to build with libc crates, or do such a build ourselves via -native recipe. (note also all the fails that were observed when trying to use uutils from the ubuntu host, which means at least a year ago it was nowhere near mature) Alex [-- Attachment #2: Type: text/html, Size: 1979 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH] uutils-coreutils: move from meta-openembedded 2026-10-13 10:02 ` Etienne Cordonnier 2026-10-13 10:24 ` Alexander Kanavin @ 2026-10-13 10:54 ` Alexander Kanavin 1 sibling, 0 replies; 11+ messages in thread From: Alexander Kanavin @ 2026-10-13 10:54 UTC (permalink / raw) To: Etienne Cordonnier Cc: openembedded-core, Paul Barker, Richard Purdie, collin.funk1 [-- Attachment #1: Type: text/plain, Size: 1183 bytes --] On Tue, 13 Oct 2026 at 12:02, Etienne Cordonnier <ecordonnier@snap.com> wrote: > > - last, but not least. Actually this is the most important one: fix your > relationship with GNU coreutils. It's painful to watch you two bicker, and > I do not want the Yocto project to be dragged into this. > > On the last point: I can see Collin feels strongly about this, and I take > the licensing concern seriously. But I haven't been in conflict with him or > with GNU coreutils. If there's a specific exchange you'd like me to look > at, please point me to it. > The risk of AI-assisted contributions that basically rewrite GPLd gnu coreutils C code into rust is very real, and it has happened in other projects, causing their complete derailment. Are you able to spot and reject such contributions? There's also a distinct lack of collaboration. Both projects obviously must implement the exact same UI, and the only way to do it is to have a shared, independent, rigorous test suite. Collin has explicitly said he is not endorsing the use of GNU tests for uutils. I'd also note that quietly skipping my points without saying anything about them only means they remain unresolved. Alex [-- Attachment #2: Type: text/html, Size: 1902 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-10-13 10:54 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-10-10 11:30 [PATCH] uutils-coreutils: move from meta-openembedded ecordonnier 2026-10-10 18:33 ` Collin Funk 2026-10-11 16:23 ` [OE-core] " Yoann Congal 2026-10-12 13:04 ` Alexander Kanavin 2026-10-12 21:13 ` Etienne Cordonnier 2026-10-12 22:58 ` Collin Funk 2026-10-13 7:41 ` Alexander Kanavin 2026-10-13 8:13 ` Yoann Congal 2026-10-13 10:02 ` Etienne Cordonnier 2026-10-13 10:24 ` Alexander Kanavin 2026-10-13 10:54 ` Alexander Kanavin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox