Ceci est une ancienne révision du document !
Guix
Faire des expériences reproductibles
- Figer les canaux :
guix describe -f channels > guix-channels.scm
- Lancer la machine à voyager dans le temps de Guix :
guix time-machine --channels=guix-channels.scm -- shell ma_commande
Indiquer l'emplacement des définitions des paquets
Utiliser le paramètre -L ou la variable environnement GUIX_PACKAGE_PATH.
Indicateur d’environnement Guix dans le prompt de ZSH
On peut modifier le thème utilisé de cette façon :
function guix_env() { if [ -n "$GUIX_ENVIRONMENT" ] then echo '[guix]' fi } # ... PROMPT='...$(guix_env)'
Compiler Guix
git clone https://git.savannah.gnu.org/git/guix.git cd guix guix shell git -D guix --pure ./bootstrap ./configure --localstatedir=/var make ./pre-inst-env guix describe
Ne pas faire de guix pull, sinon il récupère la version indiquée dans le $HOME, qui est probablement antérieure à celle dans le dépôt Git.
Récupérer un patch
Vu sur IRC, apparemment on peut faire :
curl https://issues.guix.gnu.org/issue/<id>/patch-set -q -o - | git am wget -qO- https://issues.guix.gnu.org/issue/$1/patch-set $2 | git am --patch-format mbox -3
Mettre à jour un paquet
./pre-inst-env guix refresh $paquet ./pre-inst-env guix refresh $paquet -u ./pre-inst-env guix build $paquet
Si on est courageux, il est possible de connaître la liste des dépendances inverses du paquet mis à jour, pour essayer de les construire également :
./pre-inst-env guix refresh -l $paquet
Envoyer un patch
Sur Debian, il faut installer le paquet git-email.
git config --local include.path ../etc/git/gitconfig git commit git format-patch --base=origin/master -1 git send-email --to=guix-patches@gnu.org 0001-*.patch
Il faut auparavant avoir ajouté dans le .git/config la configuration SMTP pour envoyer le mail:
[sendemail]
smtpEncryption = tls
smtpServer = smtp.server.com
smtpUser = user
smtpServerPort = 587 # port à utiliser même si un autre est configuré dans Thunderbird
Reviewer des patchs
Forcer la reconstruction d'un paquet
guix build --check --no-grafts hello