source: x/lib/qt5.xml@ 1daaab6d

qt5new
Last change on this file since 1daaab6d was 1daaab6d, checked in by Pierre Labastie <pierre.labastie@…>, 2 years ago

Merge branch 'trunk' into qt5new

  • Property mode set to 100644
File size: 52.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7
8 <!ENTITY qt5-download-http "&qt5-url;/">
9 <!ENTITY qt5-download-ftp " ">
10 <!ENTITY qt5-md5sum "See below">
11 <!ENTITY qt5-size "11 MB for basic modules, 59 MB for qtwebengine,">
12 <!ENTITY qt5-buildsize "930 MB (23 MB installed) for basic modules">
13 <!ENTITY qt5-time "Using parallelism=4: 3.4 SBU for basic modules">
14]>
15
16<sect1 id="qt5" xreflabel="Qt-&qt5-version;">
17 <?dbhtml filename="qt5.html" ?>
18
19 <sect1info>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Qt-&qt5-version; Modules</title>
24
25 <indexterm zone="qt5">
26 <primary sortas="a-Qt">Qt Modules</primary>
27 </indexterm>
28
29 <para>
30 After the <xref linkend="qtbase"/> has been installed, various modules
31 can be added to provide more functionalities. They are divided in several
32 groups, each of which depends on the precedent:
33 </para>
34
35 <itemizedlist spacing="compact">
36 <listitem>
37 <para>
38 <xref linkend="qt-basic"/> are used in almost all
39 <application>Qt5</application> based applications, and
40 must be built first.
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 <xref linkend="qt-kde"/> are needed for
46 <xref linkend="kf5-frameworks"/> and <xref linkend="plasma5-build"/>.
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 <xref linkend="qtwebengine"/> is a huge module that integrates
52 <application>chromium</application>'s web capabilities into
53 <application>Qt5</application>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 <xref linkend="qt-miscellaneous"/> are not needed for building
59 packages in the book, but can be built for a complete installation
60 of <application>Qt5</application>
61 </para>
62 </listitem>
63 </itemizedlist>
64
65 &lfs110a_checked;
66
67 <bridgehead renderas="sect3">Package Information</bridgehead>
68 <itemizedlist spacing="compact">
69 <listitem>
70 <para>
71 Download (HTTP): <ulink url="&qt5-download-http;"/>
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Download (FTP): <ulink url="&qt5-download-ftp;"/>
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Download MD5 sum: &qt5-md5sum;
82 </para>
83 </listitem>
84 <listitem>
85 <para>
86 Download size: &qt5-size;
87 </para>
88 </listitem>
89 <listitem>
90 <para>
91 Estimated disk space required: &qt5-buildsize;
92 </para>
93 </listitem>
94 <listitem>
95 <para>
96 Estimated build time: &qt5-time;
97 </para>
98 </listitem>
99 </itemizedlist>
100
101 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
102 <itemizedlist spacing="compact">
103 <listitem>
104 <para>
105 Required patch:
106 <ulink url="&patch-root;/qt-everywhere-src-&qt5-version;-CVE-2021-3481-1.patch"/>
107 </para>
108 </listitem>
109 </itemizedlist>
110
111<!--
112 <bridgehead renderas="sect3">Qt5 Dependencies</bridgehead>
113
114 <bridgehead renderas="sect4">Required</bridgehead>
115 <para role="required">
116 <xref linkend="xorg7-lib"/>
117 </para>
118
119 <bridgehead renderas="sect4">Recommended</bridgehead>
120 <para role="recommended">
121 <xref linkend="alsa-lib"/>,
122 <xref linkend="make-ca"/>,
123 <xref linkend="cups"/>,
124 <xref linkend="glib2"/>,
125 <xref linkend="gst10-plugins-base"/> (QtMultimedia backend),
126 <xref linkend="harfbuzz"/>,
127 <xref linkend="icu"/>,
128 <xref linkend="jasper"/>,
129 <xref linkend="libjpeg"/>,
130 <xref linkend="libmng"/>,
131 <xref linkend="libpng"/>,
132 <xref linkend="libtiff"/>,
133 <xref linkend="libwebp"/>,
134 <xref linkend="libxkbcommon"/>,
135 <xref linkend="mesa"/>,
136 <xref linkend="mitkrb"/>,
137 <xref linkend="mtdev"/>,
138 <xref linkend="pcre2"/>,
139 <xref linkend="sqlite"/>,
140 <xref linkend="wayland"/> (<application>Mesa</application>
141 must be built with <application>Wayland</application> EGL
142 backend),
143 <xref linkend="xcb-util-image"/>,
144 <xref linkend="xcb-util-keysyms"/>,
145 <xref linkend="xcb-util-renderutil"/>, and
146 <xref linkend="xcb-util-wm"/>
147 </para>
148
149 <bridgehead renderas="sect4">Optional</bridgehead>
150 <para role="optional">
151 <xref role="runtime" linkend="bluez"/> (for sdpscanner, and at runtime for
152 QtConnectivity module),
153 <xref linkend="ibus"/>,
154 <xref linkend="libinput"/>, <!- - needs -libinput switch - ->
155 <xref linkend="mariadb"/>
156 or <ulink url="http://www.mysql.com/">MySQL</ulink>,
157 <xref linkend="pciutils"/> (required for QtWebEngine),
158 <xref linkend="postgresql"/>,
159 <xref linkend="python2"/> (required for QtWebEngine),
160 <xref linkend="pulseaudio"/>,
161 <xref linkend="sdl2"/>,
162 <xref linkend="unixodbc"/>,
163 <ulink url="https://www.assimp.org/">assimp</ulink>,
164 <ulink url="http://www.festvox.org/flite/">Flite</ulink>,
165 <ulink url="http://www.firebirdsql.org/">Firebird</ulink>,
166 <ulink url="http://www.freetds.org/">FreeTDS</ulink>,
167 <ulink url="https://libproxy.github.io/libproxy/">libproxy</ulink>,
168 <ulink url="https://openal.org/">OpenAL</ulink>,
169 <ulink url="https://freebsoft.org/speechd/">speech-dispatcher</ulink>,
170 <ulink url="http:///www.tslib.org/">tslib</ulink>, and
171 <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>
172 </para>
173
174 <!- - Many of the dependencies in the qmake/configure output do not apply
175 to Linux-based platforms. I've selected the ones that do and put
176 them in as optional dependencies. -renodr - ->
177 <para condition="html" role="usernotes">
178 User Notes: <ulink url="&blfs-wiki;/qt5"/>
179 </para>
180-->
181 <sect2>
182 <title>Creating the module list and utility functions</title>
183
184 <para>
185 Create the list of modules in the proper order as follows:
186 </para>
187
188<screen><userinput>cat &gt; qt5-submodules-&qt5-version;.md5 &lt;&lt; "EOF"
189<literal># Begin basic group
190739403634e1326a3d52902a835015a4b qttools-everywhere-src-5.15.2.tar.xz
191c0f5c1c2cc1b66e56ce4ef13a2b7093a qtsvg-everywhere-src-5.15.2.tar.xz
19292cf72015788bb4dcab14494f2835b32 qtx11extras-everywhere-src-5.15.2.tar.xz
19326577fbbe0d011b7034bca3c64bc38ae qtwayland-everywhere-src-5.15.2.tar.xz
194# End basic group
195# Begin KDE group
196db3c185d6f13fc60828f8f9f20e092c4 qtdeclarative-everywhere-src-5.15.2.tar.xz
1972abc5e7b8e6b4a80d7533daad37749e9 qtquickcontrols2-everywhere-src-5.15.2.tar.xz
1982ae1ef858425aa71d62b15467a84b022 qtgraphicaleffects-everywhere-src-5.15.2.tar.xz
199ef96631d72399cfa495f223ef21bb039 qtxmlpatterns-everywhere-src-5.15.2.tar.xz
200# TODO
201# End KDE group
202# Begin qtwebengine
203c88cbe3158feb20c4feb3d54262feb23 qtwebengine-everywhere-src-5.15.2.tar.xz
204# End qtwebengine
205# Begin optional group
206# TODO
207# End optional group</literal>
208EOF</userinput></screen>
209
210 <para>
211 Next create two utility functions, one for switching to user
212 <systemitem class="username">root</systemitem>, the other for
213 module building:
214 </para>
215
216<screen><userinput>as_root() {
217 if [ "$EUID" = 0 ]; then $*
218 elif [ -x /usr/bin/sudo ]; then sudo -E $*
219 else su -c \\"$*\\"
220 fi
221}
222
223export -f as_root
224
225module_build() {
226 # MD5_ENTRY contains the md5sum entry from the .md5 file for this module
227 echo $MD5_ENTRY | {
228 read md5 tarball
229
230 # download
231 wget &qt5-download-http;$tarball
232 md5sum -c - &lt;&lt;&lt; "$MD5_ENTRY" || exit 1
233
234 packagedir=${tarball%.tar*}
235
236 tar -xf $tarball
237 pushd $packagedir
238 # OPTIONS contains the qmake options
239 if [ -n "$OPTIONS" ]; then
240 qmake -- $OPTIONS
241 else
242 qmake
243 fi
244 make
245 as_root make install
246 if type -p post_install; then post_install; fi
247 popd
248
249 rm -rf $packagedir
250 }
251 as_root /sbin/ldconfig
252
253 # Remove references to the build directory from installed library
254 # dependency (prl) files:
255 as_root find $QT5DIR/ -name \*.prl \
256 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
257}
258
259export -f module_build</userinput></screen>
260 </sect2>
261
262 <sect2 id="qt-basic" xreflabel="Basic Qt5 Modules">
263 <title>Basic Qt5 Modules</title>
264
265 <para role="required">
266 The modules in this group only depend on <xref linkend="qtbase"/>
267 and a properly set <envar>QT5DIR</envar> environment variable.
268 </para>
269
270 <para>
271 Install the basic modules with the following instructions:
272 </para>
273
274<screen><userinput>( # start a subshell
275set -e # exit the subshell in case of error
276
277unset OPTIONS
278sed -n "/Begin basic/,/End basic/p" qt5-submodules-&qt5-version;.md5 | \
279 while read MD5_ENTRY; do
280 if [ -z "${MD5_ENTRY%\#*}" ]; then continue; fi
281 case "$MD5_ENTRY" in
282 *qttools*)
283 post_install(){
284 QT5BINDIR=$QT5DIR/bin
285
286 as_root sh &lt;&lt; ROOT_EOF
287 install -v -dm755 /usr/share/pixmaps/
288
289 install -v -Dm644 src/assistant/assistant/images/assistant-128.png \
290 /usr/share/pixmaps/assistant-qt5.png
291
292 install -v -Dm644 src/designer/src/designer/images/designer.png \
293 /usr/share/pixmaps/designer-qt5.png
294
295 install -v -Dm644 src/linguist/linguist/images/icons/linguist-128-32.png \
296 /usr/share/pixmaps/linguist-qt5.png
297
298 install -v -Dm644 src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
299 /usr/share/pixmaps/qdbusviewer-qt5.png
300
301 install -dm755 /usr/share/applications
302
303 cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; EOF
304[Desktop Entry]
305Name=Qt5 Assistant
306Comment=Shows Qt5 documentation and examples
307Exec=$QT5BINDIR/assistant
308Icon=assistant-qt5.png
309Terminal=false
310Encoding=UTF-8
311Type=Application
312Categories=Qt;Development;Documentation;
313EOF
314
315 cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; EOF
316[Desktop Entry]
317Name=Qt5 Designer
318GenericName=Interface Designer
319Comment=Design GUIs for Qt5 applications
320Exec=$QT5BINDIR/designer
321Icon=designer-qt5.png
322MimeType=application/x-designer;
323Terminal=false
324Encoding=UTF-8
325Type=Application
326Categories=Qt;Development;
327EOF
328
329 cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; EOF
330[Desktop Entry]
331Name=Qt5 Linguist
332Comment=Add translations to Qt5 applications
333Exec=$QT5BINDIR/linguist
334Icon=linguist-qt5.png
335MimeType=text/vnd.trolltech.linguist;application/x-linguist;
336Terminal=false
337Encoding=UTF-8
338Type=Application
339Categories=Qt;Development;
340EOF
341
342 cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; EOF
343[Desktop Entry]
344Name=Qt5 QDbusViewer
345GenericName=D-Bus Debugger
346Comment=Debug D-Bus applications
347Exec=$QT5BINDIR/qdbusviewer
348Icon=qdbusviewer-qt5.png
349Terminal=false
350Encoding=UTF-8
351Type=Application
352Categories=Qt;Development;Debugger;
353EOF
354ROOT_EOF
355 }
356 export -f post_install ;;
357
358 *) unset -f post_install ;;
359 esac
360
361 module_build
362
363done
364# Some packages such as vlc look for certain
365# executables with a -qt5 suffix:
366for file in lconvert lrelease lupdate; do
367 as_root ln -sfrvn $QT5DIR/bin/$file /usr/bin/$file-qt5
368done
369
370)</userinput></screen>
371
372 <sect3 role="content">
373 <title>Contents of basic modules</title>
374
375 <segmentedlist>
376 <segtitle>Installed Programs</segtitle>
377 <segtitle>Installed Libraries</segtitle>
378 <segtitle>Installed Directories</segtitle>
379
380 <seglistitem>
381 <seg>
382 assistant,
383 designer,
384 lconvert,
385 linguist,
386 lprodump,
387 lrelease,
388 lrelease-pro,
389 lupdate,
390 lupdate-pro,
391 pixeltool,
392 qcollectiongenerator,
393 qdbus,
394 qdbusviewer,
395 qdoc,
396 qhelpgenerator,
397 qtattributionsscanner,
398 qtdiag,
399 qtpaths,
400 qtplugininfo, and
401 qtwaylandscanner
402 </seg>
403 <seg>
404 libQt5DesignerComponents.so,
405 libQt5Designer.so,
406 libQt5Help.so,
407 libQt5Svg.so,
408 libQt5WaylandClient.so,
409 libQt5WaylandCompositor.so, and
410 libQt5X11Extras.so
411 </seg>
412 <seg>
413 $QT5DIR/phrasebooks,
414 $QT5DIR/include/{QtUiTools,QtHelp,QtDesigner,QtX11Extras,QtSvg},
415 $QT5DIR/include/{QtWaylandCompositor,QtWaylandClient},
416 $QT5DIR/include/{QtDesignerComponents,QtUiPlugin},
417 $QT5DIR/lib/cmake/{Qt5AttributionsScannerTools,Qt5Help,Qt5Designer},
418 $QT5DIR/lib/cmake/{Qt5X11Extras,Qt5Svg,Qt5UiTools,Qt5DocTools},
419 $QT5DIR/lib/cmake/{Qt5WaylandCompositor,Qt5WaylandClient},
420 $QT5DIR/lib/cmake/{Qt5DesignerComponents,Qt5UiPlugin},
421 $QT5DIR/lib/cmake/Qt5LinguistTools,
422 $QT5DIR/plugins/wayland-graphics-integration-client,
423 $QT5DIR/plugins/wayland-graphics-integration-server,
424 $QT5DIR/plugins/wayland-decoration-client, and
425 $QT5DIR/plugins/iconengines
426 </seg>
427 </seglistitem>
428 </segmentedlist>
429
430 <variablelist>
431 <bridgehead renderas="sect4">Short Descriptions</bridgehead>
432 <?dbfo list-presentation="list"?>
433 <?dbhtml list-presentation="table"?>
434
435 <varlistentry id="lconvert-qt5">
436 <term><command>lconvert</command></term>
437 <listitem>
438 <para>
439 is part of Qt5's Linguist tool chain. It can be used as a
440 standalone tool to convert and filter translation data files.
441 </para>
442 <indexterm zone="qt5 lconvert-qt5">
443 <primary sortas="b-lconvert-qt5">lconvert</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="linguist-qt5">
449 <term><command>linguist</command></term>
450 <listitem>
451 <para>
452 provides support for translating applications into
453 local languages.
454 </para>
455 <indexterm zone="qt5 linguist-qt5">
456 <primary sortas="b-linguist-qt5">linguist</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 <varlistentry id="lrelease-qt5">
462 <term><command>lrelease</command></term>
463 <listitem>
464 <para>
465 is a simple command line tool. It reads XML-based translation
466 file in TS format and produces message files used by the
467 application.
468 </para>
469 <indexterm zone="qt5 lrelease-qt5">
470 <primary sortas="b-lrelease-qt5">lrelease</primary>
471 </indexterm>
472 </listitem>
473 </varlistentry>
474
475 <varlistentry id="lrelease-pro">
476 <term><command>lrelease-pro</command></term>
477 <listitem>
478 <para>
479 extracts project information from qmake projects and passes
480 it to lrelease.
481 </para>
482 <indexterm zone="qt5 lrelease-pro">
483 <primary sortas="b-lrelease-pro">lrelease-pro</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="lupdate-qt5">
489 <term><command>lupdate</command></term>
490 <listitem>
491 <para>
492 finds the translatable
493 strings in the specified source, header and Qt Designer
494 interface files, and stores the extracted messages in
495 translation files to be processed by lrelease.
496 </para>
497 <indexterm zone="qt5 lupdate-qt5">
498 <primary sortas="b-lupdate-qt5">lupdate</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502
503 <varlistentry id="lupdate-pro">
504 <term><command>lupdate-pro</command></term>
505 <listitem>
506 <para>
507 reads a Qt project file, an passes the collected information
508 to lupdate.
509 </para>
510 <indexterm zone="qt5 lupdate-pro">
511 <primary sortas="b-lupdate-pro">lupdate-pro</primary>
512 </indexterm>
513 </listitem>
514 </varlistentry>
515
516 <varlistentry id="pixeltool-qt5">
517 <term><command>pixeltool</command></term>
518 <listitem>
519 <para>
520 is a desktop magnifier and as you move your mouse around
521 the screen it will show the magnified contents in its window.
522 </para>
523 <indexterm zone="qt5 pixeltool-qt5">
524 <primary sortas="b-pixeltool-qt5">pixeltool</primary>
525 </indexterm>
526 </listitem>
527 </varlistentry>
528
529 <varlistentry id="qcollectiongenerator-qt5">
530 <term><command>qcollectiongenerator</command></term>
531 <listitem>
532 <para>
533 processes and converts Qt help files.
534 </para>
535 <indexterm zone="qt5 qcollectiongenerator-qt5">
536 <primary sortas="b-qcollectiongenerator-qt5">qcollectiongenerator-qt5</primary>
537 </indexterm>
538 </listitem>
539 </varlistentry>
540
541 <varlistentry id="qdbus-qt5">
542 <term><command>qdbus</command></term>
543 <listitem>
544 <para>
545 lists available services, object paths, methods, signals, and
546 properties of objects on a bus.
547 </para>
548 <indexterm zone="qt5 qdbus-qt5">
549 <primary sortas="b-qdbus-qt5">qdbus</primary>
550 </indexterm>
551 </listitem>
552 </varlistentry>
553
554 <varlistentry id="qdbusviewer-qt5">
555 <term><command>qdbusviewer</command></term>
556 <listitem>
557 <para>
558 is a graphical D-Bus browser.
559 </para>
560 <indexterm zone="qt5 qdbusviewer-qt5">
561 <primary sortas="b-qdbusviewer-qt5">qdbusviewer</primary>
562 </indexterm>
563 </listitem>
564 </varlistentry>
565
566 <varlistentry id="qdoc-qt5">
567 <term><command>qdoc</command></term>
568 <listitem>
569 <para>
570 is a tool used by <application>Qt</application> Developers to
571 generate documentation for software projects.
572 </para>
573 <indexterm zone="qt5 qdoc-qt5">
574 <primary sortas="b-qdoc-qt5">qdoc</primary>
575 </indexterm>
576 </listitem>
577 </varlistentry>
578
579 <varlistentry id="qhelpgenerator-qt5">
580 <term><command>qhelpgenerator</command></term>
581 <listitem>
582 <para>
583 is a tool used to generate a <application>Qt</application>
584 compressed help file.
585 </para>
586 <indexterm zone="qt5 qhelpgenerator-qt5">
587 <primary sortas="b-qhelpgenerator-qt5">qhelpgenerator</primary>
588 </indexterm>
589 </listitem>
590 </varlistentry>
591
592 <varlistentry id="qtattributionsscanner-qt5">
593 <term><command>qtattributionsscanner</command></term>
594 <listitem>
595 <para>
596 processes qt_attribution.json files in Qt sources.
597 </para>
598 <indexterm zone="qt5 qtattributionsscanner-qt5">
599 <primary sortas="b-qtattributionsscanner-qt5">qtattributionsscanner</primary>
600 </indexterm>
601 </listitem>
602 </varlistentry>
603
604 <varlistentry id="qtdiag-qt5">
605 <term><command>qtdiag</command></term>
606 <listitem>
607 <para>
608 is a tool for reporting diagnostic information about Qt and its
609 environment.
610 </para>
611 <indexterm zone="qt5 qtdiag-qt5">
612 <primary sortas="b-qtdiag-qt5">qtdiag</primary>
613 </indexterm>
614 </listitem>
615 </varlistentry>
616
617 <varlistentry id="qtpaths-qt5">
618 <term><command>qtpaths</command></term>
619 <listitem>
620 <para>
621 is a tool to query Qt path information.
622 </para>
623 <indexterm zone="qt5 qtpaths-qt5">
624 <primary sortas="b-qtpaths-qt5">qtpaths</primary>
625 </indexterm>
626 </listitem>
627 </varlistentry>
628
629 <varlistentry id="qtplugininfo">
630 <term><command>qtplugininfo</command></term>
631 <listitem>
632 <para>
633 dumps meta-data about Qt plugins in JSON format.
634 </para>
635 <indexterm zone="qt5 qtplugininfo">
636 <primary sortas="b-qtplugininfo">qtplugininfo</primary>
637 </indexterm>
638 </listitem>
639 </varlistentry>
640
641 </variablelist>
642
643 </sect3>
644 </sect2>
645
646 <sect2 id="qt-kde" xreflabel="Modules Needed for KDE">
647 <title>Modules Needed for KDE</title>
648 <para>
649 Install the modules needed for KDE with the following instructions:
650 </para>
651 </sect2>
652
653 <sect2 id="qtwebengine" xreflabel="QtWebEngine">
654 <title>QTWebEngine</title>
655 <para>
656 Install QtWebEngine with the following instructions:
657 </para>
658 </sect2>
659
660 <sect2 id="qt-miscellaneous" xreflabel="Other Modules">
661 <title>Other Modules</title>
662 <para>
663 Install the remaining modules with the following instructions:
664 </para>
665 </sect2>
666
667 <sect2 role="installation">
668 <title>Installation of Qt5</title>
669
670 <warning>
671 <para>
672 If <application>Qt5</application> is being reinstalled into the
673 same directory as an existing instance, run the commands done by
674 <systemitem class="username">root</systemitem>, such as
675 <command>make install</command>, from a console or non-Qt5 based
676 window manager. It overwrites <application>Qt5</application>
677 libraries that should not be in use during the install process.
678 </para>
679 </warning>
680
681 <caution>
682 <para>
683 If you did not install some of the recommended dependencies, examine
684 <command>./configure --help</command> output to check how to disable
685 them or use internal versions bundled in the source tarball.
686 </para>
687 </caution>
688
689 <note>
690 <para>
691 The build time and space required for the full
692 <application>Qt5</application> is quite long. The instructions below
693 do not build the tutorials and examples. Removing the
694 <parameter>-nomake</parameter> line will create a complete build.
695 </para>
696 </note>
697
698 <note>
699 <para>
700 The BLFS editors do not recommend installing <application>Qt5</application>
701 into the /usr hierarchy because it becomes difficult to find
702 components and to update to a new version. If you do want to install
703 <application>Qt5</application> in /usr, the directories need to
704 be specified explicitly. In this case, set QT5PREFIX=/usr and add
705 the following to the configure arguments below:
706 </para>
707
708<screen role="nodump"><userinput> -archdatadir /usr/lib/qt5 \
709 -bindir /usr/bin \
710 -plugindir /usr/lib/qt5/plugins \
711 -importdir /usr/lib/qt5/imports \
712 -headerdir /usr/include/qt5 \
713 -datadir /usr/share/qt5 \
714 -docdir /usr/share/doc/qt5 \
715 -translationdir /usr/share/qt5/translations \
716 -examplesdir /usr/share/doc/qt5/examples</userinput></screen>
717 </note>
718
719 <para>
720 First apply a patch to fix an Out Of Bounds read in QtSVG:
721 </para>
722
723<screen><userinput remap="pre">patch -Np1 -i ../qt-everywhere-src-&qt5-version;-CVE-2021-3481-1.patch</userinput></screen>
724
725 <para>
726 Next fix some issues using gcc-11:
727 </para>
728
729<screen><userinput>sed -i '/utility/a #include &lt;limits&gt;' qtbase/src/corelib/global/qglobal.h &amp;&amp;
730sed -i '/string/a #include &lt;limits&gt;' qtbase/src/corelib/global/qfloat16.h &amp;&amp;
731sed -i '/qbytearray/a #include &lt;limits&gt;' qtbase/src/corelib/text/qbytearraymatcher.h &amp;&amp;
732sed -i '/type_traits/a #include &lt;limits&gt;' qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h</userinput></screen>
733
734 <para>
735 Install <application>Qt5</application> by running the following commands:
736 </para>
737
738<screen revision="sysv"><userinput>./configure -prefix $QT5PREFIX \
739 -sysconfdir /etc/xdg \
740 -confirm-license \
741 -opensource \
742 -dbus-linked \
743 -openssl-linked \
744 -system-harfbuzz \
745 -system-sqlite \
746 -nomake examples \
747 -no-rpath \
748 -syslog \
749 -skip qtwebengine &amp;&amp;
750make</userinput></screen>
751
752<screen revision="systemd"><userinput>./configure -prefix $QT5PREFIX \
753 -sysconfdir /etc/xdg \
754 -confirm-license \
755 -opensource \
756 -dbus-linked \
757 -openssl-linked \
758 -system-harfbuzz \
759 -system-sqlite \
760 -nomake examples \
761 -no-rpath \
762 -journald \
763 -skip qtwebengine &amp;&amp;
764make</userinput></screen>
765
766 <para>
767 This package does not come with a test suite.
768 </para>
769
770 <para>
771 Now, as the <systemitem class="username">root</systemitem> user:
772 </para>
773
774<screen role="root"><userinput>make install</userinput></screen>
775
776 <!-- EDITORS NOTE: This package uses INSTALL_ROOT= instead of DESTDIR= for
777 installing in a temporary directory. -->
778
779 <para>
780 Remove references to the build directory from installed library
781 dependency (prl) <!--and profile include (pri)--> files by running the following
782 command as the <systemitem class="username">root</systemitem> user:
783 </para>
784
785<screen role="root"><userinput>find $QT5PREFIX/ -name \*.prl \
786 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
787
788 <para>
789 Install images and create the menu entries for installed applications.
790 The <envar>QT5BINDIR</envar> variable is used here to point to the
791 directory for the executable programs. If you have changed the bindir
792 above, <envar>QT5BINDIR</envar> will need to be adjusted below. Be sure
793 that the <envar>QT5BINDIR</envar> variable is defined in root's
794 environment and as the <systemitem class="username">root</systemitem>
795 user:
796 </para>
797
798<screen role="root"><userinput>QT5BINDIR=$QT5PREFIX/bin
799
800install -v -dm755 /usr/share/pixmaps/ &amp;&amp;
801
802install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
803 /usr/share/pixmaps/assistant-qt5.png &amp;&amp;
804
805install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
806 /usr/share/pixmaps/designer-qt5.png &amp;&amp;
807
808install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
809 /usr/share/pixmaps/linguist-qt5.png &amp;&amp;
810
811install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
812 /usr/share/pixmaps/qdbusviewer-qt5.png &amp;&amp;
813
814install -dm755 /usr/share/applications &amp;&amp;
815
816cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; EOF
817<literal>[Desktop Entry]
818Name=Qt5 Assistant
819Comment=Shows Qt5 documentation and examples
820Exec=$QT5BINDIR/assistant
821Icon=assistant-qt5.png
822Terminal=false
823Encoding=UTF-8
824Type=Application
825Categories=Qt;Development;Documentation;</literal>
826EOF
827
828cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; EOF
829<literal>[Desktop Entry]
830Name=Qt5 Designer
831GenericName=Interface Designer
832Comment=Design GUIs for Qt5 applications
833Exec=$QT5BINDIR/designer
834Icon=designer-qt5.png
835MimeType=application/x-designer;
836Terminal=false
837Encoding=UTF-8
838Type=Application
839Categories=Qt;Development;</literal>
840EOF
841
842cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; EOF
843<literal>[Desktop Entry]
844Name=Qt5 Linguist
845Comment=Add translations to Qt5 applications
846Exec=$QT5BINDIR/linguist
847Icon=linguist-qt5.png
848MimeType=text/vnd.trolltech.linguist;application/x-linguist;
849Terminal=false
850Encoding=UTF-8
851Type=Application
852Categories=Qt;Development;</literal>
853EOF
854
855cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; EOF
856<literal>[Desktop Entry]
857Name=Qt5 QDbusViewer
858GenericName=D-Bus Debugger
859Comment=Debug D-Bus applications
860Exec=$QT5BINDIR/qdbusviewer
861Icon=qdbusviewer-qt5.png
862Terminal=false
863Encoding=UTF-8
864Type=Application
865Categories=Qt;Development;Debugger;</literal>
866EOF</userinput></screen>
867
868 <para>
869 Some packages such as <xref linkend='vlc'/> look for certain
870 executables with a -qt5 suffix. Run the following command as the
871 <systemitem class="username">root</systemitem> user
872 to create the necessary symlinks:
873 </para>
874
875<screen role="root"><userinput>for file in moc uic rcc qmake lconvert lrelease lupdate; do
876 ln -sfrvn $QT5BINDIR/$file /usr/bin/$file-qt5
877done</userinput></screen>
878
879 </sect2>
880
881 <sect2 role="commands">
882 <title>Command Explanations</title>
883
884 <para>
885 <command>sed ...</command>: Allows using
886 <application>Python 3</application> instead of <application>Python
887 2</application>. This command destroys the build for QtWebEngine, so do
888 not use it if you remove the <parameter>-skip qtwebengine</parameter>
889 switch.
890 </para>
891
892 <para>
893 <parameter>-confirm-license</parameter>: Accept license
894 without prompting user during configuration.
895 </para>
896
897 <para>
898 <parameter>-opensource</parameter>: Install the opensource
899 version of <application>Qt</application>.
900 </para>
901
902 <para>
903 <parameter>-nomake examples</parameter>: This switch
904 disables building of the example programs included
905 in the source tarball. Remove it if you want to build
906 them.
907 </para>
908
909 <para>
910 <parameter>-system-sqlite</parameter>: This switch enables use
911 of the system version of <application>SQLite</application>.
912 </para>
913
914 <para>
915 <parameter>-dbus-linked -openssl-linked</parameter>: These
916 switches enable explicit linking of the
917 <application>D-Bus</application> and
918 <application>OpenSSL</application> libraries into
919 <application>Qt5</application> libraries instead of
920 <command>dlopen()</command>-ing them.
921 </para>
922
923 <para revision="sysv">
924 <parameter>-syslog</parameter>: This switch allows to send Qt messages
925 to the <command>syslog</command> logging system.
926 </para>
927
928 <para revision="systemd">
929 <parameter>-journald</parameter>: This switch allows to send Qt messages
930 to the <command>journald</command> logging system.
931 </para>
932
933 <para>
934 <parameter>-skip qtwebengine</parameter>: This switch disables building
935 the QtWebEngine. <!--The BLFS editors have chosen to build <xref
936 linkend="qtwebengine"/> separately.-->
937 </para>
938
939 <para>
940 <parameter>-system-harfbuzz</parameter>: This switch enables use
941 of the system version of <application>Harfbuzz</application>.
942 </para>
943
944 </sect2>
945
946 <sect2 role="configuration">
947 <title>Configuring Qt5</title>
948
949 <sect3 id="qt5-config">
950 <!-- <title>Configuration Information</title>-->
951
952 <title>If you installed Qt5 in /usr</title>
953
954 <para>
955 If you installed <application>Qt5</application> in
956 <filename class="directory">/usr</filename>, create an
957 environment variable needed by certain packages.
958 As the <systemitem class="username">root</systemitem> user:
959 </para>
960
961<screen role="nodump"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
962<literal># Begin /etc/profile.d/qt5.sh
963
964QT5DIR=/usr
965export QT5DIR
966pathappend $QT5DIR/bin
967
968# End /etc/profile.d/qt5.sh</literal>
969EOF</userinput></screen>
970
971 <para>
972 If <xref linkend="sudo"/> is installed, QT5DIR should be available to
973 the super user as well. Execute the following commands as the
974 <systemitem class="username">root</systemitem> user:
975 </para>
976
977<screen role="root"><userinput>cat &gt; /etc/sudoers.d/qt &lt;&lt; "EOF"
978<literal>Defaults env_keep += QT5DIR</literal>
979EOF</userinput></screen>
980
981 <bridgehead renderas="sect4">If you did not install Qt5 in /usr</bridgehead>
982
983 <para>
984 If you installed <application>Qt5</application> in a location other
985 than <filename class="directory">/usr</filename>, you need to update the
986 following configuration files so that <application>Qt5</application> is
987 correctly found by other packages and system processes.
988 </para>
989
990 <para>
991 As the <systemitem class="username">root</systemitem> user, update
992 the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
993 run-time cache file:
994 </para>
995
996<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
997<literal># Begin Qt addition
998
999/opt/qt5/lib
1000
1001# End Qt addition</literal>
1002EOF
1003
1004ldconfig</userinput></screen>
1005
1006 <indexterm zone="qt5 qt5-config">
1007 <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
1008 </indexterm>
1009
1010 <para>
1011 As the <systemitem class="username">root</systemitem> user, create
1012 the <filename>/etc/profile.d/qt5.sh</filename> file:
1013 </para>
1014
1015<screen role="root"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
1016<literal># Begin /etc/profile.d/qt5.sh
1017
1018QT5DIR=/opt/qt5
1019
1020pathappend $QT5DIR/bin PATH
1021pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH
1022
1023export QT5DIR
1024
1025# End /etc/profile.d/qt5.sh</literal>
1026EOF</userinput></screen>
1027
1028 </sect3>
1029
1030 </sect2>
1031
1032 <sect2 role="content">
1033 <title>Contents</title>
1034
1035 <segmentedlist>
1036 <segtitle>Installed Programs</segtitle>
1037 <segtitle>Installed Libraries</segtitle>
1038 <segtitle>Installed Directories</segtitle>
1039
1040 <seglistitem>
1041 <seg>
1042 assistant, balsam, canbusutil, designer, fixqt4headers.pl, lconvert,
1043 linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro,
1044 meshdebug, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml,
1045 qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qgltf,
1046 qhelpgenerator, qlalr, qmake, qml, qmlcachegen,
1047 qmleasing, qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump,
1048 qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qscxmlc,
1049 qtattributionscanner, qtdiag, qtpaths, qtplugininfo,
1050 qtwaylandscanner, qvkgen, rcc, repc, sdpscanner, syncqt.pl, tracegen,
1051 uic, xmlpatterns, and xmlpatternsvalidator
1052 </seg>
1053 <seg>
1054 libQt53DAnimation.so, libQt53DCore.so,
1055 libQt53DExtras.so, libQt53DInput.so, libQt53DLogic.so,
1056 libQt53DQuick.so, libQt53DQuickAnimation.so, libQt53DQuickExtras.so,
1057 libQt53DQuickInput.so, libQt53DQuickRender.so,
1058 libQt53DQuickScene2D.so, libQt53DRender.so,
1059 libQt5AccessibilitySupport.a, libQt5Bluetooth.so, libQt5Bodymovin.so,
1060 libQt5Bootstrap.a, libQt5Charts.so, libQt5Concurrent.so,
1061 libQt5Core.so, libQt5DataVisualization.so, libQt5DBus.so,
1062 libQt5DesignerComponents.so, libQt5Designer.so,
1063 libQt5DeviceDiscoverySupport.a, libQt5EdidSupport.a,
1064 libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so,
1065 libQt5EglSupport.a, libQt5EventDispatcherSupport.a, libQt5FbSupport.a,
1066 libQt5FontDatabaseSupport.a, libQt5Gamepad.so, libQt5GlxSupport.a,
1067 libQt5Gui.so,libQt5Help.so, libQt5InputSupport.a, libQt5KmsSupport.a,
1068 libQt5LinuxAccessibilitySupport.a, libQt5Location.so,
1069 libQt5Multimedia.so, libQt5MultimediaGstTools.so,
1070 libQt5MultimediaQuick.so, libQt5MultimediaWidgets.so,
1071 libQt5Network.so, libQt5NetworkAuth.so, libQt5Nfc.so,
1072 libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PacketProtocol.a,
1073 libQt5PlatformCompositorSupport.a, libQt5Positioning.so,
1074 libQt5PositioningQuick.so, libQt5PrintSupport.so,
1075 libQt5Purchasing.so, libQt5Qml.so, libQt5QmlDebug.a,
1076 libQt5QmlDevTools.a, libQt5QmlModels.so, libQt5QmlWorkerScript.so,
1077 libQt5Quick.so, libQt5Quick3D.so, libQt5Quick3DAssetImport.so,
1078 libQt5Quick3DRender.so, libQt5Quick3DRuntimeRender.so,
1079 libQt5Quick3DUtils.so, libQt5QuickControls2.so,
1080 libQt5QuickParticles.so, libQt5QuickShapes.so,
1081 libQt5QuickTemplates2.so, libQt5QuickTest.so, libQt5QuickWidgets.so,
1082 libQt5RemoteObjects.so, libQt5Script.so, libQt5ScriptTools.so,
1083 libQt5Scxml.so, libQt5Sensors.so, libQt5SerialBus.so,
1084 libQt5SerialPort.so, libQt5ServiceSupport.a, libQt5Sql.so,
1085 libQt5Svg.so, libQt5Test.so, libQt5TextToSpeech.so,
1086 libQt5ThemeSupport.a, libQt5UiTools.a, libQt5VirtualKeyboard.so,
1087 libQt5WaylandClient.so, libQt5WaylandCompositor.so,
1088 libQt5WebChannel.so, libQt5WebSockets.so, libQt5WebView.so,
1089 libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so,
1090 libQt5XkbCommonSupport.a, libQt5Xml.so, libQt5XmlPatterns.so,
1091 and several plugins under /opt/qt5/{plugins,qml}
1092 </seg>
1093 <seg>
1094 /usr/include/qt5,
1095 /usr/lib/qt5,
1096 /usr/share/doc/qt5, and
1097 /usr/share/qt5
1098 OR
1099 /opt/qt5 and
1100 /opt/qt-&qt5-version;
1101 </seg>
1102 </seglistitem>
1103 </segmentedlist>
1104<!--
1105 <variablelist>
1106 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
1107 <?dbfo list-presentation="list"?>
1108 <?dbhtml list-presentation="table"?>
1109
1110 <varlistentry id="lconvert-qt5">
1111 <term><command>lconvert</command></term>
1112 <listitem>
1113 <para>
1114 is part of Qt5's Linguist tool chain. It can be used as a
1115 standalone tool to convert and filter translation data files
1116 </para>
1117 <indexterm zone="qt5 lconvert-qt5">
1118 <primary sortas="b-lconvert-qt5">lconvert</primary>
1119 </indexterm>
1120 </listitem>
1121 </varlistentry>
1122
1123 <varlistentry id="linguist-qt5">
1124 <term><command>linguist</command></term>
1125 <listitem>
1126 <para>
1127 provides support for translating applications into
1128 local languages
1129 </para>
1130 <indexterm zone="qt5 linguist-qt5">
1131 <primary sortas="b-linguist-qt5">linguist</primary>
1132 </indexterm>
1133 </listitem>
1134 </varlistentry>
1135
1136 <varlistentry id="lrelease-qt5">
1137 <term><command>lrelease</command></term>
1138 <listitem>
1139 <para>
1140 is a simple command line tool. It reads XML-based translation
1141 file in TS format and produces message files used by the
1142 application
1143 </para>
1144 <indexterm zone="qt5 lrelease-qt5">
1145 <primary sortas="b-lrelease-qt5">lrelease</primary>
1146 </indexterm>
1147 </listitem>
1148 </varlistentry>
1149
1150 <varlistentry id="lrelease-pro">
1151 <term><command>lrelease-pro</command></term>
1152 <listitem>
1153 <para>
1154 extracts project information from qmake projects and passes
1155 it to lrelease
1156 </para>
1157 <indexterm zone="qt5 lrelease-pro">
1158 <primary sortas="b-lrelease-pro">lrelease-pro</primary>
1159 </indexterm>
1160 </listitem>
1161 </varlistentry>
1162
1163 <varlistentry id="lupdate-qt5">
1164 <term><command>lupdate</command></term>
1165 <listitem>
1166 <para>
1167 finds the translatable
1168 strings in the specified source, header and Qt Designer
1169 interface files, and stores the extracted messages in
1170 translation files to be processed by lrelease
1171 </para>
1172 <indexterm zone="qt5 lupdate-qt5">
1173 <primary sortas="b-lupdate-qt5">lupdate</primary>
1174 </indexterm>
1175 </listitem>
1176 </varlistentry>
1177
1178 <varlistentry id="lupdate-pro">
1179 <term><command>lupdate-pro</command></term>
1180 <listitem>
1181 <para>
1182 reads a Qt project file, an passes the collected information
1183 to lupdate
1184 </para>
1185 <indexterm zone="qt5 lupdate-pro">
1186 <primary sortas="b-lupdate-pro">lupdate-pro</primary>
1187 </indexterm>
1188 </listitem>
1189 </varlistentry>
1190
1191 <varlistentry id="meshdebug">
1192 <term><command>meshdebug</command></term>
1193 <listitem>
1194 <para>
1195 displays information about qtquick-3d mesh files
1196 </para>
1197 <indexterm zone="qt5 meshdebug">
1198 <primary sortas="b-meshdebug">meshdebug</primary>
1199 </indexterm>
1200 </listitem>
1201 </varlistentry>
1202
1203 <varlistentry id="pixeltool-qt5">
1204 <term><command>pixeltool</command></term>
1205 <listitem>
1206 <para>
1207 is a desktop magnifier and as you move your mouse around
1208 the screen it will show the magnified contents in its window
1209 </para>
1210 <indexterm zone="qt5 pixeltool-qt5">
1211 <primary sortas="b-pixeltool-qt5">pixeltool</primary>
1212 </indexterm>
1213 </listitem>
1214 </varlistentry>
1215
1216 <varlistentry id="qcollectiongenerator-qt5">
1217 <term><command>qcollectiongenerator</command></term>
1218 <listitem>
1219 <para>
1220 processes and converts Qt help files
1221 </para>
1222 <indexterm zone="qt5 qcollectiongenerator-qt5">
1223 <primary sortas="b-qcollectiongenerator-qt5">qcollectiongenerator-qt5</primary>
1224 </indexterm>
1225 </listitem>
1226 </varlistentry>
1227
1228 <varlistentry id="qdbus-qt5">
1229 <term><command>qdbus</command></term>
1230 <listitem>
1231 <para>
1232 lists available services, object paths, methods, signals, and
1233 properties of objects on a bus
1234 </para>
1235 <indexterm zone="qt5 qdbus-qt5">
1236 <primary sortas="b-qdbus-qt5">qdbus</primary>
1237 </indexterm>
1238 </listitem>
1239 </varlistentry>
1240
1241 <varlistentry id="qdbusviewer-qt5">
1242 <term><command>qdbusviewer</command></term>
1243 <listitem>
1244 <para>
1245 is a graphical D-Bus browser
1246 </para>
1247 <indexterm zone="qt5 qdbusviewer-qt5">
1248 <primary sortas="b-qdbusviewer-qt5">qdbusviewer</primary>
1249 </indexterm>
1250 </listitem>
1251 </varlistentry>
1252
1253 <varlistentry id="qdistancefieldgenerator-qt5">
1254 <term><command>qdistancefieldgenerator</command></term>
1255 <listitem>
1256 <para>
1257 allows a font cache to be pregenerated for Text.QtRendering to speed
1258 up an application's startup if the user interface has a lot of text,
1259 or multiple fonts, or a large amount of distinct characters, e.g. in
1260 CJK writing systems
1261 </para>
1262 <indexterm zone="qt5 qdistancefieldgenerator-qt5">
1263 <primary sortas="b-qdistancefieldgenerator-qt5">qdistancefieldgenerator</primary>
1264 </indexterm>
1265 </listitem>
1266 </varlistentry>
1267
1268 <varlistentry id="qdoc-qt5">
1269 <term><command>qdoc</command></term>
1270 <listitem>
1271 <para>
1272 is a tool used by <application>Qt</application> Developers to
1273 generate documentation for software projects
1274 </para>
1275 <indexterm zone="qt5 qdoc-qt5">
1276 <primary sortas="b-qdoc-qt5">qdoc</primary>
1277 </indexterm>
1278 </listitem>
1279 </varlistentry>
1280
1281 <varlistentry id="qgltf">
1282 <term><command>qgltf</command></term>
1283 <listitem>
1284 <para>
1285 imports a a variety of 3D model formats and exports into fast-to-load,
1286 optimized glTF assets embedded into Qt resource files
1287 </para>
1288 <indexterm zone="qt5 qgltf">
1289 <primary sortas="b-qgltf">qgltf</primary>
1290 </indexterm>
1291 </listitem>
1292 </varlistentry>
1293
1294 <varlistentry id="qhelpgenerator-qt5">
1295 <term><command>qhelpgenerator</command></term>
1296 <listitem>
1297 <para>
1298 is a tool used to generate a <application>Qt</application>
1299 compressed help file
1300 </para>
1301 <indexterm zone="qt5 qhelpgenerator-qt5">
1302 <primary sortas="b-qhelpgenerator-qt5">qhelpgenerator</primary>
1303 </indexterm>
1304 </listitem>
1305 </varlistentry>
1306
1307 <varlistentry id="qml">
1308 <term><command>qml</command></term>
1309 <listitem>
1310 <para>
1311 executes a QML file
1312 </para>
1313 <indexterm zone="qt5 qml">
1314 <primary sortas="b-qml">qml</primary>
1315 </indexterm>
1316 </listitem>
1317 </varlistentry>
1318
1319 <varlistentry id="qmlcachegen">
1320 <term><command>qmlcachegen</command></term>
1321 <listitem>
1322 <para>
1323 supports the creation of cache files at build time
1324 </para>
1325 <indexterm zone="qt5 qmlcachegen">
1326 <primary sortas="b-qmlcachegen">qmlcachegen</primary>
1327 </indexterm>
1328 </listitem>
1329 </varlistentry>
1330
1331 <varlistentry id="qmleasing-qt5">
1332 <term><command>qmleasing</command></term>
1333 <listitem>
1334 <para>
1335 is a tool used to define the easing curves using an
1336 interactive curve editor
1337 </para>
1338 <indexterm zone="qt5 qmleasing-qt5">
1339 <primary sortas="b-qmleasing-qt5">qmleasing</primary>
1340 </indexterm>
1341 </listitem>
1342 </varlistentry>
1343
1344 <varlistentry id="qmlformat-qt5">
1345 <term><command>qmlformat</command></term>
1346 <listitem>
1347 <para>
1348 formats QML files according to the QML coding conventions
1349 </para>
1350 <indexterm zone="qt5 qmlformat-qt5">
1351 <primary sortas="b-qmlformat-qt5">qmlformat</primary>
1352 </indexterm>
1353 </listitem>
1354 </varlistentry>
1355
1356 <varlistentry id="qmlimportscanner-qt5">
1357 <term><command>qmlimportscanner</command></term>
1358 <listitem>
1359 <para>
1360 is a tool used to import QML files from a directory
1361 </para>
1362 <indexterm zone="qt5 qmlimportscanner-qt5">
1363 <primary sortas="b-qmlimportscanner-qt5">qmlimportscanner</primary>
1364 </indexterm>
1365 </listitem>
1366 </varlistentry>
1367
1368 <varlistentry id="qmllint-qt5">
1369 <term><command>qmllint</command></term>
1370 <listitem>
1371 <para>
1372 is a syntax checker for QML files
1373 </para>
1374 <indexterm zone="qt5 qmllint-qt5">
1375 <primary sortas="b-qmllint-qt5">qmllint</primary>
1376 </indexterm>
1377 </listitem>
1378 </varlistentry>
1379
1380 <varlistentry id="qmlmin-qt5">
1381 <term><command>qmlmin</command></term>
1382 <listitem>
1383 <para>
1384 removes comments and layout characters from a QML file
1385 </para>
1386 <indexterm zone="qt5 qmlmin-qt5">
1387 <primary sortas="b-qmlmin-qt5">qmlmin</primary>
1388 </indexterm>
1389 </listitem>
1390 </varlistentry>
1391
1392 <varlistentry id="qmlplugindump-qt5">
1393 <term><command>qmlplugindump</command></term>
1394 <listitem>
1395 <para>
1396 is a tool to create a qmltypes file
1397 </para>
1398 <indexterm zone="qt5 qmlplugindump-qt5">
1399 <primary sortas="b-qmlplugindump-qt5">qmlplugindump</primary>
1400 </indexterm>
1401 </listitem>
1402 </varlistentry>
1403
1404 <varlistentry id="qmlpreview-qt5">
1405 <term><command>qmlpreview</command></term>
1406 <listitem>
1407 <para>
1408 is a tool used to analyze QML applications
1409 </para>
1410 <indexterm zone="qt5 qmlpreview-qt5">
1411 <primary sortas="b-qmlpreviewr-qt5">qmlpreview</primary>
1412 </indexterm>
1413 </listitem>
1414 </varlistentry>
1415
1416 <varlistentry id="qmlprofiler-qt5">
1417 <term><command>qmlprofiler</command></term>
1418 <listitem>
1419 <para>
1420 is a tool which watches QML and JavaScript files on disk and
1421 updates the application live with any changes
1422 </para>
1423 <indexterm zone="qt5 qmlprofiler-qt5">
1424 <primary sortas="b-qmlprofiler-qt5">qmlprofiler</primary>
1425 </indexterm>
1426 </listitem>
1427 </varlistentry>
1428
1429 <varlistentry id="qmlscene-qt5">
1430 <term><command>qmlscene</command></term>
1431 <listitem>
1432 <para>
1433 is a utility that loads and displays QML documents even before
1434 the application is complete
1435 </para>
1436 <indexterm zone="qt5 qmlscene-qt5">
1437 <primary sortas="b-qmlscene-qt5">qmlscene</primary>
1438 </indexterm>
1439 </listitem>
1440 </varlistentry>
1441
1442 <varlistentry id="qmltestrunner-qt5">
1443 <term><command>qmltestrunner</command></term>
1444 <listitem>
1445 <para>
1446 is a tool used to make tests
1447 </para>
1448 <indexterm zone="qt5 qmltestrunner-qt5">
1449 <primary sortas="b-qmltestrunner-qt5">qmltestrunner</primary>
1450 </indexterm>
1451 </listitem>
1452 </varlistentry>
1453
1454 <varlistentry id="qscxmlc-qt5">
1455 <term><command>qscxml</command></term>
1456 <listitem>
1457 <para>
1458 converts an input.scxml file to a header and cpp file
1459 </para>
1460 <indexterm zone="qt5 qscxmlc-qt5">
1461 <primary sortas="b-qscxmlc-qt5">qscxmlc</primary>
1462 </indexterm>
1463 </listitem>
1464 </varlistentry>
1465
1466 <varlistentry id="qtattributionsscanner-qt5">
1467 <term><command>qtattributionsscanner</command></term>
1468 <listitem>
1469 <para>
1470 processes qt_attribution.json files in Qt sources
1471 </para>
1472 <indexterm zone="qt5 qtattributionsscanner-qt5">
1473 <primary sortas="b-qtattributionsscanner-qt5">qtattributionsscanner</primary>
1474 </indexterm>
1475 </listitem>
1476 </varlistentry>
1477
1478 <varlistentry id="qtdiag-qt5">
1479 <term><command>qtdiag</command></term>
1480 <listitem>
1481 <para>
1482 is a tool for reporting diagnostic information about Qt and its
1483 environment
1484 </para>
1485 <indexterm zone="qt5 qtdiag-qt5">
1486 <primary sortas="b-qtdiag-qt5">qtdiag</primary>
1487 </indexterm>
1488 </listitem>
1489 </varlistentry>
1490
1491 <varlistentry id="qtpaths-qt5">
1492 <term><command>qtpaths</command></term>
1493 <listitem>
1494 <para>
1495 is a tool to query Qt path information
1496 </para>
1497 <indexterm zone="qt5 qtpaths-qt5">
1498 <primary sortas="b-qtpaths-qt5">qtpaths</primary>
1499 </indexterm>
1500 </listitem>
1501 </varlistentry>
1502
1503 <varlistentry id="qtplugininfo">
1504 <term><command>qtplugininfo</command></term>
1505 <listitem>
1506 <para>
1507 dumps meta-data about Qt plugins in JSON format
1508 </para>
1509 <indexterm zone="qt5 qtplugininfo">
1510 <primary sortas="b-qtplugininfo">qtplugininfo</primary>
1511 </indexterm>
1512 </listitem>
1513 </varlistentry>
1514
1515 <varlistentry id="repc">
1516 <term><command>repc</command></term>
1517 <listitem>
1518 <para>
1519 is the Replica Compiler, which generates QObject header files based
1520 on an API definition file
1521 </para>
1522 <indexterm zone="qt5 repc">
1523 <primary sortas="b-repc">repc</primary>
1524 </indexterm>
1525 </listitem>
1526 </varlistentry>
1527
1528 <varlistentry id="sdpscanner-qt5">
1529 <term><command>sdpscanner</command></term>
1530 <listitem>
1531 <para>
1532 performs a Session Description Protocol scan on a remote device,
1533 using the SDP server represented by the local Bluetooth device
1534 </para>
1535 <indexterm zone="qt5 sdpscanner-qt5">
1536 <primary sortas="b-sdpscanner-qt5">sdpscanner</primary>
1537 </indexterm>
1538 </listitem>
1539 </varlistentry>
1540
1541 <varlistentry id="xmlpatterns-qt5">
1542 <term><command>xmlpatterns</command></term>
1543 <listitem>
1544 <para>
1545 provides support for XPath, XQuery, XSLT, and XML Schema
1546 validation
1547 </para>
1548 <indexterm zone="qt5 xmlpatterns-qt5">
1549 <primary sortas="b-xmlpatterns-qt5">xmlpatterns</primary>
1550 </indexterm>
1551 </listitem>
1552 </varlistentry>
1553
1554 <varlistentry id="xmlpatternsvalidator-qt5">
1555 <term><command>xmlpatternsvalidator</command></term>
1556 <listitem>
1557 <para>
1558 is a tool used to validate XML documents
1559 </para>
1560 <indexterm zone="qt5 xmlpatternsvalidator-qt5">
1561 <primary sortas="b-xmlpatternsvalidator-qt5">xmlpatternsvalidator</primary>
1562 </indexterm>
1563 </listitem>
1564 </varlistentry>
1565
1566 </variablelist>
1567-->
1568 </sect2>
1569
1570</sect1>
Note: See TracBrowser for help on using the repository browser.