source: x/lib/qt5-components.xml

trunk
Last change on this file was c40076f, checked in by Douglas R. Reno <renodr@…>, 2 months ago

Tags

  • Property mode set to 100644
File size: 6.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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.15">
8 <!ENTITY qt5-url "https://download.qt.io/archive/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 "3fb1cd4f763f5d50d491508b7b99fb77">
13 <!ENTITY qt5-size "630 MB">
14 <!ENTITY qt5-buildsize "varies">
15 <!ENTITY qt5-time "varies">
16]>
17
18<sect1 id="qt5-components" xreflabel="qt-components-&qt5-version;">
19 <?dbhtml filename="qt5-components.html" ?>
20
21 <title>qt-components-&qt5-version;</title>
22
23 <indexterm zone="qt5-components">
24 <primary sortas="a-Qt5-components">Qt Components</primary>
25 </indexterm>
26
27 <sect2 role="package">
28 <title>Introduction to qt5 components</title>
29
30 <para>
31 These instructions show how to build additional Qt5 components beyond
32 <xref linkend="qt5-alternate"/>. They are not applicable if the
33 full <xref linkend="qt5"/> package has been built.
34 </para>
35
36 &lfs121_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&qt5-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&qt5-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &qt5-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &qt5-size;
58 </para>
59 </listitem>
60<!--
61 <listitem>
62 <para>
63 Estimated disk space required: &qt5-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &qt5-time;
69 </para>
70 </listitem>
71-->
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Now that <application>qt5</application> updates are restricted to
79 commercial customers, upstream patches for the various modules are
80 being curated at kde.
81 Patches for the modules required by packages in BLFS have been
82 aggregated for the non-modular qt5 build we use.
83 </para>
84 <para>
85 Required patch:
86 <ulink url="&patch-root;/qt-everywhere-opensource-src-&qt5-version;-kf5-1.patch"/>
87 </para>
88 <para>
89 Details of the kde curation can be found at
90 <ulink url="https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-collection"/>
91 and <ulink url="https://community.kde.org/Qt5PatchCollection"/>.
92 </para>
93 </listitem>
94 </itemizedlist>
95
96 <bridgehead renderas="sect3">qt5 components Dependencies</bridgehead>
97
98 <bridgehead renderas="sect4">Required</bridgehead>
99 <para role="required">
100 <xref linkend="qt5-alternate"/>
101 </para>
102
103 <bridgehead renderas="sect4">Recommended dependencies for qtimageformats</bridgehead>
104 <para role="recommended">
105 <xref linkend="jasper"/>,
106 <xref linkend="libmng"/>,
107 <xref linkend="libtiff"/>, and
108 <xref linkend="libwebp"/>
109 </para>
110
111 <bridgehead renderas="sect4">Recommended dependencies for qtmultimedia</bridgehead>
112 <para role="recommended">
113 <xref linkend="gst10-plugins-good"/>,
114 <xref linkend="gst10-plugins-bad"/>, and
115 <xref linkend="gst10-plugins-ugly"/>
116 </para>
117
118 </sect2>
119
120 <sect2 role="installation">
121 <title>Installation of qt5 components</title>
122
123 <para>
124 There are a few extra components needed for different packages in BLFS.
125 These are
126 <emphasis role="bold">qtimageformats</emphasis>,
127 <emphasis role="bold">qtlocation</emphasis>,
128 <emphasis role="bold">qtwebchannel</emphasis>,
129 <emphasis role="bold">qtdoc</emphasis>, and
130 <emphasis role="bold">qtmultimedia</emphasis>.
131 Only those components specified for a specific
132 package are needed. You only need to build the relevant component(s).
133 </para>
134
135 <para>
136 First, apply a patch to pull in the fixes curated by KDE for some of the
137 modules listed above:
138 </para>
139
140<screen><userinput remap="pre">patch -Np1 -i ../qt-everywhere-opensource-src-&qt5-version;-kf5-1.patch</userinput></screen>
141
142 <para>
143 Next, if you are installing <emphasis role="bold">qtlocation</emphasis>,
144 fix the build with GCC-13:
145 </para>
146
147<screen><userinput>sed -e "/pragma once/a#include &lt;cstdint&gt;" \
148 -i qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp \
149 qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp \
150 qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp</userinput></screen>
151
152 <para>
153 Install each desired component by running the following commands:
154 </para>
155
156<screen><userinput>cd <replaceable>&lt;component&gt;</replaceable>
157qmake <replaceable>&lt;component&gt;</replaceable>.pro
158make</userinput></screen>
159
160 <para>
161 As the &root; user:
162 </para>
163
164<screen role="root"><userinput>make install</userinput></screen>
165
166 <!-- EDITORS NOTE: This package uses INSTALL_ROOT= instead of DESTDIR= for
167 installing in a temporary directory. -->
168
169 <para>
170 Remove references to the build directory from installed library
171 dependency (prl) files by running the following
172 command as the &root; user:
173 </para>
174
175<screen role="root"><userinput>find $QT5DIR/ -name \*.prl \
176 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
177
178
179 </sect2>
180
181 <sect2 role="content">
182 <title>Contents</title>
183
184 <segmentedlist>
185 <segtitle>Installed Programs</segtitle>
186 <segtitle>Installed Libraries</segtitle>
187 <segtitle>Installed Directories</segtitle>
188
189 <seglistitem>
190 <seg>
191 None
192 </seg>
193 <seg>
194 libQt5&lt;component&gt;.so
195 </seg>
196 <seg>
197 $QT5DIR/qml/&lt;component&gt;,
198 $QT5DIR/lib/cmake/&lt;component&gt;, and
199 $QT5DIR/include/&lt;component&gt;
200 </seg>
201 </seglistitem>
202 </segmentedlist>
203
204 </sect2>
205
206</sect1>
Note: See TracBrowser for help on using the repository browser.