Nächste: Zubehör, Vorige: Entwicklung, Nach oben: Top [Inhalt][Index]
GNU Guix bietet mehrere Programmierschnittstellen (APIs) in der Programmiersprache Scheme an, mit denen Software-Pakete definiert, erstellt und gesucht werden können. Die erste Schnittstelle erlaubt es Nutzern, ihre eigenen Paketdefinitionen in einer Hochsprache zu schreiben. Diese Definitionen nehmen Bezug auf geläufige Konzepte der Paketverwaltung, wie den Namen und die Version eines Pakets, sein Erstellungssystem (Build System) und seine Abhängigkeiten (Dependencies). Diese Definitionen können dann in konkrete Erstellungsaktionen umgewandelt werden.
Erstellungsaktionen werden vom Guix-Daemon für dessen Nutzer durchgeführt. Bei einer normalen Konfiguration hat der Daemon Schreibzugriff auf den Store, also das Verzeichnis /gnu/store, Nutzer hingegen nicht. Die empfohlene Konfiguration lässt den Daemon die Erstellungen in chroot-Umgebungen durchführen, mit eigenen Benutzerkonten für „Erstellungsbenutzer“, um gegenseitige Beeinflussung der Erstellung und des übrigen Systems zu minimieren.
Systemnahe APIs stehen zur Verfügung, um mit dem Daemon und dem Store zu interagieren. Um den Daemon anzuweisen, eine Erstellungsaktion durchzuführen, versorgen ihn Nutzer jeweils mit einer Ableitung. Eine Ableitung ist, wie durchzuführende Erstellungsaktionen, sowie die Umgebungen, in denen sie durchzuführen sind, in Guix eigentlich intern dargestellt werden. Ableitungen verhalten sich zu Paketdefinitionen vergleichbar mit Assembler-Code zu C-Programmen. Der Begriff „Ableitung“ kommt daher, dass Erstellungsergebnisse daraus abgeleitet werden.
Dieses Kapitel beschreibt der Reihe nach all diese Programmierschnittstellen (APIs), angefangen mit hochsprachlichen Paketdefinitionen.
• Paketmodule | Pakete aus Sicht des Programmierers. | |
• Pakete definieren | Wie Sie neue Pakete definieren. | |
• Paketvarianten definieren | Pakete anpassen. | |
• Manifeste verfassen | Woraus Ihre Umgebung besteht. | |
• Erstellungssysteme | Angeben, wie Pakete erstellt werden. | |
• Erstellungsphasen | Die Phasen im Erstellungsprozess eines Pakets. | |
• Werkzeuge zur Erstellung | Helferlein für Ihre Paketdefinitionen und anderes. | |
• Suchpfade | Umgebungsvariable mit Suchpfaden deklarieren. | |
• Der Store | Den Paket-Store verändern. | |
• Ableitungen | Systemnahe Schnittstelle für Paketableitungen. | |
• Die Store-Monade | Rein funktionale Schnittstelle zum Store. | |
• G-Ausdrücke | Erstellungsausdrücke verarbeiten. | |
• Aufruf von guix repl | Guix in Guile programmieren. | |
• Interaktiv mit Guix arbeiten | Genau steuern auf der REPL. |
Nächste: Zubehör, Vorige: Entwicklung, Nach oben: Top [Inhalt][Index]