slackbuilds_ponce/libraries/qt5/README
Dave Woodfall 98648b51aa
libraries/qt5: Update README.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
2020-05-03 08:48:44 +07:00

134 lines
3.4 KiB
Text

Qt is a cross-platform C++ application framework. Qt's
primary feature is its rich set of widgets that provide
standard GUI functionality.
The following are optional dependencies that Qt will link
against if they are detected at build time:
libwebp, opus, ffmpeg, re2, snappy, libminizip, jsoncpp,
libinput, unixODBC, postgresql, SDL2, assimp, wayland,
OpenAL, protobuf(3?), argon2, and perhaps more.
============================================================
OPTIONS
To use Qt's built-in ccache option:
CCACHE=yes ./qt5.SlackBuild
To build the documentation:
DOCS=yes ./qt5.SlackBuild
(you will need the llvm package from extra/ to build
documentation)
To build the examples:
EXAMPLES=yes ./qt5.SlackBuild
To build support for proprietary media codecs:
PROPRIETARY_CODECS=yes ./qt5.SlackBuild
(this will produce a non-redistributable package in some
countries)
To disable support for pulseaudio:
PULSEAUDIO=no ./qt5.SlackBuild
(Qt will automatically detect if pulseaudio is not installed
at build time and disable it if it is missing.)
To NOT build qtwebengine (EXPERIMENTAL):
WEBENGINE=no ./qt5.SlackBuild
To use the gold linker:
LDGOLD=yes ./qt5.SlackBuild
This may speed up the build, but can take more RAM.
Combine any or all of the above.
============================================================
GENERAL NOTES
After upgrading Qt5 it is important to rebuild qt5ct too, if
it is installed, or some applications may not display or
function correctly.
There is a qt5-legacy (5.9.9) SlackBuild that is available
for older applications that do not run correctly with this
version. However it will not coexist with this version.
Please report any problems about applications that don't
work correctly to the Qt5 maintainer or to the mailing list.
============================================================
NOTES ON OPTIONS
* Using ccache should speed up subsequent rebuilds, but may
be slower for first time or one-off builds.
* Building the documentation and/or examples creates a
significantly larger package.
============================================================
BUILDING WITHOUT WEBENGINE
Building without webengine can speed up compilation.
If you have no intention of using the browser code, which
includes a chunk of 3rd party Google Chromium source, then
it may make sense to skip it and save yourself about 2/3 of
the build time, and knocks about 3G off the needed space.
The package version has _nowebengine appended to it for
clarity.
* Successfully tested so far without webengine (VERY quick
tests):
QMPlay2
qt5ct
qbittorrent-qt5
speedcrunch
qca-qt5
psi-plus
sddm
============================================================
TROUBLESHOOTING
If Qt5 fails to build, it may be worth using the following
steps.
1 Uninstall the old Qt5 package
2 Log out of root
3 Log back in as root
4 Build and install the new package
5 Log out of root
6 Log back in as root
7 Upgrade all other packages that depend on Qt5
The reasoning behind all the log outs/ins, is because Qt5
installs /etc/profile.d/qt5.sh that sets QT5DIR and adds
QT5DIR/bin to your $PATH when you log in (there's a similar
file for csh.) Even though the old Qt5 is removepkg'd, those
settings are *still there* until you log out.
You can see with a test (assuming bash or a zsh type shell):
env | grep -i qt5
If that command is used before step 4, you shouldn't see
anything qt5 related in PATH and QT5DIR shouldn't exist.