Suivant: , Précédent: , Monter: Top   [Table des matières][Index]


6 Interface de programmation

GNU Guix fournit diverses interface de programmation Scheme (API) qui pour définir, construire et faire des requêtes sur des paquets. La première interface permet aux utilisateurs d’écrire des définitions de paquets de haut-niveau. Ces définitions se réfèrent à des concepts de création de paquets familiers, comme le nom et la version du paquet, son système de construction et ses dépendances. Ces définitions peuvent ensuite être transformées en actions concrètes lors de la construction.

Les actions de construction sont effectuées par le démon Guix, pour le compte des utilisateurs. Dans un environnement standard, le démon possède les droits en écriture sur le dépôt — le répertoire /gnu/store — mais pas les utilisateurs. La configuration recommandée permet aussi au démon d’effectuer la construction dans des chroots, avec un utilisateur de construction spécifique pour minimiser les interférences avec le reste du système.

Il y a des API de plus bas niveau pour interagir avec le démon et le dépôt. Pour demander au démon d’effectuer une action de construction, les utilisateurs lui donnent en fait une dérivation. Une dérivation est une représentation à bas-niveau des actions de construction à entreprendre et l’environnement dans lequel elles devraient avoir lieu — les dérivations sont aux définitions de paquets ce que l’assembleur est aux programmes C. Le terme de « dérivation » vient du fait que les résultats de la construction en dérivent.

Ce chapitre décrit toutes ces API tour à tour, à partir des définitions de paquets à haut-niveau.


Suivant: , Précédent: , Monter: Top   [Table des matières][Index]