torttube/sidecar/crates/torttube-sidecar/Cargo.toml
Kayos f4ceae3b70 M6 — cross-compile aarch64-musl + addon.zip + install docs
scripts/build-addon-zip.sh runs the whole pipeline from a host with ssh
lucy:
- one-shot messense/rust-musl-cross:aarch64-musl container builds the
  sidecar static (6.2MB stripped). Doesn't mutate crafting-table.
- fetches yt-dlp_linux_aarch64 from the upstream release page so Tier 2
  + Tier 3 work on the Pi (LibreELEC ships no Python YouTube tools)
- packages everything into plugin.video.torttube.zip with the Kodi
  install-from-zip layout
- drops the zip at /mnt/user/downloads/torttube/ on Lucy SMB

Cargo.toml swaps rustypipe to default-features=false +
rustls-tls-webpki-roots so the cross-compile is openssl-free.

addon.xml drops the unused script.module.requests requirement — main.py
only uses Python stdlib + Kodi's own modules.

docs/install.md walks the Kodi UI flow + a smoke curl that fires
Player.Open via JSON-RPC. Pi-side smoke is pending Cobb's install on
192.168.0.158.
2026-05-23 08:54:46 -07:00

36 lines
1.1 KiB
TOML

[package]
name = "torttube-sidecar"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
[[bin]]
name = "torttube-sidecar"
path = "src/main.rs"
[dependencies]
# Tier 1 — native Rust Innertube.
# default-features=false skips rustypipe's default-tls which pulls in
# native-tls / openssl — we use rustls so cross-compile to aarch64-musl
# stays openssl-free.
rustypipe = { version = "0.11", default-features = false, features = ["rustls-tls-webpki-roots"] }
# Tier 2 + 3 — yt-dlp subprocess shell-out (no library, just std::process)
# Runtime + JSON-over-stdio
tokio = { version = "1", features = ["rt-multi-thread", "macros", "io-std", "io-util", "process", "fs"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Errors + logging
anyhow = "1"
thiserror = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# SponsorBlock — sha256 + REST
sha2 = "0.10"
hex = "0.4"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] }