From e74c88030200b56fb5053fa8b4733dfa63b1922b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Thu, 23 Dec 2021 11:48:14 -0500 Subject: [PATCH] misc: update INSTALL for Qt 6.2 Change-Id: I93ca7b6b66d650c3c3d361d9ce073ae028c8723d --- INSTALL | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/INSTALL b/INSTALL index f965b5f1..5892953d 100644 --- a/INSTALL +++ b/INSTALL @@ -7,6 +7,50 @@ Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. +## Disclaimer + +Because the LRC is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.2 is necessary. +This version is generally not packaged on a lot of platforms, and to control available plugins and such, we have our own Qt packaged (generated by https://review.jami.net/jami-project and available on https://jami.net on the distributions we support). +So, you will need to get Qt 6.2 first. For this, there is 3 methods: + +### Qt from https://jami.net (recommended) + +If your distribution is supported, we provide a Qt package (`libqt-jami`) on our repo. Follow instructions https://jami.net/download-jami-linux/ (but instead installing `jami` install `libqt-jami`). +The files will be installed in `/usr/lib/libqt-jami`. + +### Qt from your distribution + +If Qt 6.2 is available, you can use the packages from your distribution: + +It should be (For now qt5 only is packaged by distributions, so names can change). + +#### Dependencies, Debian based + +``` +sudo apt-get install cmake make doxygen g++ gettext libnotify-dev pandoc nasm libqrencode-dev \ + libnotify-dev libnm-dev \ + qtbase6-dev \ + qtmultimedia6-dev libqt6svg6-dev qtwebengine6-dev qtdeclarative6-dev \ + qtquickcontrols2-6-dev qml-module-qtquick2 qml-module-qtquick-controls \ + qml-module-qtquick-controls2 qml-module-qtquick-dialogs \ + qml-module-qtquick-layouts qml-module-qtquick-privatewidgets \ + qml-module-qtquick-shapes qml-module-qtquick-window2 \ + qml-module-qtquick-templates2 qml-module-qt-labs-platform \ + qml-module-qtwebengine qml-module-qtwebchannel \ + qml-module-qt-labs-qmlmodels +``` + +#### Dependencies, Fedora based + +``` +sudo dnf install qt6-qtsvg-devel qt6-qtwebengine-devel qt6-qtmultimedia-devel qt6-qtdeclarative-devel qt6-qtquickcontrols2-devel qt6-qtquickcontrols qrencode-devel NetworkManager-libnm-devel +``` + +### Build Qt from sources + +https://www.qt.io/product/qt6 + + Basic Installation ================== @@ -26,8 +70,10 @@ To install the appplication, type the following commands in a console, while in make -jx # where x is the number of core you have make install +(e.g. `-DCMAKE_PREFIX_PATH=/usr/lib/libqt-jami` if you use Qt from jami.net) + Explanation -================== +=========== This script will configure and prepare the compilation and installation of the program and correctly link it against Ring daemon. @@ -52,10 +98,10 @@ OS X Install # Install necessary tools: brew install cmake -brew install qt5 -export CMAKE_PREFIX_PATH=<path_to_qt5> +brew install qt6 +export CMAKE_PREFIX_PATH=<path_to_qt6> -hint: default install location with HomeBrew is /usr/local/Cellar/qt5 +hint: default install location with HomeBrew is /usr/local/Cellar/qt6 # First make sure you have built ring daemon for OS X. @@ -94,4 +140,4 @@ To regenerate strings for translations we use lupdate (within root of the projec lupdate ./src/ -source-language en -ts translations/lrc_en.ts -Hint: On OSX lupdate is installed with Qt in /usr/local/Cellar/qt5/5.5.0/bin/ when installed with HomeBrew +Hint: On OSX lupdate is installed with Qt in /usr/local/Cellar/qt6/6.2.0/bin/ when installed with HomeBrew -- GitLab