Nächste: Paketmodule in einem Unterverzeichnis, Vorige: Kanäle mit Substituten, Nach oben: Kanäle [Inhalt][Index]
Sagen wir, Sie haben ein paar eigene Paketvarianten oder persönliche Pakete, von denen Sie meinen, dass sie nicht geeignet sind, ins Guix-Projekt selbst aufgenommen zu werden, die Ihnen aber dennoch wie andere Pakete auf der Befehlszeile zur Verfügung stehen sollen. Dann würden Sie zunächst Module mit diesen Paketdefinitionen schreiben (siehe Paketmodule) und diese dann in einem Git-Repository verwalten, welches Sie selbst oder jeder andere dann als zusätzlichen Kanal eintragen können, von dem Pakete geladen werden. Klingt gut, oder?
Warnung: Bevor Sie, verehrter Nutzer, ausrufen: „Wow, das ist soooo coool!“, und Ihren eigenen Kanal der Welt zur Verfügung stellen, möchten wir Ihnen auch ein paar Worte der Warnung mit auf den Weg geben:
- Bevor Sie einen Kanal veröffentlichen, überlegen Sie sich bitte erst, ob Sie die Pakete nicht besser zum eigentlichen Guix-Projekt beisteuern (siehe Mitwirken). Das Guix-Projekt ist gegenüber allen Arten freier Software offen und zum eigentlichen Guix gehörende Pakete stehen allen Guix-Nutzern zur Verfügung, außerdem profitieren sie von Guix’ Qualitätssicherungsprozess.
- Wenn Sie Paketdefinitionen außerhalb von Guix betreuen, sehen wir Guix-Entwickler es als Ihre Aufgabe an, deren Kompatibilität sicherzstellen. Bedenken Sie, dass Paketmodule und Paketdefinitionen nur Scheme-Code sind, der verschiedene Programmierschnittstellen (APIs) benutzt. Wir nehmen uns das Recht heraus, diese APIs jederzeit zu ändern, damit wir Guix besser machen können, womöglich auf eine Art, wodurch Ihr Kanal nicht mehr funktioniert. Wir ändern APIs nie einfach so, werden aber auch nicht versprechen, APIs nicht zu verändern.
- Das bedeutet auch, dass Sie, wenn Sie einen externen Kanal verwenden und dieser kaputt geht, Sie dies bitte den Autoren des Kanals und nicht dem Guix-Projekt melden.
Wir haben Sie gewarnt! Allerdings denken wir auch, dass externe Kanäle eine praktische Möglichkeit sind, die Paketsammlung von Guix zu ergänzen und Ihre Verbesserungen mit anderen zu teilen, wie es dem Grundgedanken freier Software entspricht. Bitte schicken Sie eine E-Mail an guix-devel@gnu.org, wenn Sie dies diskutieren möchten.
Um einen Kanal zu erzeugen, müssen Sie ein Git-Repository mit Ihren eigenen
Paketmodulen erzeugen und den Zugriff darauf ermöglichen. Das Repository
kann beliebigen Inhalt haben, aber wenn es ein nützlicher Kanal sein soll,
muss es Guile-Module enthalten, die Pakete exportieren. Sobald Sie anfangen,
einen Kanal zu benutzen, verhält sich Guix, als wäre das Wurzelverzeichnis
des Git-Repositorys des Kanals in Guiles Ladepfad enthalten (siehe Load
Paths in Referenzhandbuch zu GNU Guile). Wenn Ihr Kanal also zum
Beispiel eine Datei als my-packages/my-tools.scm enthält, die ein
Guile-Modul definiert, dann wird das Modul unter dem Namen
(my-packages my-tools)
verfügbar sein und Sie werden es wie jedes
andere Modul benutzen können (siehe Modules in Referenzhandbuch
zu GNU Guile).
Als Kanalautor möchten Sie vielleicht Materialien mitliefern, damit dessen Nutzer ihn authentifizieren können. Siehe Kanalauthentifizierung und Weitere Kanalautorisierungen angeben für Informationen, wie das geht.
Nächste: Paketmodule in einem Unterverzeichnis, Vorige: Kanäle mit Substituten, Nach oben: Kanäle [Inhalt][Index]