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