デスクトップ版LinphoneでPost Quantumオプションを有効化してビルド
デスクトップ版Linphoneのビルドオプションについては下記テーブルを参照して下さい。AppImageによるパッケージをビルドします。AppImageによるアプリの動作条件は、Linuxディストリビューションに依存しないため、ビルド環境も、どのディストリビューションを利用しても構いません。
下記オプションの ENABLE_APP_PACKAGING(AppImage)
と ENABLE_PQCRYPTO(Post Quantum)
を指定してビルドします。
Options
Options | Description | Default value |
---|---|---|
ENABLE_APP_LICENSE | Enable the license in packages. | YES |
ENABLE_APP_PACKAGING | Enable packaging. Package will be deployed in OUTPUT/packages |
NO |
ENABLE_APP_PDF_VIEWER | Enable PDF viewer. Need Qt PDF module. | YES |
ENABLE_APP_WEBVIEW | Enable webview for accounts. The Webview engine must be deployed, it takes a large size. | NO |
ENABLE_APP_PACKAGE_ROOTCA | Embed the rootca file (concatenation of all root certificates published by mozilla) into the package | YES |
ENABLE_BUILD_APP_PLUGINS | Enable the build of plugins | YES |
ENABLE_BUILD_EXAMPLES | Enable the build of examples | NO |
ENABLE_BUILD_VERBOSE | Enable the build generation to be more verbose | NO |
ENABLE_DAEMON | Enable the linphone daemon interface. | NO |
ENABLE_PQCRYPTO | Enable post quantum ZRTP. | NO |
ENABLE_STRICT | Build with strict compilator flags e.g. -Wall -Werror | NO |
ENABLE_TESTS | Build with testing binaries of SDK | NO |
ENABLE_TESTS_COMPONENTS | Build libbctoolbox-tester | NO |
ENABLE_TOOLS | Enable tools of SDK | NO |
ENABLE_UNIT_TESTS | Enable unit test of SDK. | NO |
ENABLE_UPDATE_CHECK | Enable update check. | YES |
LINPHONE_SDK_MAKE_RELEASE_FILE_URL | Make a RELEASE file that work along check_version and use this URL | “” |
ソースコードをGitLabからダウンロードします。
$ git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git --recursive
Dockerコンテナ内にビルド環境を構築しコンテナ内でビルドします。デスクトップ版Linphoneのソースには、ビルド環境を構築するためのDockerファイル(docker-files)が含まれていますが、このままでは使えません(Debianの場合、バージョンが古いことによるパッケージのアップデート不具合、設定したPython仮想環境のパスでインストール作業をする必要あり)。
ダウンロードしたフォルダに含まれる linphone-desktop/linphone-sdk/bc-dev-debian12
をベースにした新規Dockerファイル bc-dev-debian-12-appimage
を linphone-desktop/docker-files
内に作成します。
内容は linphone-desktop/docker-files/bc-dev-debian9-appimage
の中身を変更したものです。
linphone-desktop/docker-files/bc-dev-debian12-appimage
(変更箇所のみ記載)
# build from linphone-desktop/linphone-sdk/docker-files/bc-dev-debian12
FROM gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian12:20230706_add_deps_for_av1
.....
.....
# Manual
RUN sudo /opt/bc/pip-packages/bin/pip install aqtinstall
RUN sudo /opt/bc/pip-packages/bin/python3 -m aqt install $QT_VERSION linux desktop -O /opt/Qt -m $QT_MODULES
.....
.....
ENV Qt5_DIR=/opt/Qt/$QT_VERSION/gcc_64/lib/cmake
ENV PATH=/opt/Qt/$QT_VERSION/gcc_64/bin:$PATH
ENV PS1='\[\e[34m\]\u@bc-dev-debian12>\[\e[0m\] '
CMD bash
上記Dockerファイルから開発環境イメージを作成
注)linphone-desktopディレクトリで実行すること
$ docker build -f docker-files/bc-dev-debian12-appimage --no-cache -t linphone-sdk-desktop:debian12 --rm .
上記イメージからコンテナを稼働
注)linphone-desktopディレクトリで実行すること
$ docker run --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined --name linphone-desktop-sdk -v $PWD:/home/bc -it linphone-sdk-desktop:debian12
上記コマンドについては下記も参照願います。
コンテナ内でビルド
# mkdir build
# cd build
# cmake .. -DENABLE_APP_PACKAGING=YES -DENABLE_PQCRYPTO=YES -DCMAKE_BUILD_PARALLEL_LEVEL=10 -DCMAKE_BUILD_TYPE=RelWithDebInfo
# cmake --build . --target install --parallel 10 --config RelWithDebInfo
AppImageパッケージが build/OUTPUT/Packages
に作成されるので、これを任意の場所に移動して実行権を付与して起動して下さい。