source: x/lib/qt5.xml@ c32e0380

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 c32e0380 was c32e0380, checked in by Krejzi <krejzi@…>, 11 years ago

some more qt5 improvements, thanks Bruce.

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

  • Property mode set to 100644
File size: 17.0 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="xcb-util-image"/>,
97 <xref linkend="xcb-util-keysyms"/>,
98 <xref linkend="xcb-util-renderutil"/> and
99 <xref linkend="xcb-util-wm"/>
100 </para>
101
102 <bridgehead renderas="sect4">Recommended</bridgehead>
103 <para role="recommended">
104 <xref linkend="cacerts"/>,
105 <xref linkend="cups"/>,
106 <xref linkend="dbus"/>,
107 <xref linkend="glib2"/>,
108 <xref linkend="gst-plugins-base"/>,
109 <xref linkend="icu"/>,
110 <xref linkend="libjpeg"/>,
111 <xref linkend="libpng"/>,
112 <xref linkend="libtiff"/>,
113 <xref linkend="openssl"/>,
114 <xref linkend="pcre"/> and
115 <xref linkend="sqlite"/>
116 </para>
117
118 <bridgehead renderas="sect4">Optional</bridgehead>
119 <para role="optional">
120 <xref linkend="gst10-plugins-base"/> (QtWebKit HTML5 Video Support),
121 <xref linkend="gtk2"/> (GTK+ Theme Support),
122 <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
123 <xref linkend="mysql"/>,
124 <xref linkend="postgresql"/>,
125 <xref linkend="pulseaudio"/> and
126 <xref linkend="unixodbc"/>
127 </para>
128
129 <para condition="html" role="usernotes">User Notes:
130 <ulink url="&blfs-wiki;/qt5"/>
131 </para>
132 </sect2>
133
134 <sect2 role="installation">
135 <title>Installation of Qt</title>
136
137 <warning>
138 <para>
139 If you did not install some of the recommended dependencies, examine
140 <command>./configure --help</command> output to check how to disable
141 them or use internal versions bundled in the source tarball.
142 </para>
143 </warning>
144
145 <para>
146 Install <application>Qt</application> by running the
147 following commands:
148 </para>
149
150<screen><userinput>patch -Np1 -i ../qt-&qt5-version;-bison_fixes-1.patch &amp;&amp;
151./configure -confirm-license \
152 -opensource \
153 -prefix /usr \
154 -bindir /usr/lib/qt5/bin \
155 -headerdir /usr/include/qt5 \
156 -archdatadir /usr/lib/qt5 \
157 -datadir /usr/share/qt5 \
158 -translationdir /usr/share/qt5/translations \
159 -sysconfdir /etc/xdg \
160 -docdir /usr/share/doc/qt5 \
161 -examplesdir /usr/share/doc/qt5/examples \
162 -dbus-linked \
163 -openssl-linked \
164 -system-sqlite \
165 -plugin-sql-sqlite \
166 -no-nis \
167 -nomake examples \
168 -opengl es2 \
169 -optimized-qmake &amp;&amp;
170make</userinput></screen>
171
172 <para>
173 Remove references to the build directory from pkg-confg
174 files by running the following command:
175 </para>
176
177<screen><userinput>find . -name "*.pc" -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \;</userinput></screen>
178
179 <para>
180 This package does not come with a test suite.
181 </para>
182
183 <para>
184 Now, as the <systemitem class="username">root</systemitem> user:
185 </para>
186
187<screen role="root"><userinput>make install &amp;&amp;
188install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
189 /usr/share/pixmaps/assistant-qt5.png &amp;&amp;
190install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
191 /usr/share/pixmaps/designer-qt5.png &amp;&amp;
192install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
193 /usr/share/pixmaps/linguist-qt5.png &amp;&amp;
194install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
195 /usr/share/pixmaps/qdbusviewer-qt5.png</userinput></screen>
196
197 <para>
198 Remove references to the build directory from installed files by
199 running the following commands as the
200 <systemitem class="username">root</systemitem> user:
201 </para>
202
203<screen role="root"><userinput>sed -i -e "s:$PWD/qtbase:/usr/lib/qt5:g" \
204 /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap.pri &amp;&amp;
205find /usr/lib/*.prl -exec sed -i -e \
206 '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;</userinput></screen>
207
208 <para>
209 Symlink the <application>Qt</application> executables into
210 <filename class="directory">/usr/bin</filename> by running the
211 following commands as the
212 <systemitem class="username">root</systemitem> user:
213 </para>
214
215<screen role="root"><userinput>for file in /usr/lib/qt5/bin/*
216do
217 ln -sfv ../lib/qt5/bin/$(basename $file) /usr/bin/$(basename $file)-qt5
218done</userinput></screen>
219
220 </sect2>
221
222 <sect2 role="commands">
223 <title>Command Explanations</title>
224
225 <para>
226 <parameter>-confirm-license</parameter>: Accept license
227 without prompting user during configuration.
228 </para>
229
230 <para>
231 <parameter>-opensource</parameter>: Install the opensource
232 version of <application>Qt</application>.
233 </para>
234
235 <para>
236 <parameter>-release</parameter>: This switch disables
237 building with debugging symbols.
238 </para>
239
240 <para>
241 <parameter>-nomake examples</parameter>: This switch
242 disables building of the example programs included
243 in the source tarball. Remove it if you want to build
244 them.
245 </para>
246
247 <para>
248 <parameter>-system-sqlite</parameter>: This switch enables use
249 of the system version of <application>SQLite</application>.
250 </para>
251
252 <para>
253 <parameter>-no-nis</parameter>: This switch disables support
254 for Network Information Service (NIS) which has been
255 removed from recent versions of <application>Glibc</application>.
256 </para>
257
258 <para>
259 <parameter>-dbus-linkend -openssl-linkend</parameter>: These
260 switches enable explicit linking of the
261 <application>D-Bus</application> and
262 <application>OpenSSL</application> libraries into
263 <application>Qt</application> libraries instead of
264 <command>dlopen()</command>-ing them.
265 </para>
266
267 <para>
268 <parameter>-plugin-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>:
269 These switches enable SQL support in the
270 <application>Qt</application> libraries. Available drivers are:
271 ibase, mysql, psql, sqlite and odbc.
272 </para>
273
274 <para>
275 <parameter>-opengl es2</parameter>: This switch enables OpenGL ES2
276 support in <application>Qt</application>.
277 </para>
278
279 <para>
280 <parameter>-optimized-qmake</parameter>: This switch enables
281 building of the optimized <command>qmake</command> program.
282 </para>
283
284 </sect2>
285
286 <sect2 role="configuration">
287 <title>Configuring Qt</title>
288
289 <sect3 id="qt5-config">
290 <title>Configuration Information</title>
291
292 <para>
293 Create the menu entries for installed applications.
294 As the <systemitem class="username">root</systemitem> user:
295 </para>
296
297<screen role="root"><userinput>install -dm755 /usr/share/applications
298cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; "EOF"
299<literal>[Desktop Entry]
300Name=Qt5 Assistant
301Comment=Shows Qt5 documentation and examples
302Exec=assistant-qt5
303Icon=assistant-qt5
304Terminal=false
305Encoding=UTF-8
306Type=Application
307Categories=Qt;Development;Documentation;</literal>
308EOF
309cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; "EOF"
310<literal>[Desktop Entry]
311Name=Qt5 Designer
312GenericName=Interface Designer
313Comment=Design GUIs for Qt5 applications
314Exec=designer-qt5
315Icon=designer-qt5
316MimeType=application/x-designer;
317Terminal=false
318Encoding=UTF-8
319Type=Application
320Categories=Qt;Development;</literal>
321EOF
322cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; "EOF"
323<literal>[Desktop Entry]
324Name=Qt5 Linguist
325Comment=Add translations to Qt5 applications
326Exec=linguist-qt5
327Icon=linguist-qt5
328MimeType=text/vnd.trolltech.linguist;application/x-linguist;
329Terminal=false
330Encoding=UTF-8
331Type=Application
332Categories=Qt;Development;</literal>
333EOF
334cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; "EOF"
335<literal>[Desktop Entry]
336Name=Qt5 QDbusViewer
337GenericName=D-Bus Debugger
338Comment=Debug D-Bus applications
339Exec=qdbusviewer-qt5
340Icon=qdbusviewer-qt5
341Terminal=false
342Encoding=UTF-8
343Type=Application
344Categories=Qt;Development;Debugger;</literal>
345EOF</userinput></screen>
346
347 </sect3>
348
349 </sect2>
350
351 <sect2 role="content">
352 <title>Contents</title>
353
354 <segmentedlist>
355 <segtitle>Installed Programs</segtitle>
356 <segtitle>Installed Libraries</segtitle>
357 <segtitle>Installed Directories</segtitle>
358
359 <seglistitem>
360 <seg>
361 assistant-qt5, designer-qt5, lconvert-qt5, linguist-qt5, lrelease-qt5,
362 lupdate-qt5, moc-qt5, pixeltool-qt5, qcollectiongenerator-qt5,
363 qdbuscpp2xml-qt5, qdbus-qt5, qdbusviewer-qt5, qdbusxml2cpp-qt5, qdoc-qt5,
364 qhelpconverter-qt5, qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5,
365 qmlbundle-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qmlscene-qt5,
366 qmltestrunner-qt5, qmlviewer-qt5, rcc-qt5, syncqt.pl-qt5, uic-qt5,
367 xmlpatterns-qt5 and xmlpatternsvalidator-qt5
368 </seg>
369 <seg>
370 libqgsttools_p.so, libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so,
371 libQt5Core.so, libQt5DBus.so, libQt5Declarative.so, libQt5DesignerComponents.so,
372 libQt5Designer.so, libQt5Gui.so, libQt5Help.so, libQt5MultimediaQuick_p.so,
373 libQt5Multimedia.so, libQt5MultimediaWidgets.so, libQt5Network.so,
374 libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PlatformSupport.a,
375 libQt5PrintSupport.so, libQt5QmlDevTools.a, libQt5Qml.so, libQt5QuickParticles.so,
376 libQt5Quick.so, libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so,
377 libQt5Sensors.so, libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so,
378 libQt5UiTools.a, libQt5V8.so, libQt5WebKit.so, libQt5WebKitWidgets.so,
379 libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so and libQt5Xml.so
380 </seg>
381 <seg>
382 /usr/include/qt5,
383 /usr/lib/qt5,
384 /usr/share/doc/qt5 and
385 /usr/share/qt5
386 </seg>
387 </seglistitem>
388 </segmentedlist>
389
390 <variablelist>
391 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
392 <?dbfo list-presentation="list"?>
393 <?dbhtml list-presentation="table"?>
394
395 <varlistentry id="assistant-qt5">
396 <term><command>assistant-qt5</command></term>
397 <listitem>
398 <para>
399 is a tool for presenting on-line documentation.
400 </para>
401 <indexterm zone="qt5 assistant-qt5">
402 <primary sortas="b-assistant-qt5">assistant-qt5</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="designer-qt5">
408 <term><command>designer-qt5</command></term>
409 <listitem>
410 <para>
411 is a full-fledged GUI builder. It includes
412 powerful features such as preview mode, automatic widget
413 layout, support for custom widgets, and an advanced
414 property editor.
415 </para>
416 <indexterm zone="qt5 designer-qt5">
417 <primary sortas="b-designer-qt5">designer-qt5</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="linguist-qt5">
423 <term><command>linguist-qt5</command></term>
424 <listitem>
425 <para>
426 provides support for translating applications into
427 local languages.
428 </para>
429 <indexterm zone="qt5 linguist-qt5">
430 <primary sortas="b-linguist-qt5">linguist-qt5</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="lrelease-qt5">
436 <term><command>lrelease-qt5</command></term>
437 <listitem>
438 <para>
439 is a simple command line tool. It reads a Qt project
440 file and produces message files used by the application.
441 </para>
442 <indexterm zone="qt5 lrelease-qt5">
443 <primary sortas="b-lrelease-qt5">lrelease-qt5</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="lupdate-qt5">
449 <term><command>lupdate-qt5</command></term>
450 <listitem>
451 <para>
452 reads a Qt project file, finds the translatable
453 strings in the specified source, header and Qt Designer
454 interface files, and produces or updates the translation
455 files listed in the project file.
456 </para>
457 <indexterm zone="qt5 lupdate-qt5">
458 <primary sortas="b-lupdate-qt5">lupdate-qt5</primary>
459 </indexterm>
460 </listitem>
461 </varlistentry>
462
463 <varlistentry id="moc-qt5">
464 <term><command>moc-qt5</command></term>
465 <listitem>
466 <para>
467 generates Qt meta object support code.
468 </para>
469 <indexterm zone="qt5 moc-qt5">
470 <primary sortas="b-moc-qt5">moc-qt5</primary>
471 </indexterm>
472 </listitem>
473 </varlistentry>
474
475 <varlistentry id="pixeltool-qt5">
476 <term><command>pixeltool-qt5</command></term>
477 <listitem>
478 <para>
479 is a desktop magnifier and as you move your mouse around
480 the screen it will show the magnified contents in its window.
481 </para>
482 <indexterm zone="qt5 pixeltool-qt5">
483 <primary sortas="b-pixeltool-qt5">pixeltool-qt5</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="qmake-qt5">
489 <term><command>qmake-qt5</command></term>
490 <listitem>
491 <para>
492 uses information stored in project files to
493 determine what should go in the makefiles it
494 generates.
495 </para>
496 <indexterm zone="qt5 qmake-qt5">
497 <primary sortas="b-qmake-qt5">qmake-qt5</primary>
498 </indexterm>
499 </listitem>
500 </varlistentry>
501
502 <varlistentry id="rcc-qt5">
503 <term><command>rcc-qt5</command></term>
504 <listitem>
505 <para>
506 is a resource compiler used in conjunction with designer.
507 </para>
508 <indexterm zone="qt5 rcc-qt5">
509 <primary sortas="b-rcc-qt5">rcc-qt5</primary>
510 </indexterm>
511 </listitem>
512 </varlistentry>
513
514 <varlistentry id="uic-qt5">
515 <term><command>uic-qt5</command></term>
516 <listitem>
517 <para>
518 is a Qt user interface compiler.
519 </para>
520 <indexterm zone="qt5 uic-qt5">
521 <primary sortas="b-uic-qt5">uic-qt5</primary>
522 </indexterm>
523 </listitem>
524 </varlistentry>
525
526 </variablelist>
527
528 </sect2>
529
530</sect1>
Note: See TracBrowser for help on using the repository browser.