source: x/lib/qt5.xml@ 99b9616

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 99b9616 was 99b9616, checked in by Krejzi <krejzi@…>, 11 years ago

fixes to qt5 xml formatting

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@11618 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 20.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 <!ENTITY qt5-major "5.1">
8 <!ENTITY qt5-url "http://download.qt-project.org/official_releases/qt/&qt5-major;/&qt5-version;/single">
9
10 <!ENTITY qt5-download-http "&qt5-url;/qt-everywhere-opensource-src-&qt5-version;.tar.xz">
11 <!ENTITY qt5-download-ftp " ">
12 <!ENTITY qt5-md5sum "44a507beebef73eb364b5a2ec7bbe090">
13 <!ENTITY qt5-size "169 MB">
14 <!ENTITY qt5-buildsize "2.5 GB">
15 <!ENTITY qt5-time "50 SBU">
16]>
17
18<sect1 id="qt5" xreflabel="Qt-&qt5-version;">
19 <?dbhtml filename="qt5.html" ?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>Qt-&qt5-version;</title>
27
28 <indexterm zone="qt5">
29 <primary sortas="a-Qt">Qt</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to Qt</title>
34
35 <para>
36 <application>Qt</application> is a cross-platform application
37 framework that is widely used for developing application software
38 with a graphical user interface (GUI) (in which cases Qt is classified
39 as a widget toolkit), and also used for developing non-GUI programs such
40 as command-line tools and consoles for servers. One of the major users
41 of <application>Qt</application> is <application>KDE</application>.
42 </para>
43
44 &lfs73_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&qt5-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&qt5-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &qt5-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &qt5-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &qt5-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &qt5-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
81 <itemizedlist spacing="compact">
82 <listitem>
83 <para>
84 Required patch:
85 <ulink url="&patch-root;/qt-&qt5-version;-bison_fixes-1.patch"/>
86 </para>
87 </listitem>
88 </itemizedlist>
89
90 <bridgehead renderas="sect3">Qt Dependencies</bridgehead>
91
92 <bridgehead renderas="sect4">Required</bridgehead>
93 <para role="required">
94 <xref linkend="alsa-lib"/>,
95 <xref linkend="mesalib"/>,
96 <xref linkend="qtchooser"/>,
97 <xref linkend="xcb-util-image"/>,
98 <xref linkend="xcb-util-keysyms"/>,
99 <xref linkend="xcb-util-renderutil"/>, and
100 <xref linkend="xcb-util-wm"/>
101 </para>
102
103 <bridgehead renderas="sect4">Recommended</bridgehead>
104 <para role="recommended">
105 <xref linkend="cacerts"/>,
106 <xref linkend="cups"/>,
107 <xref linkend="dbus"/>,
108 <xref linkend="glib2"/>,
109 <xref linkend="gst-plugins-base"/>,
110 <xref linkend="icu"/>,
111 <xref linkend="libjpeg"/>,
112 <xref linkend="libpng"/>,
113 <xref linkend="libtiff"/>,
114 <xref linkend="openssl"/>,
115 <xref linkend="pcre"/>, and
116 <xref linkend="sqlite"/>
117 </para>
118
119 <bridgehead renderas="sect4">Optional</bridgehead>
120 <para role="optional">
121 <xref linkend="gst10-plugins-base"/> (QtWebKit HTML5 Video Support),
122 <xref linkend="gtk2"/> (GTK+ Theme Support),
123 <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
124 <xref linkend="mysql"/>,
125 <xref linkend="postgresql"/>,
126 <xref linkend="pulseaudio"/>, and
127 <xref linkend="unixodbc"/>
128 </para>
129
130 <para condition="html" role="usernotes">User Notes:
131 <ulink url="&blfs-wiki;/qt5"/>
132 </para>
133 </sect2>
134
135 <sect2 role="installation">
136 <title>Installation of Qt</title>
137
138 <warning>
139 <para>
140 If you did not install some of the recommended dependencies, examine
141 <command>./configure --help</command> output to check how to disable
142 them or use internal versions bundled in the source tarball.
143 </para>
144 </warning>
145
146 <para>
147 Install <application>Qt</application> by running the
148 following commands:
149 </para>
150
151<screen><userinput>patch -Np1 -i ../qt-&qt5-version;-bison_fixes-1.patch &amp;&amp;
152
153./configure -prefix /usr \
154 -sysconfdir /etc/xdg \
155 -bindir /usr/lib/qt5/bin \
156 -headerdir /usr/include/qt5 \
157 -archdatadir /usr/lib/qt5 \
158 -datadir /usr/share/qt5 \
159 -docdir /usr/share/doc/qt5 \
160 -translationdir /usr/share/qt5/translations \
161 -examplesdir /usr/share/doc/qt5/examples \
162 -confirm-license \
163 -opensource \
164 -dbus-linked \
165 -openssl-linked \
166 -system-sqlite \
167 -plugin-sql-sqlite \
168 -no-nis \
169 -nomake examples \
170 -opengl es2 \
171 -optimized-qmake &amp;&amp;
172make</userinput></screen>
173
174 <para>
175 Remove references to the build directory from pkg-confg
176 files by running the following command:
177 </para>
178
179<screen><userinput>find . -name "*.pc" -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \;</userinput></screen>
180
181 <para>
182 This package does not come with a test suite.
183 </para>
184
185 <para>
186 Now, as the <systemitem class="username">root</systemitem> user:
187 </para>
188
189<screen role="root"><userinput>make install &amp;&amp;
190install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
191 /usr/share/pixmaps/assistant-qt5.png &amp;&amp;
192install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
193 /usr/share/pixmaps/designer-qt5.png &amp;&amp;
194install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
195 /usr/share/pixmaps/linguist-qt5.png &amp;&amp;
196install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
197 /usr/share/pixmaps/qdbusviewer-qt5.png</userinput></screen>
198
199 <para>
200 Remove references to the build directory from installed files by
201 running the following commands as the
202 <systemitem class="username">root</systemitem> user:
203 </para>
204
205<screen role="root"><userinput>sed -i -e "s:$PWD/qtbase:/usr/lib/qt5:g" \
206 /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap.pri &amp;&amp;
207find /usr/lib/*.prl -exec sed -i -e \
208 '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;</userinput></screen>
209
210 <para>
211 Symlink the <application>Qt</application> executables into
212 <filename class="directory">/usr/bin</filename> by running the
213 following commands as the
214 <systemitem class="username">root</systemitem> user:
215 </para>
216
217<screen role="root"><userinput>for file in /usr/lib/qt5/bin/*
218do
219 ln -sfv ../lib/qt5/bin/$(basename $file) /usr/bin/$(basename $file)-qt5
220done</userinput></screen>
221
222 </sect2>
223
224 <sect2 role="installation">
225 <title>Alternate Qt Installation Instructions</title>
226
227 <para>
228 This section provides an alternate way to install Qt by installing
229 almost all of the files in the <filename class="directory">/opt</filename>
230 directory. This allows management of all Qt related files in one unit.
231 For instance, a new version of Qt5 can be installed without over-writing
232 the existing installation and entire Qt5 instances can be easily removed.
233 However, it has the disadvantage of needing some extra configuration.
234 </para>
235
236<screen><userinput>patch -Np1 -i ../qt-&qt5-version;-bison_fixes-1.patch &amp;&amp;
237
238QT5DIR=/opt/qt-&qt5-version;
239
240./configure -prefix $QT5DIR \
241 -sysconfdir /etc/xdg \
242 -confirm-license \
243 -opensource \
244 -dbus-linked \
245 -openssl-linked \
246 -system-sqlite \
247 -plugin-sql-sqlite \
248 -no-nis \
249 -nomake examples \
250 -opengl es2 \
251 -optimized-qmake &amp;&amp;
252make</userinput></screen>
253
254 <para>
255 Now, as the <systemitem class="username">root</systemitem> user:
256 </para>
257
258<screen role="root"><userinput>make install &amp;&amp;
259
260install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
261 /usr/share/pixmaps/assistant-qt5.png &amp;&amp;
262install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
263 /usr/share/pixmaps/designer-qt5.png &amp;&amp;
264install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
265 /usr/share/pixmaps/linguist-qt5.png &amp;&amp;
266install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
267 /usr/share/pixmaps/qdbusviewer-qt5.png</userinput></screen>
268
269 <para>
270 Remove references to the build directory from installed files by
271 running the following commands as the
272 <systemitem class="username">root</systemitem> user:
273 </para>
274
275<screen role="root"><userinput>find $QT5DIR -name qt_lib_bootstrap.pri \
276 -exec sed -i -e "s:$PWD/qtbase:/$QT5DIR/lib/:g" {} \; &amp;&amp;
277
278find $QT5DIR -name \*.prl \
279 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
280
281 <para>
282 Symlink the <application>Qt</application> executables into
283 <filename class="directory">/usr/bin</filename> by running the
284 following commands as the
285 <systemitem class="username">root</systemitem> user:
286 </para>
287
288<screen role="root"><userinput>ln -svf $QT5DIR /opt/qt5 &amp;&amp;
289
290for file in /opt/qt5/bin/*; do
291 ln -sfv $file /usr/bin/$(basename $file)-qt5
292done</userinput></screen>
293
294 <para>
295 At this point is is useful to add some configuration items as
296 the <systemitem class="username">root</systemitem> user:
297 </para>
298
299<screen role="root"><userinput>echo /opt/qt5 &gt;&gt; /etc/ld.so.conf &amp;&amp;
300ldconfig &amp;&amp;
301
302cat &gt;&gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
303pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
304EOF</userinput></screen>
305
306 </sect2>
307
308 <sect2 role="commands">
309 <title>Command Explanations</title>
310
311 <para>
312 <parameter>-confirm-license</parameter>: Accept license
313 without prompting user during configuration.
314 </para>
315
316 <para>
317 <parameter>-opensource</parameter>: Install the opensource
318 version of <application>Qt</application>.
319 </para>
320
321 <para>
322 <parameter>-release</parameter>: This switch disables
323 building with debugging symbols.
324 </para>
325
326 <para>
327 <parameter>-nomake examples</parameter>: This switch
328 disables building of the example programs included
329 in the source tarball. Remove it if you want to build
330 them.
331 </para>
332
333 <para>
334 <parameter>-system-sqlite</parameter>: This switch enables use
335 of the system version of <application>SQLite</application>.
336 </para>
337
338 <para>
339 <parameter>-no-nis</parameter>: This switch disables support
340 for Network Information Service (NIS) which has been
341 removed from recent versions of <application>Glibc</application>.
342 </para>
343
344 <para>
345 <parameter>-dbus-linkend -openssl-linkend</parameter>: These
346 switches enable explicit linking of the
347 <application>D-Bus</application> and
348 <application>OpenSSL</application> libraries into
349 <application>Qt</application> libraries instead of
350 <command>dlopen()</command>-ing them.
351 </para>
352
353 <para>
354 <parameter>-plugin-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>:
355 These switches enable SQL support in the
356 <application>Qt</application> libraries. Available drivers are:
357 ibase, mysql, psql, sqlite and odbc.
358 </para>
359
360 <para>
361 <parameter>-opengl es2</parameter>: This switch enables OpenGL ES2
362 support in <application>Qt</application>.
363 </para>
364
365 <para>
366 <parameter>-optimized-qmake</parameter>: This switch enables
367 building of the optimized <command>qmake</command> program.
368 </para>
369
370 </sect2>
371
372 <sect2 role="configuration">
373 <title>Configuring Qt</title>
374
375 <sect3 id="qt5-config">
376 <title>Configuration Information</title>
377
378 <para>
379 Create the menu entries for installed applications.
380 As the <systemitem class="username">root</systemitem> user:
381 </para>
382
383<screen role="root"><userinput>install -dm755 /usr/share/applications
384cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; "EOF"
385<literal>[Desktop Entry]
386Name=Qt5 Assistant
387Comment=Shows Qt5 documentation and examples
388Exec=assistant-qt5
389Icon=assistant-qt5
390Terminal=false
391Encoding=UTF-8
392Type=Application
393Categories=Qt;Development;Documentation;</literal>
394EOF
395cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; "EOF"
396<literal>[Desktop Entry]
397Name=Qt5 Designer
398GenericName=Interface Designer
399Comment=Design GUIs for Qt5 applications
400Exec=designer-qt5
401Icon=designer-qt5
402MimeType=application/x-designer;
403Terminal=false
404Encoding=UTF-8
405Type=Application
406Categories=Qt;Development;</literal>
407EOF
408cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; "EOF"
409<literal>[Desktop Entry]
410Name=Qt5 Linguist
411Comment=Add translations to Qt5 applications
412Exec=linguist-qt5
413Icon=linguist-qt5
414MimeType=text/vnd.trolltech.linguist;application/x-linguist;
415Terminal=false
416Encoding=UTF-8
417Type=Application
418Categories=Qt;Development;</literal>
419EOF
420cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; "EOF"
421<literal>[Desktop Entry]
422Name=Qt5 QDbusViewer
423GenericName=D-Bus Debugger
424Comment=Debug D-Bus applications
425Exec=qdbusviewer-qt5
426Icon=qdbusviewer-qt5
427Terminal=false
428Encoding=UTF-8
429Type=Application
430Categories=Qt;Development;Debugger;</literal>
431EOF</userinput></screen>
432
433 </sect3>
434
435 </sect2>
436
437 <sect2 role="content">
438 <title>Contents</title>
439
440 <segmentedlist>
441 <segtitle>Installed Programs</segtitle>
442 <segtitle>Installed Libraries</segtitle>
443 <segtitle>Installed Directories</segtitle>
444
445 <seglistitem>
446 <seg>
447 assistant-qt5, designer-qt5, lconvert-qt5, linguist-qt5, lrelease-qt5,
448 lupdate-qt5, moc-qt5, pixeltool-qt5, qcollectiongenerator-qt5,
449 qdbuscpp2xml-qt5, qdbus-qt5, qdbusviewer-qt5, qdbusxml2cpp-qt5, qdoc-qt5,
450 qhelpconverter-qt5, qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5,
451 qmlbundle-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qmlscene-qt5,
452 qmltestrunner-qt5, qmlviewer-qt5, rcc-qt5, syncqt.pl-qt5, uic-qt5,
453 xmlpatterns-qt5 and xmlpatternsvalidator-qt5
454 </seg>
455 <seg>
456 libqgsttools_p.so, libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so,
457 libQt5Core.so, libQt5DBus.so, libQt5Declarative.so, libQt5DesignerComponents.so,
458 libQt5Designer.so, libQt5Gui.so, libQt5Help.so, libQt5MultimediaQuick_p.so,
459 libQt5Multimedia.so, libQt5MultimediaWidgets.so, libQt5Network.so,
460 libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PlatformSupport.a,
461 libQt5PrintSupport.so, libQt5QmlDevTools.a, libQt5Qml.so, libQt5QuickParticles.so,
462 libQt5Quick.so, libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so,
463 libQt5Sensors.so, libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so,
464 libQt5UiTools.a, libQt5V8.so, libQt5WebKit.so, libQt5WebKitWidgets.so,
465 libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so and libQt5Xml.so
466 </seg>
467 <seg>
468 /usr/include/qt5,
469 /usr/lib/qt5,
470 /usr/share/doc/qt5 and
471 /usr/share/qt5
472 </seg>
473 </seglistitem>
474 </segmentedlist>
475
476 <variablelist>
477 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
478 <?dbfo list-presentation="list"?>
479 <?dbhtml list-presentation="table"?>
480
481 <varlistentry id="assistant-qt5">
482 <term><command>assistant-qt5</command></term>
483 <listitem>
484 <para>
485 is a tool for presenting on-line documentation.
486 </para>
487 <indexterm zone="qt5 assistant-qt5">
488 <primary sortas="b-assistant-qt5">assistant-qt5</primary>
489 </indexterm>
490 </listitem>
491 </varlistentry>
492
493 <varlistentry id="designer-qt5">
494 <term><command>designer-qt5</command></term>
495 <listitem>
496 <para>
497 is a full-fledged GUI builder. It includes
498 powerful features such as preview mode, automatic widget
499 layout, support for custom widgets, and an advanced
500 property editor.
501 </para>
502 <indexterm zone="qt5 designer-qt5">
503 <primary sortas="b-designer-qt5">designer-qt5</primary>
504 </indexterm>
505 </listitem>
506 </varlistentry>
507
508 <varlistentry id="linguist-qt5">
509 <term><command>linguist-qt5</command></term>
510 <listitem>
511 <para>
512 provides support for translating applications into
513 local languages.
514 </para>
515 <indexterm zone="qt5 linguist-qt5">
516 <primary sortas="b-linguist-qt5">linguist-qt5</primary>
517 </indexterm>
518 </listitem>
519 </varlistentry>
520
521 <varlistentry id="lrelease-qt5">
522 <term><command>lrelease-qt5</command></term>
523 <listitem>
524 <para>
525 is a simple command line tool. It reads a Qt project
526 file and produces message files used by the application.
527 </para>
528 <indexterm zone="qt5 lrelease-qt5">
529 <primary sortas="b-lrelease-qt5">lrelease-qt5</primary>
530 </indexterm>
531 </listitem>
532 </varlistentry>
533
534 <varlistentry id="lupdate-qt5">
535 <term><command>lupdate-qt5</command></term>
536 <listitem>
537 <para>
538 reads a Qt project file, finds the translatable
539 strings in the specified source, header and Qt Designer
540 interface files, and produces or updates the translation
541 files listed in the project file.
542 </para>
543 <indexterm zone="qt5 lupdate-qt5">
544 <primary sortas="b-lupdate-qt5">lupdate-qt5</primary>
545 </indexterm>
546 </listitem>
547 </varlistentry>
548
549 <varlistentry id="moc-qt5">
550 <term><command>moc-qt5</command></term>
551 <listitem>
552 <para>
553 generates Qt meta object support code.
554 </para>
555 <indexterm zone="qt5 moc-qt5">
556 <primary sortas="b-moc-qt5">moc-qt5</primary>
557 </indexterm>
558 </listitem>
559 </varlistentry>
560
561 <varlistentry id="pixeltool-qt5">
562 <term><command>pixeltool-qt5</command></term>
563 <listitem>
564 <para>
565 is a desktop magnifier and as you move your mouse around
566 the screen it will show the magnified contents in its window.
567 </para>
568 <indexterm zone="qt5 pixeltool-qt5">
569 <primary sortas="b-pixeltool-qt5">pixeltool-qt5</primary>
570 </indexterm>
571 </listitem>
572 </varlistentry>
573
574 <varlistentry id="qmake-qt5">
575 <term><command>qmake-qt5</command></term>
576 <listitem>
577 <para>
578 uses information stored in project files to
579 determine what should go in the makefiles it
580 generates.
581 </para>
582 <indexterm zone="qt5 qmake-qt5">
583 <primary sortas="b-qmake-qt5">qmake-qt5</primary>
584 </indexterm>
585 </listitem>
586 </varlistentry>
587
588 <varlistentry id="rcc-qt5">
589 <term><command>rcc-qt5</command></term>
590 <listitem>
591 <para>
592 is a resource compiler used in conjunction with designer.
593 </para>
594 <indexterm zone="qt5 rcc-qt5">
595 <primary sortas="b-rcc-qt5">rcc-qt5</primary>
596 </indexterm>
597 </listitem>
598 </varlistentry>
599
600 <varlistentry id="uic-qt5">
601 <term><command>uic-qt5</command></term>
602 <listitem>
603 <para>
604 is a Qt user interface compiler.
605 </para>
606 <indexterm zone="qt5 uic-qt5">
607 <primary sortas="b-uic-qt5">uic-qt5</primary>
608 </indexterm>
609 </listitem>
610 </varlistentry>
611
612 </variablelist>
613
614 </sect2>
615
616</sect1>
Note: See TracBrowser for help on using the repository browser.