build: Update for Qt 6, add --no-webengine switch, add Parabola.
* build.py (QT5_VERSION): (write_qt_conf): Remove (vestigial and not used anymore). (PACMAN_BASED_DISTROS): Add parabola. (ZYPPER_DEPENDENCIES): (ZYPPER_CLIENT_QT_DEPENDENCIES): (DNF_DEPENDENCIES): (DNF_CLIENT_QT_DEPENDENCIES): (APT_DEPENDENCIES): (APT_CLIENT_QT_DEPENDENCIES): (PACMAN_DEPENDENCIES): (PACMAN_CLIENT_QT_DEPENDENCIES): (OSX_DEPENDENCIES): (OSX_DEPENDENCIES_UNLINK): Update dependency list for Qt 6, and move lrc dependencies into client dependency lists. (ZYPPER_QT_WEBENGINE): (DNF_QT_WEBENGINE): (APT_QT_WEBENGINE): (PACMAN_QT_WEBENGINE): Move Qt WebEngine pacakge(s) into separate list, so that they can be conditionally included or excluded. (run_dependencies): Install daemon dependencies earlier than and separately from lrc and client dependencies, mainly so that the installation of daemon dependencies could still succeed on distros that don't currently have Qt 6 packaged. (run_dependencies): (run_install): (run_uninstall): (run_run): (main) (parse_args): Add new --gnome switch, only use client-gnome when this switch is given. Add new --macos switch, only use client-macos when this switch is given. Otherwise, default to using client-qt. Add new --no-webengine switch, disable using Qt WebEngine when this switch is given. Remove vestigial --qtver switch not used anymore. Also, replace a few mentions of "Ring" with "Jami" in strings. (validate_args): Test for minimum version of Windows 10 and do not require an exact match/equality. * scripts/build-windows.py (build_lrc): (build_client): (parsed_args): Remove vestigial and unneeded --qtver switch and its corresponding variable. Both make-lrc.py and make-client.py scripts in their corresponding repositories have an up-to-date default Qt version number, and specifying the version from this script is both unnecessary and defeats their purpose. * scripts/install.sh (QT6_MIN_VER): Rename to QT_MIN_VER. (qt6ver): Remove, not used anymore. (qt6path): Rename to qtpath. (sys_qt6ver): Rename to sys_qtver. (installed_qt6ver): Rename to installed_qtver. (required_qt6ver): Rename to required_qtver. (enable_webengine): New variable for tracking whether or not to use Qt WebEngine. Defaults to true. (getopts): Add w option; when given, set enable_webengine to false. (client_cmake_flags): Set -DWITH_WEBENGINE="${enable_webengine}". Note: as of the time of this commit, QLibraryInfo from the qt6-base package in Debian (and Ubuntu) currently has path issues and returns wrong paths, stemming from '/lib' being a symlink. This leads to "Qt WebEngine resources not found" errors as the WebEngine tries to find its needed resources at a wrong location '/share/qt6/resources'. The issue has already been reported by others and a proposed patch to fix it by disabling Qt's relocatable feature is pending review: https://bugs.launchpad.net/ubuntu/+source/qt6-base/+bug/1970057 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010575 In the mean time, using './build.py --install --no-webengine' to build Jami without Qt WebEngine works. Alternatively, using a custom build of Qt (such as our libqt-jami) that does not suffer from this issue would also work, using './build.py --install --qt=/usr/lib/libqt-jami' where '/usr/lib/libqt-jami' should be the prefix directory where the custom Qt build is installed. GitLab: #1434 Change-Id: Ie053522de19b33871a1082ce46f3d36380a8b5aa