Reproducible buildit
Muista
Seuraavat ohjeet ovat Jamin rakentamiseksi Qt Creatorilla Guix-managed container.
Tämä luo reproducible-ympäristön, jossa Jami-lähdekoodien rakentaminen ja koodaaminen on helppoa.
Jami-projektin checkoutin juuresta, käyttäen uutta Guixia commitilla 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
Muista
Jos et tarvitse videokameraa (kuten web-kameraa) kontissa, voit poistaa seuraavan rivin:
--share=/dev --share=/sys \
Tärkeä
Huom: bugi Qt Creatorissa, mikä nollaa kitin kääntäjäasetukseksi None, jos sen sijainti on muuttunut (mikä triggeröityy aika helposti, kun käytetään eri Guix-profiileja tai -revisioita).
Poista tai muuta –share=/scratch-sijaintia, johon ”taustaprosessin” daemon contrib-tar-arkistot tallennetaan. Määritä TARBALLS-ympäristömuuttuja seuraavasti:
export TARBALLS=/scratch/cache/jami
Jos haluat käyttää mieluummin ei-kontitettua versiota, aja sen sijaan seuraava:
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
Varmista ensin, että ympäristö on puhdas:
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
Avaa sen jälkeen projekti Qt Creatorissa valitsemalla File → Open Project ja valitse CMakeLists.txt-tiedosto Jami-git-checkoutin juuresta.
Paina Configure Project -painiketta ajaaksesi ensimmäisen CMake-ajon ja luodaksesi build-systeemin.
Rakenna rinnakkain (käyttäen useita prosessoriytimiä) paina Build Steps -osion alta Details-painiketta laajentaaksesi Build-toimintoa. Lisää CMake arguments -kenttään argumentti -jN, missä N on prosessoriydinten määrä.
Mikäli buildin kääntäminen onnistuu, Jami voidaan rakentaa ja suorittaa Qt Creatorissa, profiloida Valgrindilla tai suorittaa vaiheittain suoraan Qt Creator -kehitysympäristöstä.