2.2 KiB
Prérequis SDL3 Desktop
Portée
Cette politique concerne le développement et les runners Desktop natifs basés sur SDL3.
Elle ne définit pas le packaging Android ni Web :
- Android utilisera son intégration SDL3/NDK/AAR dédiée ;
- Web utilisera la cible Emscripten/WASM dédiée ;
- la présence de SDL3 système sur le poste Desktop n'implique aucune dépendance runtime identique sur Android ou Web.
Version Rust SDL3
La version canonique est déclarée au workspace sans feature globale :
[workspace.dependencies]
sdl3 = "^0.20"
La crate d'adaptation SDL3 Desktop active elle-même la méthode de liaison dont elle a besoin :
sdl3 = { workspace = true, features = ["use-pkg-config"] }
Cette séparation suit la règle générale du workspace : version commune à la racine, features au niveau de la crate consommatrice.
Stratégie Desktop Linux
Le build Desktop recherche une installation SDL3 système avec pkg-config.
Cette stratégie évite le défaut rencontré avec le build vendored de la série sdl3 0.16.x / sdl3-sys 0.5.12, où CMake tentait d'ajouter un répertoire test absent du package source utilisé.
Debian 13 / Trixie
Installer au besoin :
sudo apt update
sudo apt install pkg-config libsdl3-dev
Préflight :
pkg-config --modversion sdl3
pkg-config --cflags --libs sdl3
La machine de validation a fourni SDL 3.2.10.
sdl3-sys 0.7.x annonce la compatibilité avec SDL 3.1.3 et versions ultérieures ; certaines API particulières peuvent toutefois nécessiter une version SDL plus récente. Les API minimales actuellement employées par le POC doivent donc rester vérifiées par compilation et smoke runtime.
Portabilité future
Cette décision concerne le développement Desktop Linux et ne préjuge pas du packaging final.
Les options futures restent ouvertes :
- bundle SDL3 dans un package Desktop ;
- AppImage ou Flatpak ;
- package natif par distribution ;
- liaison statique si elle devient justifiée ;
- distribution Tauri distincte lorsqu'un shell Desktop riche est requis.
Toute évolution de cette stratégie doit être documentée avant modification des manifests.