Next: Ejecución de Guix antes de estar instalado, Up: Contribuir [Contents][Index]
Si quiere picar en el mismo Guix se recomienda usar la última versión del repositorio Git:
git clone https://git.savannah.gnu.org/git/guix.git
¿Cómo se puede asegurar de que ha obtenido una copia auténtica del
repositorio? Para ello ejecute guix git authenticate
,
proporcionando la revisión y la huella de OpenPGP de la presentación
del canal (see Invocación de guix git authenticate
):
git fetch origin keyring:keyring guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \ "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
Esta orden termina con un código de salida cero cuando al finalizar correctamente; o imprime un mensaje de error y sale con un código de salida distinto a cero en otro caso.
Como puede ver, nos encontramos ante el problema del huevo y la gallina: es necesario haber instalado Guix. Durante la instalación habitual del sistema Guix (see Instalación del sistema) o Guix sobre otra distribución (see Instalación binaria) debería verificar la firma de OpenPGP del medio de instalación. Este paso es el primer eslabón de la cadena de confianza.
El modo más fácil de preparar un entorno de desarrollo para Guix es, por supuesto, ¡usando Guix! Las siguientes órdenes inician un nuevo intérprete donde todas las dependencias y las variables de entorno apropiadas están listas para picar código en Guix:
guix shell -D guix --pure
See Invoking guix shell
, para más información sobre este comando.
Si no puede usar Guix para construir Guix desde una copia de trabajo, son necesarios los paquetes siguientes además de los mencionados en las instrucciones de instalación (see Requisitos).
En Guix se pueden añadir dependencias adicionales ejecutando en su lugar
guix shell
:
guix shell -D guix help2man git strace --pure
From there you can generate the build system infrastructure using Autoconf and Automake:
./bootstrap
Si se produce un error como el siguiente:
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
probablemente significa que Autoconf no pudo encontrar el archivo pkg.m4, que proporciona pkg-config. Asegúrese de que pkg.m4 está disponible. Lo mismo aplica para el conjunto de macros guile.m4 que proporciona Guile. Por ejemplo, si ha instalado Automake en /usr/local, no va a buscar archivos .m4 en /usr/share. En ese caso tiene que ejecutar la siguiente orden:
export ACLOCAL_PATH=/usr/share/aclocal
See Macro Search Path in The GNU Automake Manual para más información.
Entonces, ejecute:
./configure --localstatedir=/var
... where /var is the normal localstatedir
value (see El almacén, for information about this). Note that you will probably not run
make install
at the end (you don’t have to) but it’s still
important to pass the right localstatedir
.
Finalmente, puede construir Guix y, si se siente inclinado a ello, ejecutar los tests (see Ejecución de la batería de pruebas):
make make check
If anything fails, take a look at installation instructions (see Instalación) or send a message to the mailing list.
De aquí en adelante, puede identificar todos las revisiones incluidas en su copia ejecutando:
make authenticate
La primera ejecución puede tardar varios minutos, pero las ejecuciones siguientes son más rápidas.
O, cuando la configuración de su repositorio local Git no corresponda con la
predeterminada, puede proporcionar la referencia de la rama keyring
a
través de la variable GUIX_GIT_KEYRING
. El ejemplo siguiente asume
que tiene configurado un servidor remoto de git llamado ‘miremoto’ que
apunta al repositorio oficial:
make authenticate GUIX_GIT_KEYRING=miremoto/keyring
Nota: Se recomienda que ejecute
make authenticate
tras cada ejecución degit pull
. Así se asegura de que está recibiendo cambios válidos del repositorio.
Después de actualizar el repositorio, make
podría fallar con un
error similar al del ejemplo siguiente:
error: fallo al cargar 'gnu/packages/dunst.scm': ice-9/eval.scm:293:34: En el procedimiento abi-check: #<record-type <origin>>: registro ABI erróneo; se necesita recompilación
Esto significa que uno de los tipos de registro que Guix define (en este
ejemplo, el registro origin
) ha cambiado, y todo guix necesita ser
recompilado para tener en cuenta ese cambio. Para ello, ejecute
make clean-go
seguido de make
.
Next: Ejecución de Guix antes de estar instalado, Up: Contribuir [Contents][Index]