Dotfiles_ArchAP/tools/quickshell-qt-compat-v1/README.md

65 lines
3.4 KiB
Markdown

# QuickShell 0.3.1 et Qt 6.12
Ce dossier conserve les **sources de construction**, jamais le binaire compilé.
Il dérive du `PKGBUILD` officiel Arch `extra/quickshell 0.3.1-1` : `pkgrel=1.1`
identifie la reconstruction locale, et `prepare()` applique le correctif amont
fusionné dans [Quickshell PR 1002](https://github.com/quickshell-mirror/quickshell/pull/1002).
Le fichier `changelog/next.md` de cette PR n'existe pas dans l'archive `v0.3.1` ;
le patch conservé ici ne contient que ses changements de code applicables.
## Pourquoi
Le paquet officiel du 21 août 2026 a été construit avec Qt 6.11.2. Après le
passage du système à Qt 6.12.0, QuickShell signale ce décalage au démarrage.
Une reconstruction sans correctif échoue aussi à la compilation `moc` sur des
métatypes incomplets dans les modules Hyprland et I3/Sway. Le correctif amont
résout ces erreurs sans désactiver de module.
## Dépendances et construction
En plus des dépendances d'exécution déclarées dans `PKGBUILD`, la construction
demande `base-devel`, `cli11`, `cmake`, `ninja`, `qt6-shadertools`,
`spirv-tools`, `vulkan-headers` et `wayland-protocols`. Installer les
dépendances de compilation par le gestionnaire de paquets selon la politique de
la machine ; `makepkg -s` peut les demander. Ne pas utiliser une version de Qt
différente de celle qui sera chargée à l'exécution.
Depuis ce dossier :
```sh
makepkg --verifysource
makepkg --cleanbuild --syncdeps
sha256sum quickshell-0.3.1-1.1-x86_64.pkg.tar
pacman -Qip quickshell-0.3.1-1.1-x86_64.pkg.tar
```
La construction du 8 octobre 2026 a utilisé les sources amont `v0.3.1`
(SHA-256 vérifié par `makepkg`) et le patch de ce dossier. `cli11 2.7.2-1`
était absent du système : son paquet Arch signé a été vérifié par `gpgv`, puis
extrait dans un préfixe de construction utilisateur. Dans ce cas particulier,
`makepkg --nodeps` a ignoré uniquement le contrôle de présence système de
`cli11` ; CMake a trouvé ses en-têtes dans ce préfixe. Ce contournement de
**construction** ne s'applique jamais à l'installation du paquet QuickShell.
Le paquet produit a été conservé hors dépôt sous
`~/.cache/quickshell-qt-compat-v1/`, avec le SHA-256
`68d75a1421d4d78ea1ab72f00194788298b275e58933b48dfa86aace596df2a5`.
Une reconstruction future peut produire un hash différent, même à partir des
mêmes sources ; vérifier toujours les métadonnées et les dépendances du nouvel
artefact. Installer uniquement par Pacman, sans copie manuelle de fichiers.
## Maintenance et retour arrière
Après une mise à jour de Qt, vérifier d'abord si Arch fournit un paquet
QuickShell plus récent construit pour cette version. Sinon, reconstruire avec
le Qt installé et le correctif encore nécessaire. Si Arch intègre le correctif
dans une nouvelle version, revenir au paquet officiel. La révision locale
`0.3.1-1.1` ne sera pas remplacée automatiquement par l'ancien `0.3.1-1` ;
surveiller les versions du dépôt.
Avant une installation, conserver le paquet officiel précédent dans le cache
Pacman et relever l'état du service. Un retour à `0.3.1-1` est possible par
Pacman, mais ce paquet reste compilé contre Qt 6.11.2 : sous Qt 6.12, il ne
constitue pas un retour à la compatibilité. En cas de régression, garder les
journaux, identifier la cause et ne réinstaller l'ancien paquet que si son
fonctionnement est jugé plus sûr que celui du nouveau.