git: ad8a777e7519 - main - multimedia/termusic: New port: Music Player TUI
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 29 Mar 2026 05:15:29 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=ad8a777e7519d03aa58ce7712dc66bf83da777ab
commit ad8a777e7519d03aa58ce7712dc66bf83da777ab
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-03-28 23:33:28 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-03-29 05:15:26 +0000
multimedia/termusic: New port: Music Player TUI
---
multimedia/Makefile | 1 +
multimedia/termusic/Makefile | 692 ++++++++++++++++++++++
multimedia/termusic/distinfo | 1307 +++++++++++++++++++++++++++++++++++++++++
multimedia/termusic/pkg-descr | 11 +
4 files changed, 2011 insertions(+)
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 476a94bd4613..1d685e294151 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -368,6 +368,7 @@
SUBDIR += tautulli
SUBDIR += tenacity
SUBDIR += termplay
+ SUBDIR += termusic
SUBDIR += tinyobjloader
SUBDIR += tivodecode
SUBDIR += totem
diff --git a/multimedia/termusic/Makefile b/multimedia/termusic/Makefile
new file mode 100644
index 000000000000..5bf9c1d952b2
--- /dev/null
+++ b/multimedia/termusic/Makefile
@@ -0,0 +1,692 @@
+PORTNAME= termusic
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.12.1
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Music Player TUI
+WWW= https://github.com/tramhao/termusic
+
+LICENSE= GPLv3 MIT
+LICENSE_COMB= multi
+LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE_GPLv3
+LICENSE_FILE_MIT= ${WRKSRC}/LICENSE_MIT
+
+BUILD_DEPENDS= protoc:devel/protobuf
+LIB_DEPENDS= libasound.so:audio/alsa-lib
+
+USES= cargo pkgconfig ssl
+
+USE_GITHUB= yes
+GH_ACCOUNT= tramhao
+
+CARGO_CRATES= addr2line-0.24.2 \
+ adler2-2.0.0 \
+ ahash-0.8.12 \
+ aho-corasick-1.1.3 \
+ aligned-vec-0.5.0 \
+ allocator-api2-0.2.18 \
+ alphanumeric-sort-1.5.3 \
+ alsa-0.9.1 \
+ alsa-sys-0.3.1 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anes-0.1.6 \
+ ansi_colours-1.2.3 \
+ anstream-0.6.15 \
+ anstyle-1.0.8 \
+ anstyle-parse-0.2.5 \
+ anstyle-query-1.1.1 \
+ anstyle-wincon-3.0.4 \
+ anyhow-1.0.99 \
+ arbitrary-1.3.2 \
+ arg_enum_proc_macro-0.3.4 \
+ arrayvec-0.7.6 \
+ async-broadcast-0.5.1 \
+ async-channel-2.3.1 \
+ async-compression-0.4.12 \
+ async-executor-1.13.0 \
+ async-fs-1.6.0 \
+ async-io-1.13.0 \
+ async-io-2.3.4 \
+ async-lock-2.8.0 \
+ async-lock-3.4.0 \
+ async-process-1.8.1 \
+ async-recursion-1.1.1 \
+ async-ringbuf-0.3.4 \
+ async-signal-0.2.10 \
+ async-task-4.7.1 \
+ async-trait-0.1.89 \
+ atomic-0.6.0 \
+ atomic-waker-1.1.2 \
+ autocfg-1.3.0 \
+ av1-grain-0.2.3 \
+ avif-serialize-0.8.2 \
+ axum-0.8.1 \
+ axum-core-0.5.0 \
+ backtrace-0.3.74 \
+ base64-0.22.1 \
+ bindgen-0.71.1 \
+ bit_field-0.10.2 \
+ bitflags-1.3.2 \
+ bitflags-2.9.1 \
+ bitstream-io-2.5.3 \
+ block-0.1.6 \
+ block-buffer-0.10.4 \
+ blocking-1.6.1 \
+ bstr-1.10.0 \
+ built-0.7.5 \
+ bumpalo-3.16.0 \
+ bytemuck-1.17.0 \
+ byteorder-1.5.0 \
+ byteorder-lite-0.1.0 \
+ bytes-1.10.1 \
+ bytesize-2.0.1 \
+ camino-1.1.9 \
+ cassowary-0.3.0 \
+ cast-0.3.0 \
+ castaway-0.2.3 \
+ cc-1.2.17 \
+ cesu8-1.1.0 \
+ cexpr-0.6.0 \
+ cfg-expr-0.15.8 \
+ cfg-expr-0.16.0 \
+ cfg-if-1.0.0 \
+ cfg_aliases-0.2.1 \
+ chrono-0.4.41 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ clang-sys-1.8.1 \
+ clap-4.5.46 \
+ clap_builder-4.5.46 \
+ clap_derive-4.5.45 \
+ clap_lex-0.7.4 \
+ cocoa-0.24.1 \
+ cocoa-foundation-0.1.2 \
+ color_quant-1.1.0 \
+ colorchoice-1.0.2 \
+ colored-3.0.0 \
+ combine-4.6.7 \
+ compact_str-0.8.0 \
+ concurrent-queue-2.5.0 \
+ console-0.15.8 \
+ convert_case-0.7.1 \
+ cookie-0.18.1 \
+ cookie_store-0.21.1 \
+ core-foundation-0.9.4 \
+ core-foundation-sys-0.8.7 \
+ core-graphics-0.22.3 \
+ core-graphics-types-0.1.3 \
+ coreaudio-rs-0.13.0 \
+ cpal-0.16.0 \
+ cpufeatures-0.2.13 \
+ crc32fast-1.4.2 \
+ criterion-0.7.0 \
+ criterion-plot-0.6.0 \
+ crossbeam-deque-0.8.5 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.20 \
+ crossterm-0.28.1 \
+ crossterm-0.29.0 \
+ crossterm_winapi-0.9.1 \
+ crunchy-0.2.2 \
+ crypto-common-0.1.6 \
+ ctrlc-3.4.7 \
+ dasp_sample-0.11.0 \
+ data-encoding-2.6.0 \
+ deranged-0.3.11 \
+ derivative-2.2.0 \
+ derive_more-2.0.1 \
+ derive_more-impl-2.0.1 \
+ diff-0.1.13 \
+ digest-0.10.7 \
+ dirs-6.0.0 \
+ dirs-sys-0.5.0 \
+ discord-rich-presence-0.2.5 \
+ dispatch-0.2.0 \
+ dispatch2-0.3.0 \
+ displaydoc-0.2.5 \
+ document-features-0.2.11 \
+ educe-0.6.0 \
+ either-1.15.0 \
+ encode_unicode-0.3.6 \
+ encoding_rs-0.8.34 \
+ entities-1.0.1 \
+ enum-ordinalize-4.3.0 \
+ enum-ordinalize-derive-4.3.1 \
+ enumflags2-0.7.10 \
+ enumflags2_derive-0.7.10 \
+ equivalent-1.0.1 \
+ errno-0.3.12 \
+ escaper-0.1.1 \
+ event-listener-2.5.3 \
+ event-listener-3.1.0 \
+ event-listener-5.3.1 \
+ event-listener-strategy-0.5.2 \
+ exr-1.73.0 \
+ extended-0.1.0 \
+ fallible-iterator-0.3.0 \
+ fallible-streaming-iterator-0.1.9 \
+ fastrand-1.9.0 \
+ fastrand-2.1.1 \
+ fdeflate-0.3.4 \
+ figment-0.10.19 \
+ fixedbitset-0.5.7 \
+ flate2-1.0.32 \
+ flexi_logger-0.31.5 \
+ fnv-1.0.7 \
+ foldhash-0.1.3 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.1 \
+ futures-channel-0.3.31 \
+ futures-core-0.3.31 \
+ futures-executor-0.3.31 \
+ futures-io-0.3.31 \
+ futures-lite-1.13.0 \
+ futures-lite-2.3.0 \
+ futures-macro-0.3.31 \
+ futures-sink-0.3.31 \
+ futures-task-0.3.31 \
+ futures-util-0.3.31 \
+ generic-array-0.14.7 \
+ getrandom-0.2.15 \
+ getrandom-0.3.2 \
+ gif-0.13.1 \
+ gimli-0.31.1 \
+ gio-sys-0.21.1 \
+ glib-0.21.1 \
+ glib-macros-0.21.0 \
+ glib-sys-0.21.1 \
+ glob-0.3.1 \
+ gobject-sys-0.21.1 \
+ gstreamer-0.24.1 \
+ gstreamer-sys-0.24.0 \
+ h2-0.4.6 \
+ half-2.4.1 \
+ hard-xml-1.36.0 \
+ hard-xml-derive-1.36.0 \
+ hashbrown-0.15.0 \
+ hashlink-0.10.0 \
+ heck-0.5.0 \
+ hermit-abi-0.3.9 \
+ hermit-abi-0.4.0 \
+ hex-0.4.3 \
+ http-1.1.0 \
+ http-body-1.0.1 \
+ http-body-util-0.1.2 \
+ httparse-1.9.4 \
+ httpdate-1.0.3 \
+ hyper-1.7.0 \
+ hyper-rustls-0.27.2 \
+ hyper-timeout-0.5.1 \
+ hyper-tls-0.6.0 \
+ hyper-util-0.1.16 \
+ iana-time-zone-0.1.60 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-1.5.0 \
+ icu_locid-1.5.0 \
+ icu_locid_transform-1.5.0 \
+ icu_locid_transform_data-1.5.1 \
+ icu_normalizer-1.5.0 \
+ icu_normalizer_data-1.5.1 \
+ icu_properties-1.5.1 \
+ icu_properties_data-1.5.1 \
+ icu_provider-1.5.0 \
+ icu_provider_macros-1.5.0 \
+ id3-1.16.3 \
+ idna-1.0.3 \
+ idna_adapter-1.2.0 \
+ image-0.25.6 \
+ image-webp-0.2.0 \
+ imgref-1.11.0 \
+ include_dir-0.7.4 \
+ include_dir_macros-0.7.4 \
+ indexmap-2.11.0 \
+ indoc-2.0.6 \
+ instability-0.3.2 \
+ instant-0.1.13 \
+ interpolate_name-0.2.4 \
+ io-lifetimes-1.0.11 \
+ io-uring-0.7.10 \
+ ipnet-2.9.0 \
+ iri-string-0.7.8 \
+ is_terminal_polyfill-1.70.1 \
+ itertools-0.12.1 \
+ itertools-0.13.0 \
+ itertools-0.14.0 \
+ itoa-1.0.11 \
+ jetscii-0.5.3 \
+ jni-0.21.1 \
+ jni-sys-0.3.0 \
+ jobserver-0.1.32 \
+ jpeg-decoder-0.3.1 \
+ js-sys-0.3.77 \
+ kstring-2.0.2 \
+ lazy-regex-3.3.0 \
+ lazy-regex-proc_macros-3.3.0 \
+ lazy_static-1.5.0 \
+ lebe-0.5.2 \
+ libaes-0.7.0 \
+ libc-0.2.175 \
+ libfuzzer-sys-0.4.7 \
+ libloading-0.8.5 \
+ libmpv-sirno-2.0.2-fork.1 \
+ libmpv-sys-sirno-2.0.0-fork.1 \
+ libredox-0.1.3 \
+ libsqlite3-sys-0.35.0 \
+ linux-raw-sys-0.3.8 \
+ linux-raw-sys-0.4.14 \
+ linux-raw-sys-0.9.4 \
+ litemap-0.7.5 \
+ litrs-0.4.1 \
+ lock_api-0.4.13 \
+ lofty-0.22.4 \
+ lofty_attr-0.11.1 \
+ log-0.4.27 \
+ loop9-0.1.5 \
+ lru-0.12.5 \
+ mach2-0.4.3 \
+ make-cmd-0.1.0 \
+ malloc_buf-0.0.6 \
+ matchit-0.8.4 \
+ maybe-rayon-0.1.1 \
+ md5-0.8.0 \
+ mediatype-0.20.0 \
+ memchr-2.7.5 \
+ memoffset-0.7.1 \
+ memoffset-0.9.1 \
+ mime-0.3.17 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.8.0 \
+ mio-1.0.2 \
+ muldiv-1.0.1 \
+ multimap-0.10.1 \
+ native-tls-0.2.12 \
+ ndk-0.9.0 \
+ ndk-context-0.1.1 \
+ ndk-sys-0.6.0+11769913 \
+ new_debug_unreachable-1.0.6 \
+ nix-0.26.4 \
+ nix-0.30.1 \
+ nom-7.1.3 \
+ noop_proc_macro-0.3.0 \
+ ntapi-0.4.1 \
+ nu-ansi-term-0.50.1 \
+ num-bigint-0.4.6 \
+ num-complex-0.4.6 \
+ num-conv-0.1.0 \
+ num-derive-0.4.2 \
+ num-integer-0.1.46 \
+ num-rational-0.4.2 \
+ num-traits-0.2.19 \
+ num_enum-0.7.4 \
+ num_enum_derive-0.7.4 \
+ objc-0.2.7 \
+ objc2-0.6.1 \
+ objc2-audio-toolbox-0.3.1 \
+ objc2-core-audio-0.3.1 \
+ objc2-core-audio-types-0.3.1 \
+ objc2-core-foundation-0.3.1 \
+ objc2-encode-4.1.0 \
+ objc2-foundation-0.3.1 \
+ objc2-io-kit-0.3.1 \
+ object-0.36.3 \
+ ogg_pager-0.7.0 \
+ once_cell-1.19.0 \
+ oorandom-11.1.5 \
+ openssl-0.10.66 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.5 \
+ openssl-sys-0.9.103 \
+ opml-1.1.6 \
+ option-ext-0.2.0 \
+ option-operations-0.5.0 \
+ opusic-sys-0.5.8 \
+ orange-trees-0.1.3 \
+ ordered-stream-0.2.0 \
+ os_str_bytes-6.6.1 \
+ parking-2.2.0 \
+ parking_lot-0.12.4 \
+ parking_lot_core-0.9.11 \
+ paste-1.0.15 \
+ pathdiff-0.2.3 \
+ percent-encoding-2.3.2 \
+ petgraph-0.7.1 \
+ pin-project-1.1.5 \
+ pin-project-internal-1.1.5 \
+ pin-project-lite-0.2.14 \
+ pin-utils-0.1.0 \
+ pinyin-0.10.0 \
+ piper-0.2.4 \
+ pkg-config-0.3.30 \
+ plotters-0.3.7 \
+ plotters-backend-0.3.7 \
+ plotters-svg-0.3.7 \
+ png-0.17.16 \
+ polling-2.8.0 \
+ polling-3.7.3 \
+ pollster-0.3.0 \
+ portable-atomic-1.11.0 \
+ portable-atomic-util-0.2.4 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.21 \
+ pretty_assertions-1.4.1 \
+ prettyplease-0.2.20 \
+ primal-check-0.3.4 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-crate-3.3.0 \
+ proc-macro2-1.0.92 \
+ profiling-1.0.16 \
+ profiling-procmacros-1.0.16 \
+ prost-0.14.1 \
+ prost-build-0.14.1 \
+ prost-derive-0.14.1 \
+ prost-types-0.14.1 \
+ psl-types-2.0.11 \
+ publicsuffix-2.3.0 \
+ pulldown-cmark-0.13.0 \
+ pulldown-cmark-to-cmark-21.0.0 \
+ qoi-0.4.1 \
+ quick-error-2.0.1 \
+ quick-xml-0.37.5 \
+ quick-xml-0.38.3 \
+ quinn-0.11.3 \
+ quinn-proto-0.11.6 \
+ quinn-udp-0.5.4 \
+ quote-1.0.37 \
+ r-efi-5.2.0 \
+ rand-0.8.5 \
+ rand-0.9.2 \
+ rand_chacha-0.3.1 \
+ rand_chacha-0.9.0 \
+ rand_core-0.6.4 \
+ rand_core-0.9.3 \
+ rangemap-1.5.1 \
+ ratatui-0.29.0 \
+ rav1e-0.7.1 \
+ ravif-0.11.11 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ redox_syscall-0.5.3 \
+ redox_users-0.5.0 \
+ regex-1.11.2 \
+ regex-automata-0.4.8 \
+ regex-syntax-0.8.5 \
+ reqwest-0.12.23 \
+ rfc822_sanitizer-0.3.6 \
+ rgb-0.8.50 \
+ ring-0.17.14 \
+ ringbuf-0.4.8 \
+ rodio-0.21.1 \
+ rss-2.0.12 \
+ rusqlite-0.37.0 \
+ rustc-demangle-0.1.24 \
+ rustc-hash-2.1.1 \
+ rustfft-6.2.0 \
+ rustix-0.37.27 \
+ rustix-0.38.34 \
+ rustix-1.0.7 \
+ rustls-0.23.12 \
+ rustls-pki-types-1.12.0 \
+ rustls-webpki-0.102.6 \
+ rustversion-1.0.17 \
+ ryu-1.0.18 \
+ same-file-1.0.6 \
+ sanitize-filename-0.6.0 \
+ schannel-0.1.23 \
+ scopeguard-1.2.0 \
+ security-framework-2.11.1 \
+ security-framework-sys-2.11.1 \
+ semver-1.0.26 \
+ serde-1.0.221 \
+ serde_core-1.0.221 \
+ serde_derive-1.0.221 \
+ serde_json-1.0.143 \
+ serde_repr-0.1.19 \
+ serde_spanned-0.6.8 \
+ serde_spanned-1.0.0 \
+ serde_urlencoded-0.7.1 \
+ serde_yaml-0.9.34+deprecated \
+ sha1-0.10.6 \
+ shell-words-1.1.0 \
+ shellexpand-3.1.1 \
+ shlex-1.3.0 \
+ signal-hook-0.3.17 \
+ signal-hook-mio-0.2.4 \
+ signal-hook-registry-1.4.2 \
+ simd-adler32-0.3.7 \
+ simd_helpers-0.1.0 \
+ sixel-rs-0.3.3 \
+ sixel-sys-0.3.1 \
+ slab-0.4.9 \
+ smallvec-1.15.1 \
+ smawk-0.3.2 \
+ socket2-0.4.10 \
+ socket2-0.5.7 \
+ socket2-0.6.0 \
+ soundtouch-0.5.1 \
+ soundtouch-ffi-0.3.0 \
+ souvlaki-0.8.3 \
+ stable_deref_trait-1.2.0 \
+ static_assertions-1.1.0 \
+ stream-download-0.22.4 \
+ strength_reduce-0.2.4 \
+ strsim-0.11.1 \
+ strum-0.26.3 \
+ strum_macros-0.26.4 \
+ subtle-2.6.1 \
+ symphonia-0.5.5 \
+ symphonia-adapter-libopus-0.2.0 \
+ symphonia-bundle-flac-0.5.5 \
+ symphonia-bundle-mp3-0.5.5 \
+ symphonia-codec-aac-0.5.5 \
+ symphonia-codec-adpcm-0.5.5 \
+ symphonia-codec-alac-0.5.5 \
+ symphonia-codec-pcm-0.5.5 \
+ symphonia-codec-vorbis-0.5.5 \
+ symphonia-core-0.5.5 \
+ symphonia-format-isomp4-0.5.5 \
+ symphonia-format-mkv-0.5.5 \
+ symphonia-format-ogg-0.5.5 \
+ symphonia-format-riff-0.5.5 \
+ symphonia-metadata-0.5.5 \
+ symphonia-utils-xiph-0.5.5 \
+ syn-1.0.109 \
+ syn-2.0.106 \
+ sync_wrapper-1.0.2 \
+ synstructure-0.13.1 \
+ sysinfo-0.36.1 \
+ system-configuration-0.6.1 \
+ system-configuration-sys-0.6.0 \
+ system-deps-6.2.2 \
+ system-deps-7.0.2 \
+ target-lexicon-0.12.16 \
+ tempfile-3.12.0 \
+ termcolor-1.4.1 \
+ textwrap-0.16.2 \
+ thiserror-1.0.63 \
+ thiserror-2.0.16 \
+ thiserror-impl-1.0.63 \
+ thiserror-impl-2.0.16 \
+ tiff-0.9.1 \
+ time-0.3.36 \
+ time-core-0.1.2 \
+ time-macros-0.2.18 \
+ tinystr-0.7.6 \
+ tinytemplate-1.2.1 \
+ tinyvec-1.8.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.47.1 \
+ tokio-macros-2.5.0 \
+ tokio-native-tls-0.3.1 \
+ tokio-rustls-0.26.0 \
+ tokio-stream-0.1.17 \
+ tokio-util-0.7.16 \
+ toml-0.8.22 \
+ toml-0.9.5 \
+ toml_datetime-0.6.9 \
+ toml_datetime-0.7.0 \
+ toml_edit-0.19.15 \
+ toml_edit-0.22.26 \
+ toml_parser-1.0.2 \
+ toml_write-0.1.1 \
+ toml_writer-1.0.2 \
+ tonic-0.14.1 \
+ tonic-build-0.14.1 \
+ tonic-prost-0.14.1 \
+ tonic-prost-build-0.14.1 \
+ tower-0.5.2 \
+ tower-http-0.6.6 \
+ tower-layer-0.3.3 \
+ tower-service-0.3.3 \
+ tracing-0.1.40 \
+ tracing-attributes-0.1.27 \
+ tracing-core-0.1.32 \
+ transpose-0.2.3 \
+ try-lock-0.2.5 \
+ tui-realm-stdlib-3.0.0 \
+ tui-realm-treeview-3.0.0 \
+ tuirealm-3.2.0 \
+ tuirealm_derive-2.0.0 \
+ typenum-1.17.0 \
+ uds_windows-1.1.0 \
+ uncased-0.9.10 \
+ unicase-2.8.1 \
+ unicode-ident-1.0.12 \
+ unicode-linebreak-0.1.5 \
+ unicode-segmentation-1.12.0 \
+ unicode-truncate-1.1.0 \
+ unicode-width-0.1.13 \
+ unicode-width-0.2.0 \
+ unsafe-libyaml-0.2.11 \
+ untrusted-0.9.0 \
+ url-2.5.4 \
+ urlencoding-2.1.3 \
+ utf16_iter-1.0.5 \
+ utf8_iter-1.0.4 \
+ utf8parse-0.2.2 \
+ uuid-0.8.2 \
+ v_frame-0.3.8 \
+ vcpkg-0.2.15 \
+ version-compare-0.2.0 \
+ version_check-0.9.5 \
+ viuer-0.9.2 \
+ waker-fn-1.2.0 \
+ walkdir-2.5.0 \
+ want-0.3.1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasi-0.14.2+wasi-0.2.4 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-futures-0.4.43 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ wasm-streams-0.4.0 \
+ web-sys-0.3.70 \
+ webpki-roots-0.26.3 \
+ webpki-roots-1.0.2 \
+ weezl-0.1.8 \
+ wildmatch-2.4.0 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.9 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.44.0 \
+ windows-0.54.0 \
+ windows-0.58.0 \
+ windows-0.61.1 \
+ windows-collections-0.2.0 \
+ windows-core-0.52.0 \
+ windows-core-0.54.0 \
+ windows-core-0.58.0 \
+ windows-core-0.61.0 \
+ windows-future-0.2.0 \
+ windows-implement-0.58.0 \
+ windows-implement-0.60.0 \
+ windows-interface-0.58.0 \
+ windows-interface-0.59.1 \
+ windows-link-0.1.1 \
+ windows-numerics-0.2.0 \
+ windows-registry-0.5.1 \
+ windows-result-0.1.2 \
+ windows-result-0.2.0 \
+ windows-result-0.3.2 \
+ windows-strings-0.1.0 \
+ windows-strings-0.4.0 \
+ windows-sys-0.45.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-targets-0.42.2 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.6 \
+ windows_aarch64_gnullvm-0.42.2 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.42.2 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.42.2 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.42.2 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.42.2 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.42.2 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.42.2 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.6 \
+ winnow-0.5.40 \
+ winnow-0.7.10 \
+ wit-bindgen-rt-0.39.0 \
+ write16-1.0.0 \
+ writeable-0.5.5 \
+ xdg-home-1.3.0 \
+ xmlparser-0.13.6 \
+ yansi-1.0.1 \
+ yoke-0.7.5 \
+ yoke-derive-0.7.5 \
+ ytd-rs-0.1.7 \
+ zbus-3.15.2 \
+ zbus_macros-3.15.2 \
+ zbus_names-2.6.1 \
+ zerocopy-0.8.24 \
+ zerocopy-derive-0.8.24 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
+ zeroize-1.8.1 \
+ zerovec-0.10.4 \
+ zerovec-derive-0.10.3 \
+ zune-core-0.4.12 \
+ zune-inflate-0.2.54 \
+ zune-jpeg-0.4.13 \
+ zvariant-3.15.2 \
+ zvariant_derive-3.15.2 \
+ zvariant_utils-1.0.1
+
+OPENSSLINC= /usr/include
+OPENSSLLIB= /usr/lib
+
+PROGS= termusic \
+ termusic-server
+
+PLIST_FILES= ${PROGS:S/^/bin\//}
+
+do-install:
+ # workaround for error: found a virtual manifest at `xx` instead of a package manifest
+.for p in ${PROGS}
+ ${INSTALL_PROGRAM} \
+ ${WRKDIR}/target/release/${p} \
+ ${STAGEDIR}${PREFIX}/bin
+.endfor
+
+.include <bsd.port.mk>
diff --git a/multimedia/termusic/distinfo b/multimedia/termusic/distinfo
new file mode 100644
index 000000000000..85c0d0219105
--- /dev/null
+++ b/multimedia/termusic/distinfo
@@ -0,0 +1,1307 @@
+TIMESTAMP = 1774585536
+SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
+SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
+SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
+SIZE (rust/crates/adler2-2.0.0.crate) = 13529
+SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
+SIZE (rust/crates/ahash-0.8.12.crate) = 43413
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/aligned-vec-0.5.0.crate) = 4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1
+SIZE (rust/crates/aligned-vec-0.5.0.crate) = 8921
+SHA256 (rust/crates/allocator-api2-0.2.18.crate) = 5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f
+SIZE (rust/crates/allocator-api2-0.2.18.crate) = 62504
+SHA256 (rust/crates/alphanumeric-sort-1.5.3.crate) = d67c60c5f10f11c6ee04de72b2dd98bb9d2548cbc314d22a609bfa8bd9e87e8f
+SIZE (rust/crates/alphanumeric-sort-1.5.3.crate) = 6318
+SHA256 (rust/crates/alsa-0.9.1.crate) = ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43
+SIZE (rust/crates/alsa-0.9.1.crate) = 72824
+SHA256 (rust/crates/alsa-sys-0.3.1.crate) = db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527
+SIZE (rust/crates/alsa-sys-0.3.1.crate) = 32748
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/ansi_colours-1.2.3.crate) = 14eec43e0298190790f41679fe69ef7a829d2a2ddd78c8c00339e84710e435fe
+SIZE (rust/crates/ansi_colours-1.2.3.crate) = 21802
+SHA256 (rust/crates/anstream-0.6.15.crate) = 64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526
+SIZE (rust/crates/anstream-0.6.15.crate) = 29231
+SHA256 (rust/crates/anstyle-1.0.8.crate) = 1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1
+SIZE (rust/crates/anstyle-1.0.8.crate) = 15771
+SHA256 (rust/crates/anstyle-parse-0.2.5.crate) = eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb
+SIZE (rust/crates/anstyle-parse-0.2.5.crate) = 22680
+SHA256 (rust/crates/anstyle-query-1.1.1.crate) = 6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a
+SIZE (rust/crates/anstyle-query-1.1.1.crate) = 9891
+SHA256 (rust/crates/anstyle-wincon-3.0.4.crate) = 5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8
+SIZE (rust/crates/anstyle-wincon-3.0.4.crate) = 12234
+SHA256 (rust/crates/anyhow-1.0.99.crate) = b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100
+SIZE (rust/crates/anyhow-1.0.99.crate) = 53809
+SHA256 (rust/crates/arbitrary-1.3.2.crate) = 7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110
+SIZE (rust/crates/arbitrary-1.3.2.crate) = 32037
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/async-broadcast-0.5.1.crate) = 7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b
+SIZE (rust/crates/async-broadcast-0.5.1.crate) = 20134
+SHA256 (rust/crates/async-channel-2.3.1.crate) = 89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a
+SIZE (rust/crates/async-channel-2.3.1.crate) = 14576
+SHA256 (rust/crates/async-compression-0.4.12.crate) = fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa
+SIZE (rust/crates/async-compression-0.4.12.crate) = 109647
+SHA256 (rust/crates/async-executor-1.13.0.crate) = d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7
+SIZE (rust/crates/async-executor-1.13.0.crate) = 27974
+SHA256 (rust/crates/async-fs-1.6.0.crate) = 279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06
+SIZE (rust/crates/async-fs-1.6.0.crate) = 16506
+SHA256 (rust/crates/async-io-1.13.0.crate) = 0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af
+SIZE (rust/crates/async-io-1.13.0.crate) = 37191
+SHA256 (rust/crates/async-io-2.3.4.crate) = 444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8
+SIZE (rust/crates/async-io-2.3.4.crate) = 49145
+SHA256 (rust/crates/async-lock-2.8.0.crate) = 287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b
+SIZE (rust/crates/async-lock-2.8.0.crate) = 29944
+SHA256 (rust/crates/async-lock-3.4.0.crate) = ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18
+SIZE (rust/crates/async-lock-3.4.0.crate) = 34446
+SHA256 (rust/crates/async-process-1.8.1.crate) = ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88
+SIZE (rust/crates/async-process-1.8.1.crate) = 22758
+SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
+SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-ringbuf-0.3.4.crate) = 5e2495ca646b600f2fb09278bdf28dd2227ad45cab155cd7a25d4fd2b7002952
+SIZE (rust/crates/async-ringbuf-0.3.4.crate) = 16519
+SHA256 (rust/crates/async-signal-0.2.10.crate) = 637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3
+SIZE (rust/crates/async-signal-0.2.10.crate) = 16970
+SHA256 (rust/crates/async-task-4.7.1.crate) = 8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de
+SIZE (rust/crates/async-task-4.7.1.crate) = 38077
+SHA256 (rust/crates/async-trait-0.1.89.crate) = 9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb
+SIZE (rust/crates/async-trait-0.1.89.crate) = 32171
+SHA256 (rust/crates/atomic-0.6.0.crate) = 8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994
+SIZE (rust/crates/atomic-0.6.0.crate) = 12919
+SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
+SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
+SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0
+SIZE (rust/crates/autocfg-1.3.0.crate) = 16524
+SHA256 (rust/crates/av1-grain-0.2.3.crate) = 6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf
+SIZE (rust/crates/av1-grain-0.2.3.crate) = 34703
+SHA256 (rust/crates/avif-serialize-0.8.2.crate) = e335041290c43101ca215eed6f43ec437eb5a42125573f600fc3fa42b9bddd62
+SIZE (rust/crates/avif-serialize-0.8.2.crate) = 11985
+SHA256 (rust/crates/axum-0.8.1.crate) = 6d6fd624c75e18b3b4c6b9caf42b1afe24437daaee904069137d8bab077be8b8
+SIZE (rust/crates/axum-0.8.1.crate) = 172586
+SHA256 (rust/crates/axum-core-0.5.0.crate) = df1362f362fd16024ae199c1970ce98f9661bf5ef94b9808fee734bc3698b733
+SIZE (rust/crates/axum-core-0.5.0.crate) = 26187
+SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
+SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/bindgen-0.71.1.crate) = 5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3
+SIZE (rust/crates/bindgen-0.71.1.crate) = 237785
+SHA256 (rust/crates/bit_field-0.10.2.crate) = dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61
+SIZE (rust/crates/bit_field-0.10.2.crate) = 10568
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
+SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
+SHA256 (rust/crates/bitstream-io-2.5.3.crate) = b81e1519b0d82120d2fd469d5bfb2919a9361c48b02d82d04befc1cdd2002452
+SIZE (rust/crates/bitstream-io-2.5.3.crate) = 38245
+SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
+SIZE (rust/crates/block-0.1.6.crate) = 4077
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/blocking-1.6.1.crate) = 703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea
+SIZE (rust/crates/blocking-1.6.1.crate) = 17788
+SHA256 (rust/crates/bstr-1.10.0.crate) = 40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c
+SIZE (rust/crates/bstr-1.10.0.crate) = 380426
+SHA256 (rust/crates/built-0.7.5.crate) = c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b
+SIZE (rust/crates/built-0.7.5.crate) = 22319
+SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c
+SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677
+SHA256 (rust/crates/bytemuck-1.17.0.crate) = 6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31
+SIZE (rust/crates/bytemuck-1.17.0.crate) = 49872
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a
+SIZE (rust/crates/bytes-1.10.1.crate) = 76779
+SHA256 (rust/crates/bytesize-2.0.1.crate) = a3c8f83209414aacf0eeae3cf730b18d6981697fba62f200fcfb92b9f082acba
+SIZE (rust/crates/bytesize-2.0.1.crate) = 18922
+SHA256 (rust/crates/camino-1.1.9.crate) = 8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3
+SIZE (rust/crates/camino-1.1.9.crate) = 37552
+SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53
+SIZE (rust/crates/cassowary-0.3.0.crate) = 22876
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/castaway-0.2.3.crate) = 0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5
+SIZE (rust/crates/castaway-0.2.3.crate) = 11509
+SHA256 (rust/crates/cc-1.2.17.crate) = 1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a
+SIZE (rust/crates/cc-1.2.17.crate) = 105794
+SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
+SIZE (rust/crates/cesu8-1.1.0.crate) = 10555
+SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
+SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
+SHA256 (rust/crates/cfg-expr-0.15.8.crate) = d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02
+SIZE (rust/crates/cfg-expr-0.15.8.crate) = 42108
+SHA256 (rust/crates/cfg-expr-0.16.0.crate) = 345c78335be0624ed29012dc10c49102196c6882c12dde65d9f35b02da2aada8
+SIZE (rust/crates/cfg-expr-0.16.0.crate) = 42802
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
+SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
+SIZE (rust/crates/chrono-0.4.41.crate) = 234621
+SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
+SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
+SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
+SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
+SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
+SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
+SHA256 (rust/crates/clang-sys-1.8.1.crate) = 0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4
+SIZE (rust/crates/clang-sys-1.8.1.crate) = 44009
+SHA256 (rust/crates/clap-4.5.46.crate) = 2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57
+SIZE (rust/crates/clap-4.5.46.crate) = 58332
+SHA256 (rust/crates/clap_builder-4.5.46.crate) = fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41
+SIZE (rust/crates/clap_builder-4.5.46.crate) = 169831
+SHA256 (rust/crates/clap_derive-4.5.45.crate) = 14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6
+SIZE (rust/crates/clap_derive-4.5.45.crate) = 33545
+SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
+SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/cocoa-0.24.1.crate) = f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a
+SIZE (rust/crates/cocoa-0.24.1.crate) = 40445
+SHA256 (rust/crates/cocoa-foundation-0.1.2.crate) = 8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7
+SIZE (rust/crates/cocoa-foundation-0.1.2.crate) = 15028
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/colorchoice-1.0.2.crate) = d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0
+SIZE (rust/crates/colorchoice-1.0.2.crate) = 7924
+SHA256 (rust/crates/colored-3.0.0.crate) = fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e
+SIZE (rust/crates/colored-3.0.0.crate) = 34497
+SHA256 (rust/crates/combine-4.6.7.crate) = ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd
+SIZE (rust/crates/combine-4.6.7.crate) = 134808
+SHA256 (rust/crates/compact_str-0.8.0.crate) = 6050c3a16ddab2e412160b31f2c871015704239bca62f72f6e5f0be631d3f644
+SIZE (rust/crates/compact_str-0.8.0.crate) = 70994
+SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973
+SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654
+SHA256 (rust/crates/console-0.15.8.crate) = 0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb
+SIZE (rust/crates/console-0.15.8.crate) = 36364
+SHA256 (rust/crates/convert_case-0.7.1.crate) = bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7
+SIZE (rust/crates/convert_case-0.7.1.crate) = 23816
+SHA256 (rust/crates/cookie-0.18.1.crate) = 4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747
+SIZE (rust/crates/cookie-0.18.1.crate) = 43551
+SHA256 (rust/crates/cookie_store-0.21.1.crate) = 2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9
+SIZE (rust/crates/cookie_store-0.21.1.crate) = 34692
+SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
+SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/core-graphics-0.22.3.crate) = 2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb
+SIZE (rust/crates/core-graphics-0.22.3.crate) = 29514
+SHA256 (rust/crates/core-graphics-types-0.1.3.crate) = 45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf
+SIZE (rust/crates/core-graphics-types-0.1.3.crate) = 7063
+SHA256 (rust/crates/coreaudio-rs-0.13.0.crate) = 1aae284fbaf7d27aa0e292f7677dfbe26503b0d555026f702940805a630eac17
+SIZE (rust/crates/coreaudio-rs-0.13.0.crate) = 42013
+SHA256 (rust/crates/cpal-0.16.0.crate) = cbd307f43cc2a697e2d1f8bc7a1d824b5269e052209e28883e5bc04d095aaa3f
+SIZE (rust/crates/cpal-0.16.0.crate) = 104465
+SHA256 (rust/crates/cpufeatures-0.2.13.crate) = 51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad
+SIZE (rust/crates/cpufeatures-0.2.13.crate) = 12999
+SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
+SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/criterion-0.7.0.crate) = e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928
+SIZE (rust/crates/criterion-0.7.0.crate) = 119908
+SHA256 (rust/crates/criterion-plot-0.6.0.crate) = 9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338
+SIZE (rust/crates/criterion-plot-0.6.0.crate) = 24495
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80
+SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487
+SHA256 (rust/crates/crossterm-0.28.1.crate) = 829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6
+SIZE (rust/crates/crossterm-0.28.1.crate) = 132275
+SHA256 (rust/crates/crossterm-0.29.0.crate) = d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b
+SIZE (rust/crates/crossterm-0.29.0.crate) = 136635
+SHA256 (rust/crates/crossterm_winapi-0.9.1.crate) = acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b
+SIZE (rust/crates/crossterm_winapi-0.9.1.crate) = 16027
+SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7
+SIZE (rust/crates/crunchy-0.2.2.crate) = 2995
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/ctrlc-3.4.7.crate) = 46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73
+SIZE (rust/crates/ctrlc-3.4.7.crate) = 14606
+SHA256 (rust/crates/dasp_sample-0.11.0.crate) = 0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f
+SIZE (rust/crates/dasp_sample-0.11.0.crate) = 11617
+SHA256 (rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2
+SIZE (rust/crates/data-encoding-2.6.0.crate) = 20769
+SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
+SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
+SIZE (rust/crates/derivative-2.2.0.crate) = 48076
+SHA256 (rust/crates/derive_more-2.0.1.crate) = 093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678
+SIZE (rust/crates/derive_more-2.0.1.crate) = 70127
+SHA256 (rust/crates/derive_more-impl-2.0.1.crate) = bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3
+SIZE (rust/crates/derive_more-impl-2.0.1.crate) = 78233
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
+SIZE (rust/crates/dirs-6.0.0.crate) = 14190
+SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab
+SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
+SHA256 (rust/crates/discord-rich-presence-0.2.5.crate) = a75db747ecd252c01bfecaf709b07fcb4c634adf0edb5fed47bc9c3052e7076b
+SIZE (rust/crates/discord-rich-presence-0.2.5.crate) = 8863
+SHA256 (rust/crates/dispatch-0.2.0.crate) = bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b
+SIZE (rust/crates/dispatch-0.2.0.crate) = 10229
+SHA256 (rust/crates/dispatch2-0.3.0.crate) = 89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec
+SIZE (rust/crates/dispatch2-0.3.0.crate) = 54606
*** 1071 LINES SKIPPED ***