Gratis e senza pubblicità, grazie a te. Sostieni
Software libero 5 min di lettura Aggiornato a ottobre 2026

Compilare RustMusic dal codice sorgente

RustMusic è un software libero: il suo codice è pubblico, e puoi compilarlo tu stesso per verificare cosa installi, provare una correzione o preparare un contributo. Ecco i passaggi su Windows, macOS e Linux.

01

Gli strumenti necessari

RustMusic unisce un nucleo in Rust (motore audio, decoder, server DLNA, database SQLite) e un’interfaccia SvelteKit, tenuti insieme da Tauri 2. Sui tre sistemi ti servono:

  • Rust, in versione stable, installato con rustup (rustup.rs).
  • Node.js 20 o più recente, con npm.
  • CMake, che serve a compilare libopus per la riproduzione dei file Opus.
  • Git, per scaricare il codice.
02

Le dipendenze di ogni sistema

Windows: installa i Microsoft C++ Build Tools con il carico di lavoro «Sviluppo di applicazioni desktop con C++», poi CMake. Serve anche WebView2, già presente su Windows 10 e 11 aggiornati.

macOS: installa gli strumenti da riga di comando di Xcode, poi CMake, per esempio con Homebrew:

xcode-select --install
brew install cmake

Linux (Debian, Ubuntu): installa gli strumenti di compilazione e le librerie di sviluppo di WebKitGTK, GTK, ALSA e PulseAudio:

sudo apt install -y \
  build-essential curl wget file git pkg-config cmake libssl-dev \
  libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libxdo-dev \
  libwebkit2gtk-4.1-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev patchelf \
  libasound2-dev libpulse-dev libdbus-1-dev

Su un’altra distribuzione, installa i pacchetti equivalenti, spesso con il suffisso -devel: WebKitGTK 4.1, GTK 3, libsoup 3, ALSA, PulseAudio, D-Bus e OpenSSL.

03

Scaricare il codice e compilare

git clone https://github.com/larevuegeek/rustmusic-desktop.git
cd rustmusic-desktop
npm install

La configurazione ufficiale firma anche i file di aggiornamento con la chiave privata del progetto, che tu non hai. Disattiva questo passaggio con un piccolo file di configurazione nella radice del progetto, chiamato per esempio no-updater.json:

{ "bundle": { "createUpdaterArtifacts": false } }

Poi avvia la compilazione passandogli questo file:

npm run tauri build -- --config no-updater.json

La prima compilazione è lunga: Cargo scarica e compila tutte le dipendenze Rust. Le successive ricompilano solo ciò che è cambiato. I pacchetti per il tuo sistema vengono scritti in src-tauri/target/release/bundle/.

Senza questo file, la compilazione si ferma con il messaggio «A public key has been found, but no private key»: a fallire è la firma degli aggiornamenti, non il tuo codice.

04

La modalità sviluppo

npm run tauri dev

Questo comando avvia RustMusic in modalità sviluppo: una modifica all’interfaccia compare subito, una modifica al codice Rust ricompila e riavvia l’applicazione. Non serve nessuna chiave di firma.

Per orientarti nel codice:

  • src/: l’interfaccia (componenti, pagine, servizi), con le traduzioni in src/lib/i18n/locales.
  • src-tauri/src/core: il motore audio, i decoder, il DSD e il DLNA.
  • src-tauri/src/commands: i comandi chiamati dall’interfaccia.
  • src-tauri/src/repository: l’accesso al database SQLite.
05

Proporre la tua modifica

  1. 1

    Apri una issue

    Per una nuova funzione o una modifica importante, descrivila prima in una issue su GitHub. Le piccole correzioni (bug, refusi, traduzioni) possono andare direttamente in pull request.

  2. 2

    Lavora sulla tua copia

    Crea una copia (fork) del repository su GitHub, poi un branch per la tua modifica.

  3. 3

    Verifica il tuo codice

    Lato Rust, cargo fmt e cargo clippy devono passare senza nuovi avvisi; cargo check deve riuscire. Ogni testo visibile passa dalle traduzioni e deve esistere in tutte e cinque le lingue.

  4. 4

    Apri la pull request

    Spiega cosa cambia la modifica e perché. I messaggi di commit in francese sono i benvenuti.

Come il resto del progetto, il tuo codice sarà pubblicato con licenza GPL v3.

Domande frequenti

Bisogna conoscere Rust per contribuire?

No. L’interfaccia è scritta in Svelte e TypeScript, le traduzioni sono semplici file JSON, e una buona segnalazione di bug aiuta quanto una riga di codice.

A cosa serve CMake?

Compila libopus, la libreria di riferimento per decodificare l’Opus, integrata in RustMusic.

Posso compilare RustMusic per un’altra distribuzione Linux?

Sì, se le dipendenze equivalenti sono disponibili. Tauri genera i pacchetti .deb, .rpm e AppImage, e il programma compilato si trova in src-tauri/target/release.

Posso distribuire la mia versione compilata?

Sì, con licenza GPL v3 e con il suo codice sorgente. Se l’hai modificata, dalle un altro nome per evitare confusione con la versione ufficiale.

Non hai voglia di compilare?

Le versioni ufficiali di RustMusic sono pronte da installare su Windows, macOS e Linux. Libero, gratuito, senza account.

Per approfondire