Suivant: Modules de paquets dans un sous-répertoire, Précédent: Canaux avec des substituts, Monter: Canaux [Table des matières][Index]
Disons que vous avez un ensemble de paquets personnels ou de variantes personnalisées dont vous pensez qu’il ne vaudrait pas le coup de contribuer au projet Guix, mais que vous voudriez pouvoir utiliser de manière transparente sur la ligne de commande : vous écririez d’abord des modules contenant ces définitions de paquets (voir Modules de paquets), en les maintenant dans un dépôt Git, puis vous ou n’importe qui d’autre pourrait l’utiliser comme un canal supplémentaire où trouver ces paquets. Sympa, non ?
Attention : Avant que vous, cher utilisateur, ne vous exclamiez « Oh mais c’est super génial ! » et que vous ne publiez vos canaux personnels publiquement, nous voudrions vous donner quelques avertissements :
- Avant de publier un canal, envisagez de contribuer vos définitions de paquets dans Guix (voir Contribuer). Guix en tant que projet est ouvert à tous les logiciels libres de toutes sortes, et les paquets dans Guix sont déjà disponibles à tous les utilisateurs de Guix et bénéficient des processus d’assurance qualité du projet.
- Lorsque vous maintenez des définitions de paquets en dehors de Guix, nous, les développeur·euses de Guix, considérons que la charge de la compatibilité vous incombe. Rappelez-vous que les modules de paquets et les définitions de paquets ne sont que du code Scheme qui utilise diverses interfaces de programmation (API). Nous souhaitons rester libres de changer ces API pour continuer à améliorer Guix, éventuellement d’une manière qui casse votre canal. Nous ne changeons jamais l’API gratuitement, mais nous ne nous engageons pas à geler les API non plus.
- Corollaire : si vous utilisez un canal externe et que le canal est cassé, merci de rapporter le problème à l’auteur du canal, pas au projet Guix.
Vous avez été prévenus ! Maintenant, nous pensons que des canaux externes sont une manière pratique d’exercer votre liberté pour augmenter la collection de paquets de Guix et de partager vos améliorations, qui sont les principes de bases du logiciel libre. Contactez-nous par courriel sur guix-devel@gnu.org si vous souhaitez discuter à ce propos.
Pour créer un canal, créez un dépôt Git contenant vos propres modules de
paquets et rendez-le disponible. Le dépôt peut contenir tout ce que vous
voulez, mais un canal utile contiendra des modules Guile qui exportent des
paquets. Une fois que vous avez démarré un canal, Guix se comportera comme
si le répertoire de la racine du dépôt Git de ce canal était ajouté au
chemin de chargement de Guile (voir Load Paths dans GNU Guile
Reference Manual). Par exemple, si votre canal contient un fichier
mes-paquets/mes-outils.scm qui définit un module Guile, le module
sera disponible sous le nom de (mes-paquets mes-outils)
et vous
pourrez l’utiliser comme les autres modules (voir Modules dans GNU
Guile Reference Manual).
En tant qu’auteur.e d’un canal, envisagez de regrouper le nécessaire d’authentification avec votre canal afin que les utilisatrice·eur·s puissent l’authentifier. Voir Authentification des canaux, et Spécifier les autorisations des canaux, pour savoir comment les utiliser.
Suivant: Modules de paquets dans un sous-répertoire, Précédent: Canaux avec des substituts, Monter: Canaux [Table des matières][Index]