Next: La configuración perfecta, Previous: Construcción desde Git, Up: Contribuir [Contents][Index]
Para mantener un entorno de trabajo estable, encontrará útil probar los cambios hechos en su copia de trabajo local sin instalarlos realmente. De esa manera, puede distinguir entre su sombrero de “usuaria final” y el traje de “harapos”.
Para dicho fin, todas las herramientas de línea de comandos pueden ser
usadas incluso si no ha ejecutado make install
. Para hacerlo, primero
necesita tener un entorno con todas las dependencias disponibles
(see Construcción desde Git) y entonces añada al inicio de cada orden
./pre-inst-env
(el guión pre-inst-env se encuentra en la
raíz del árbol de compilación de Guix; se genera ejecutando
./bootstrap
seguido de ./configure
). A modo de ejemplo
puede ver a continuación cómo construiría el paquete hello
que se
encuentre definido en su directorio de trabajo (esto asume que guix
daemon
se esté ejecutando en su sistema; no es un problema que la versión
sea diferente):
$ ./pre-inst-env guix build hello
De manera similar, un ejemplo de una sesión de Guile con los módulos Guix disponibles:
$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))' ;;; ("x86_64-linux")
… y para un entorno interactivo (REPL) (see Using Guile Interactively in Guile Reference Manual):
$ ./pre-inst-env guile scheme@(guile-user)> ,use(guix) scheme@(guile-user)> ,use(gnu) scheme@(guile-user)> (define serpientes (fold-packages (lambda (paquete lst) (if (string-prefix? "python" (package-name paquete)) (cons paquete lst) lst)) '())) scheme@(guile-user)> (length serpientes) $1 = 361
Si modifica el código del daemon o código auxiliar, o si
guix-daemon
no se está ejecutando todavía en su sistema, puede
ejecutarlo desde el árbol de construción53:
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
El guión pre-inst-env
proporciona valor a todas las variables de
entorno necesarias para permitirlo, incluyendo PATH
y
GUILE_LOAD_PATH
.
Fíjese que la orden ./pre-inst-env guix pull
no actualiza
el árbol de fuentes local; simplemente actualiza el enlace
~/.config/guix/latest (see Invocación de guix pull). Ejecute
git pull
si quiere actualizar su árbol de fuentes local.
Sometimes, especially if you have recently updated your repository, running
./pre-inst-env
will print a message similar to the following
example:
;;; note: source file /home/user/projects/guix/guix/progress.scm ;;; newer than compiled /home/user/projects/guix/guix/progress.go
This is only a note and you can safely ignore it. You can get rid of the
message by running make -j4
. Until you do, Guile will run
slightly slower because it will interpret the code instead of using prepared
Guile object (.go) files.
You can run make
automatically as you work using
watchexec
from the watchexec
package. For example, to
build again each time you update a package file, you can run ‘watchexec
-w gnu/packages make -j4’.
La opción -E a
sudo
asegura que GUILE_LOAD_PATH
contiene la información
correcta para que guix-daemon
y las herramientas que usa puedan
encontrar los módulos Guile que necesitan.
Next: La configuración perfecta, Previous: Construcción desde Git, Up: Contribuir [Contents][Index]