Skip to content
Snippets Groups Projects
Commit c26393df authored by Amin Bandali's avatar Amin Bandali
Browse files

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
parent f39a5986
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment