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


16.2 Lancer Guix avant qu’il ne soit installé

Pour garder un environnement de travail sain, il est utile de tester les changement localement sans les installer pour de vrai. Pour pouvoir distinguer votre rôle « d’utilisateur·rice final·e » de celui parfois haut en couleur de « développeur·euse ».

Pour cela, tous les outils en ligne de commande sont utilisables même sans avoir lancé make install. Pour faire cela, vous devez d’abord avoir un environnement avec toutes les dépendances disponibles (voir Construire depuis Git), et puis préfixer simplement chaque commande avec ./pre-inst-env (le script pre-inst-env se trouve dans le répertoire de plus haut niveau de l’arborescence des sources de Guix ; il est généré en lançant ./bootstrap suivit de ./configure). À titre d’exemple, voici comment construire le paquet hello tel que défini dans votre arborescence de travail (cela suppose que guix-daemon fonctionne déjà sur votre système ; c’est OK si c’est une version différente) :

$ ./pre-inst-env guix build hello 

De même, pour une session Guile qui utilise les modules Guix :

$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'

;;; ("x86_64-linux")

… et pour une REPL (voir Using Guile Interactively dans Guile Reference Manual) :

$ ./pre-inst-env guile
scheme@(guile-user)> ,use(guix)
scheme@(guile-user)> ,use(gnu)
scheme@(guile-user)> (define snakes
                       (fold-packages
                         (lambda (package lst)
                           (if (string-prefix? "python"
                                               (package-name package))
                               (cons package lst)
                               lst))
                         '()))
scheme@(guile-user)> (length snakes)
$1 = 361

Si vous travaillez sur le démon et son code supporté ou si guix-daemon n’est pas déjà lancé sur votre système, vous pouvez le lancer directement depuis l’arborescence de construction37 :

$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild

Le script pre-inst-env paramètre toutes les variables d’environnement nécessaires, dont PATH et GUILE_LOAD_PATH.

Remarquez que ./pre-inst-env guix pull ne met pas à jour l’arborescence des sources locale ; cela met seulement à jour le lien symbolique de ~/.config/guix/current (voir Invoquer guix pull). Lancez git pull à la place si vous voulez mettre à jour votre arborescence des source locale.


Notes de bas de page

(37)

Le drapeau -E de sudo garantit que GUILE_LOAD_PATH est correctement configuré de sorte que guix-daemon et les outils qu’il utilise puissent trouver les modules Guile dont ils ont besoin.


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