commit | 8093e8cade138dbd2c9a8798e7e060443f602caf | [log] [tgz] |
---|---|---|
author | François-Simon Fauteux-Chapleau <francois-simon.fauteux-chapleau@savoirfairelinux.com> | Thu Apr 25 11:31:57 2024 -0400 |
committer | François-Simon Fauteux-Chapleau <francois-simon.fauteux-chapleau@savoirfairelinux.com> | Fri Apr 26 14:38:54 2024 -0400 |
tree | e04039c733f00c0e6f14eedc2f3d34f1073b924f | |
parent | f35c65069fd1939567c4ecc8c1ebb2d6659135ca [diff] |
account: make sure the UPnP controller is updated correctly 1) Add an override of the updateUpnpController function in JamiAccount to ensure that all the shared pointers to an account's UPnP controller get updated together 2) Call updateUpnpController when an account gets enabled/disabled so that UPnP can be (de)activated immediately if necessary GitLab: #988 Change-Id: I6ff5cefd285c37aa014aebbb862b7d7eb06aadb4
Jami is a Voice-over-IP software phone. We want it to be:
As the SIP/audio daemon and the user interface are separate processes, it is easy to provide different user interfaces. Jami comes with various graphical user interfaces and even scripts to control the daemon from the shell.
Jami is currently used by the support team of Savoir-faire Linux Inc.
More information is available on the project homepage: https://www.jami.net/
This source tree contains the daemon application only that handles the business logic of Jami. UIs are located in differents repositories. See the Contributing section for more information.
Savoir-faire Linux Inc. is a consulting company based in Montreal, Quebec. For more information, please check out our website: https://www.savoirfairelinux.com/
A) With CMake
mkdir build cd build cmake .. -DJAMI_DBUS=On make -j4
This should build the 'contrib' dependencies, then the daemon
B) With Meson
cd contrib mkdir native cd native ../bootstrap make
cd ../../ mkdir build export PATH=$PATH:`pwd`/contrib/`cc -dumpmachine`/bin meson -Dpkg_config_path=`pwd`/contrib/`cc -dumpmachine`/lib/pkgconfig -Ddefault_library=static -Dinterfaces=dbus build cd build ninja ninja install
C) With Autotools
cd contrib mkdir native cd native ../bootstrap make
cd ../.. ./autogen.sh ./configure make make install
A) With CMake
mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_API=24 -DBUILD_EXTRA_TOOLS=On -DJAMI_JNI=On -DJAMI_JNI_PACKAGEDIR=java make -j4
Replace arm64-v8a with the desired target ABI. See the README in jami-client-android for instructions to build the Jami client for Android.
B) With Meson
export ANDROID_NDK=<NDK> export ANDROID_ABI=arm64-v8a export ANDROID_API=24 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64 export TARGET=aarch64-linux-android export CC=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang export CXX=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang++ export AR=$TOOLCHAIN/bin/$TARGET-ar export LD=$TOOLCHAIN/bin/$TARGET-ld export RANLIB=$TOOLCHAIN/bin/$TARGET-ranlib export STRIP=$TOOLCHAIN/bin/$TARGET-strip export PATH=$PATH:$TOOLCHAIN/bin cd contrib mkdir native cd native ../bootstrap --build=x86_64-pc-linux-gnu --host=$TARGET$ANDROID_API make
cd ../../ mkdir build meson --cross-file `pwd`/cross-files/android_arm64_api29.txt build cd build ninja ninja install
Note: to build the tests add -Dtests=true
; or it can be enabled later with meson --reconfigure -Dtests=true build
These first steps are only necessary if you don't use a package manager.
cd extras/tools ./bootstrap make export PATH=$PATH:/location/of/daemon/extras/tools/build/bin
Or, use your favorite package manager to install the necessary tools (macports or brew): automake pkg-config libtool gettext yasm
cd contrib mkdir native cd native ../bootstrap make -j
cd ../../ ./autogen.sh ./configure --without-dbus --prefix=<install_path> make
If you want to link against libjamiclient and native client easiest way is to add to ./configure: --prefix=<prefix_path>
Do a little dance!
docker build --tag jami-daemon .
docker build --tag jami-daemon --build-arg config_args="--with-nodejs" .
autopoint not found: When using Homebrew, autopoint is not found even when gettext is installed, because symlinks are not created. Run: 'brew link --force gettext' to fix it.
Of course we love patches. And contributions. And spring rolls.
Development website / Bug Tracker:
Repositories are hosted on Gerrit, which we use for code review. It also contains the client subprojects:
Do not hesitate to join us and post comments, suggestions, questions and general feedback on the Jami mailing-list: https://lists.gnu.org/mailman/listinfo/jami
Copyright (C) 2004-2024 Savoir-faire Linux Inc.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.