Next: Módulos de paquetes en un subdirectorio, Previous: Channels with Substitutes, Up: Canales [Contents][Index]
Digamos que tiene un montón de variaciones personalizadas de paquetes que piensa que no tiene mucho sentido contribuir al proyecto Guix, pero quiere tener esos paquetes disponibles en su línea de órdenes de manera transparente. Primero debería escribir módulos que contengan esas definiciones de paquete (see Módulos de paquetes), mantenerlos en un repositorio Git, y de esta manera usted y cualquier otra persona podría usarlos como un canal adicional del que obtener paquetes. Limpio, ¿no?
Aviso: Antes de que, querida usuaria, grite—“¡Guau, esto es la caña!”—y publique su canal personal al mundo, nos gustaría compartir algunas palabras de precaución:
- Antes de publicar un canal, por favor considere contribuir sus definiciones de paquete al propio Guix (see Contribuir). Guix como proyecto es abierto a software libre de todo tipo, y los paquetes en el propio Guix están disponibles para todas las usuarias de Guix y se benefician del proceso de gestión de calidad del proyecto.
- Cuando mantiene definiciones de paquete fuera de Guix, nosotras, las desarrolladoras de Guix, consideramos que la carga de la compatibilidad cae de su lado. Recuerde que los módulos y definiciones de paquetes son solo código Scheme que usa varias interfaces programáticas (APIs). Queremos mantener la libertad de cambiar dichas interfaces para seguir mejorando Guix, posiblemente en formas que pueden romper su canal. Nunca cambiamos las interfaces gratuitamente, pero no vamos tampoco a congelar las interfaces.
- Corolario: si está usando un canal externo y el canal se rompe, por favor informe del problema a las autoras del canal, no al proyecto Guix.
¡Ha quedado advertida! Habiendo dicho esto, creemos que los canales externos son una forma práctica de ejercitar su libertad para aumentar la colección de paquetes de Guix y compartir su mejoras, que son pilares básicos del software libre. Por favor, envíenos un correo a guix-devel@gnu.org si quiere hablar sobre esto.
Para crear un canal, cree un repositorio Git que contenga sus propios
módulos de paquetes y haga que esté disponible. El repositorio puede
contener cualquier cosa, pero un canal útil contendrá módulos Guile que
exportan paquetes. Una vez comience a usar un canal, Guix se comportará como
si el directorio raíz del repositorio Git de dicho canal hubiese sido
añadido a la ruta de carga de Guile (see Load Paths in GNU Guile
Reference Manual). Por ejemplo, si su canal contiene un archivo en
mis-paquetes/mis-herramientas.scm que define un módulo, entonces
dicho módulo estará disponible bajo el nombre (mis-paquetes
mis-herramientas)
, y podrá usarlo como cualquier otro módulo
(see Modules in GNU Guile Reference Manual).
Como autora de un canal, considere adjuntar el material para la identificación a su canal de modo que las usuarias puedan verificarlo. See Verificación de canales, y Especificación de autorizaciones del canal, para obtener información sobre cómo hacerlo.
Next: Módulos de paquetes en un subdirectorio, Previous: Channels with Substitutes, Up: Canales [Contents][Index]