Construcciones reproducibles
Nota
Las siguientes instrucciones son para compilar Jami con Qt Creator en un contenedor administrado por [Guix](..setup/setup/gnu-guix. md).
Lo siguiente genera un entorno reproducible para compilar fácilmente a partir de las fuentes Jami y codificar en ellas.
Desde la raíz del proceso de verificación del proyecto Jami, utilizando un Guix reciente en la confirmación c087d1d:
guix shell -CFN -E GTK_DATA_PREFIX \
-E QT_QPA_PLATFORM -E XAUTHORITY \
-E XCURSOR_PATH -E ^XDG -E WAYLAND_DISPLAY \
-E TARBALLS --share=$HOME --share=/run --share=/scratch \
--share=/dev --share=/sys \
qt-creator qtwayland -m manifest.scm -- qtcreator
Nota
Si no se requiere acceso a una cámara de video (por ejemplo, una cámara web) en el contenedor, se puede eliminar la siguiente línea:
--share=/dev --share=/sys \
Importante
Cuidado con este error en Qt Creator, lo que hará que el compilador de un kit se restablezca a “Ninguno” si cambia su ubicación (lo cual es bastante fácil de activar cuando se usan diferentes perfiles/revisiones de Guix).
Eliminar o ajuste la ubicación --share=/scratch donde se guardan los archivos comprimidos para las contribuciones daemon. Establecer la variable de entorno TARBALLS con:
export TARBALLS=/scratch/cache/jami
Si se prefiere una versión sin contenedor, usar en su lugar lo siguiente.
guix shell --pure -E GTK_DATA_PREFIX \
-E QT_QPA_PLATFORM -E XAUTHORITY \
-E XCURSOR_PATH -E ^XDG -E WAYLAND_DISPLAY \
-E TARBALLS qt-creator qtwayland -m manifest.scm -- qtcreator
Primero, asegurarse de que el entorno esté limpio:
git checkout nightly/20260220.0 # there seems to be a QML issue in trunk
./build.py --clean --clean-contribs=all
./build.py --init # set up the submodules
Luego abrir el proyecto en Qt Creator a través de File → Open Project, y seleccionar el archivo CMakeLists.txt en la raíz del checkout de Jami git.
Clic en el botón Configure Project para ejecutar el CMake inicial y generar el sistema de compilación.
Para compilar en paralelo (usando varios núcleos) en Build Steps, clic en el botón Details para expandir la acción Build. En el campo CMake arguments, agregar el argumento -jN donde N es el número de núcleos de CPU.
Si tiene éxito, Jami compilará y ejecutará desde Qt Creator, perfilará con Valgrind o ejecutará por pasos desde el IDE de Qt Creator.