Hi,

If you'd like a capable and reproducible environment to easily build and
hack on the Jami sources, here are some steps from my own experiment.

>From the root of the Jami project checkout, using a recent Guix at
commit c087d1d:

--8<---------------cut here---------------start------------->8---
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 \
  qt-creator qtwayland -m manifest.scm -- qtcreator
--8<---------------cut here---------------end--------------->8---

Beware of this bug [0] in Qt Creator, which will cause the compiler of a
kit to be reset to None if its location changed (which is quite easy to
trigger when using different Guix profiles / revisions).

[0]  https://qt-project.atlassian.net/browse/QTCREATORBUG-34152

You should remove or adjust '--share=/scratch'; this is the location
where I keep the tarballs for the daemon contribs, which is set via the
TARBALLS environment variable, e.g. with:

--8<---------------cut here---------------start------------->8---
export TARBALLS=/scratch/cache/jami
--8<---------------cut here---------------end--------------->8---

If you prefer a non-containerized version, you can use instead:

--8<---------------cut here---------------start------------->8---
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
--8<---------------cut here---------------end--------------->8---

First, make sure you start from a clean slate with:

--8<---------------cut here---------------start------------->8---
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
--8<---------------cut here---------------end--------------->8--

Then open the project in Qt Creator via 'File -> Open Project', and
select the CMakeLists.txt file at the root of the Jami git checkout.

Click the 'Configure Project' button to run the initial CMake and
generate the build system.

To build in parallel (using multiple cores) under 'Build Steps', click
on 'Details' to expand the 'Build' action.  In the 'CMake arguments'
field, add something like "-jN" here N is the number of cores on your
CPU.

That's it! You should now be able to build and run Jami from Qt Creator,
profile with Valgrind, or step execution from the Qt Creator IDE.

If that's useful, it could be added to the Jami documentation.

-- 
Thanks,
Maxim

Reply via email to