Skip to content

aleph-garden/librespot-builds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

librespot-builds

Prebuilt librespot binaries for the Aleph voice assistant.

Upstream librespot ships no binaries — only Docker images and source. Aleph needs librespot at runtime for server-side Spotify playback to satellites (spotify_play → librespot → media.out). This repo pins a librespot version, cross-compiles it for the platforms Aleph supports, and publishes the binaries as GitHub release assets that internal/binprep/librespot in the Aleph repo fetches on first use.

Release scheme

Tag format: v<upstream>-aleph<n>, e.g. v0.8.0-aleph1.

<upstream> is the librespot tag built; <n> is incremented when the build config (cargo features, strip flags, packaging) changes for the same upstream.

Each release attaches:

Asset Target
librespot-linux-x86_64.tar.gz Linux x86_64
librespot-linux-aarch64.tar.gz Linux aarch64 (Raspberry Pi 4/5, ARM servers)
librespot-windows-x86_64.zip Windows x86_64
librespot-darwin-aarch64.tar.gz macOS Apple Silicon
SHA256SUMS sha256 of every asset above

Inside each archive: a single librespot (or librespot.exe) executable.

Build profile

Minimal feature set — Aleph only needs the pipe backend (raw PCM to stdout) and OAuth access-token auth:

cargo build --release \
  --no-default-features \
  --features "pipe-backend with-vorbis"

This drops alsa/jack/portaudio/pulseaudio/rodio/sdl backends (Aleph never plays audio locally — the satellite does) and keeps the binary small.

Updating the pinned librespot version

  1. Edit LIBRESPOT_VERSION in .github/workflows/build.yml.
  2. Push a new tag v<upstream>-aleph<n>. The workflow runs on tag push, builds the matrix, attaches assets to the release.
  3. Update pinned.go in aleph/packages/aleph/server/internal/binprep/librespot/ with the new version + per-target SHA256 from SHA256SUMS.

Why a separate repo

Keeps the Aleph repo clean of release artifacts and lets us re-tag/rebuild librespot without touching Aleph history. Aleph depends on this repo only at runtime (HTTP fetch), not at build time.

License

Built binaries are derivative works of librespot, MIT-licensed. The build configuration in this repo is also MIT (see LICENSE).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors