jTox is a Jolla/SailfishOS https://tox.chat client.
jTox uses an experimental cryptographic network library. It has not been formally audited by an independent third party that specializes in cryptography or cryptanalysis. The protocol is not optimized for mobile yet and causes significant data traffic. Use at your own risk.
Increasing the VM RAM and CPU count inside VirtualBox for the build engine is highly recommended.
These steps will install all the required packages on mersdk build engine. See the sailfish SDK FAQ for instructions on how to connect to the build engine. Be sure to log into the engine as mersdk user not as root.
Change this to the SailfishOS version required, also in support/build.sh
export SFVER='4.4.0.58'
sb2 -t SailfishOS-$SFVER-aarch64 -m sdk-install -R zypper install gcc gcc-c++ autoconf automake make libtool nasm
sb2 -t SailfishOS-$SFVER-armv7hl -m sdk-install -R zypper install gcc gcc-c++ autoconf automake make libtool nasm
sb2 -t "SailfishOS-$SFVER-i486" -m sdk-install -R zypper install gcc gcc-c++ autoconf automake make libtool yasm
Make sure the build VM is running (the one from SailfishOS IDE).
To improve performance enable multiple cores for the build VM in VirtualBox.
only for linux
The populate script should just work(tm) if you're running it on Linux from the support
directory and your SailfishOS SDK install path is standard.
NOTE: you can edit build.sh
and change the SFVER
, SODIUMVER
, TOXCOREVER
and THREADS
as needed.
Just run it with ./populate.sh
and everything should work. Change SailfishOS version in the env var as required. If not see next section
Provided build script in support/build.sh
needs to be copied to a subdirectory on the build engine. Use the mersdk
user, do not use root.
Once in a new directory, say run the script ./build.sh
with target architecture as parameter. Valid architectures are i486
and armv7hl
. You can also edit the build.sh
script and change the required variables (see above).
`./build.sh i486`
`./build.sh armv7hl`
`./build.sh aarch64`
It will download latest versions of libsodium
and c-toxcore
libraries from github and build them. Once done the resulting libraries are in the libs
folder while the include files are in the include
folder of the fake root directory for given architecture e.g. i486/usr/lib
.
You then need to copy over the required files to extra
so your resulting structure in the project should be extra/i486/...
and extra/armv7hl/...
Bin subdirectory is not required and neither are any non .a
files in the lib directory.
In order to select the right library architecture you need to define JTOX_ARCH
env var inside the project kit settings in SailfishSDK. Add the values i486
, armv7hl
and aarch64
to each of the env var tables for each project and configuration (debug, profile, release).
You need to also whitelist JTOX_ARCH
inside the SailfishOS/general section of settings to make sure it reaches the build engine.