source: x/lib/webkitgtk.xml@ b01309e7

11.0 ken/refactor-virt lazarus qt5new trunk
Last change on this file since b01309e7 was b01309e7, checked in by Douglas R. Reno <renodr@…>, 6 months ago

Update to ICU-69.1
Fix building WebKitGTK+ with ICU-69.1 (patch from Xi Ruoyao)
Fix building Node.JS with ICU-69.1 (patch from Ken Moffat)

  • Property mode set to 100644
File size: 13.4 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 webkitgtk-download-http "https://webkitgtk.org/releases/webkitgtk-&webkitgtk-version;.tar.xz">
8 <!ENTITY webkitgtk-download-ftp " ">
9 <!ENTITY webkitgtk-md5sum "a24a9441ad01617be9ac95097cd31e08">
10 <!ENTITY webkitgtk-size "22 MB">
11 <!ENTITY webkitgtk-buildsize "899 MB (127 MB installed)">
12 <!ENTITY webkitgtk-time "29 SBU (using parallelism=4, estimated 96 SBU using one core)">
13]>
14
15<sect1 id="webkitgtk" xreflabel="WebKitGTK-&webkitgtk-version;">
16 <?dbhtml filename="webkitgtk.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>WebKitGTK-&webkitgtk-version;</title>
23
24 <indexterm zone="webkitgtk">
25 <primary sortas="a-WebKitGTK">WebKitGTK</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to WebKitGTK</title>
30
31 <para>
32 The <application>WebKitGTK</application> package is a port of the
33 portable web rendering engine <application>WebKit</application> to the
34 <application>GTK+ 3</application> and <application>GTK+ 2</application>
35 platforms.
36 </para>
37
38 &lfs101_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&webkitgtk-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&webkitgtk-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &webkitgtk-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &webkitgtk-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &webkitgtk-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &webkitgtk-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Required patch:
79 <ulink url="&patch-root;/webkitgtk-&webkitgtk-version;-icu_69-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83
84 <bridgehead renderas="sect3">WebKitGTK Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Required</bridgehead>
87 <para role="required">
88 <xref linkend="cairo"/>,
89 <xref linkend="cmake"/>,
90 <xref linkend="gst10-plugins-base"/>,
91 <xref linkend="gst10-plugins-bad"/>,
92 <xref linkend="gtk3"/>,
93 <xref linkend="icu"/>,
94 <xref linkend="libgudev"/>,
95 <xref linkend="libsecret"/>,
96 <xref linkend="libsoup"/>,
97 <xref linkend="libtasn1"/>,
98 <xref linkend="libwebp"/>,
99 <xref linkend="mesa"/>,
100 <xref linkend="openjpeg2"/>,
101 <xref linkend="ruby"/>,
102 <xref linkend="sqlite"/>, and
103 <xref linkend="which"/>
104 </para>
105
106 <bridgehead renderas="sect4">Recommended</bridgehead>
107 <para role="recommended">
108 <xref linkend="enchant"/>,
109 <xref linkend="geoclue2"/>,
110 <xref linkend="gobject-introspection"/>,
111 <xref linkend="hicolor-icon-theme"/>, and
112 <xref linkend="libnotify"/>
113 </para>
114
115 <bridgehead renderas="sect4">Optional</bridgehead>
116 <para role="optional">
117 <xref linkend="bubblewrap"/>,
118 <xref linkend="gtk-doc"/>,
119 <xref linkend="gtk4"/>,
120 <xref linkend="harfbuzz"/>,
121 <xref linkend="wayland"/>,
122 <xref linkend="woff2"/>,
123 <ulink url="https://ccache.dev/">ccache</ulink>,
124 <ulink url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>,
125 <ulink url="http://xsltml.sourceforge.net/">MathML</ulink>,
126 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>,
127 <ulink url="https://github.com/WebPlatformForEmbedded/libwpe">libwpe</ulink>,
128 <ulink url="https://github.com/Igalia/WPEBackend-fdo">WPEBackend-fdo</ulink>, and
129 <ulink url="https://github.com/flatpak/xdg-dbus-proxy">xdg-dbus-proxy</ulink>
130 </para>
131
132 <para condition="html" role="usernotes">
133 User Notes: <ulink url="&blfs-wiki;/webkitgtk"/>
134 </para>
135 </sect2>
136
137 <sect2 role="installation">
138 <title>Installation of WebKitGTK</title>
139
140 <bridgehead renderas="sect3">Installation of
141 <application>WebKitGTK</application></bridgehead>
142
143<!--
144 <para>First, ensure backward compatibility with the latest version of icu:</para>
145
146<screen><userinput>echo 'add_compile_definitions("U_DEFINE_FALSE_AND_TRUE=1")' &gt;&gt; Source/WTF/wtf/CMakeLists.txt</userinput></screen>
147-->
148
149 <!-- Needed for ICU-69.1 -->
150 <para>
151 First, fix building with ICU-69.1:
152 </para>
153
154<screen><userinput remap="pre">patch -Np1 -i ../webkitgtk-&webkitgtk-version;-icu_69-1.patch</userinput></screen>
155
156 <para>
157 Install <application>WebKitGTK</application> by running the
158 following commands:
159 </para>
160
161<screen revision="systemd"><userinput>mkdir -vp build &amp;&amp;
162cd build &amp;&amp;
163
164cmake -DCMAKE_BUILD_TYPE=Release \
165 -DCMAKE_INSTALL_PREFIX=/usr \
166 -DCMAKE_SKIP_RPATH=ON \
167 -DPORT=GTK \
168 -DLIB_INSTALL_DIR=/usr/lib \
169 -DUSE_LIBHYPHEN=OFF \
170 -DENABLE_GAMEPAD=OFF \
171 -DENABLE_MINIBROWSER=ON \
172 -DUSE_WOFF2=OFF \
173 -DUSE_WPE_RENDERER=OFF \
174 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
175 -Wno-dev -G Ninja .. &amp;&amp;
176ninja</userinput></screen>
177
178<screen revision="sysv"><userinput>mkdir -vp build &amp;&amp;
179cd build &amp;&amp;
180
181cmake -DCMAKE_BUILD_TYPE=Release \
182 -DCMAKE_INSTALL_PREFIX=/usr \
183 -DCMAKE_SKIP_RPATH=ON \
184 -DPORT=GTK \
185 -DLIB_INSTALL_DIR=/usr/lib \
186 -DUSE_LIBHYPHEN=OFF \
187 -DENABLE_GAMEPAD=OFF \
188 -DENABLE_MINIBROWSER=ON \
189 -DUSE_WOFF2=OFF \
190 -DUSE_WPE_RENDERER=OFF \
191 -DUSE_SYSTEMD=OFF \
192 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
193 -Wno-dev -G Ninja .. &amp;&amp;
194ninja</userinput></screen>
195
196 <para>
197 This package does not have a working testsuite. However, there is a
198 usable basic graphical web browser in the build directory,
199 <application>build/bin/MiniBrowser</application>. If launching it fails,
200 there is a problem with the build.
201 </para>
202
203 <note><para>
204 When installing, the Makefile does some additional compiling and linking.
205 If you do not have Xorg in /usr, the LIBRARY_PATH and PKG_CONFIG_PATH
206 variables need to be defined for the root user. If using sudo to assume
207 root, use the -E option to pass your current environment variables for the
208 install process.
209 </para></note>
210
211 <para>
212 Now, as the <systemitem class="username">root</systemitem> user:
213 </para>
214
215<screen role="root"><userinput>ninja install &amp;&amp;
216
217install -vdm755 /usr/share/gtk-doc/html/webkit{2,dom}gtk-4.0 &amp;&amp;
218install -vm644 ../Documentation/webkit2gtk-4.0/html/* \
219 /usr/share/gtk-doc/html/webkit2gtk-4.0 &amp;&amp;
220install -vm644 ../Documentation/webkitdomgtk-4.0/html/* \
221 /usr/share/gtk-doc/html/webkitdomgtk-4.0</userinput></screen>
222 </sect2>
223
224 <sect2 role="commands">
225 <title>Command Explanations</title>
226
227<!-- <para>
228 <command>sed ... TextCheckerEnchant.cpp</command>: This command
229 is needed to allow the build to complete with enchant-2.x.
230 </para> -->
231
232 <para>
233 <parameter>-DUSE_LIBHYPHEN=OFF</parameter>: This switch disables
234 default automatic hyphenation implementation. You need to install
235 <ulink
236 url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>,
237 if you wish to enable it (replacing OFF with ON or just removing
238 the switch).
239 </para>
240
241 <para>
242 <parameter>-DENABLE_GAMEPAD=OFF</parameter>: This switch disables
243 gamepad support. Remove this switch if you have
244 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>
245 installed and wish to enable it.
246 </para>
247
248 <para>
249 <parameter>-DENABLE_MINIBROWSER=ON</parameter>: This switch enables
250 compiling and installing the MiniBrowser.
251 </para>
252
253 <para>
254 <parameter>-DUSE_WPE_RENDERER=OFF</parameter>: Remove this switch if the optional
255 packages <ulink url="https://github.com/WebPlatformForEmbedded/libwpe">libwpe</ulink> and
256 <ulink url="https://github.com/Igalia/WPEBackend-fdo">WPEBackend-fdo</ulink> are installed.
257 </para>
258
259 <para>
260 <parameter>-DENABLE_BUBBLEWRAP_SANDBOX=OFF</parameter>: Remove this
261 switch if the optional packages <xref linkend="bubblewrap"/> and
262 <ulink url="https://github.com/flatpak/xdg-dbus-proxy">xdg-dbus-proxy</ulink>
263 are installed.
264 </para>
265
266 <para revision="sysv">
267 <parameter>-DUSE_SYSTEMD=OFF</parameter>: This switch disables using the
268 systemd journal for logging errors and debugging information since it
269 is not available on SysV systems.
270 </para>
271
272 <para>
273 <option>-DUSE_LIBNOTIFY=OFF</option>: Use this switch if you do not
274 have <application>libnotify</application> installed.
275 </para>
276
277 <para>
278 <option>-DUSE_SYSTEM_MALLOC=ON</option>: This switch enables building
279 against the system installed <application>malloc</application>.
280 </para>
281
282 <para>
283 <option>-DENABLE_GEOLOCATION=OFF</option>: Use this switch if you don't
284 want to install <xref linkend="geoclue2"/>.
285 </para>
286
287 <para>
288 <option>-DENABLE_GTKDOC=ON</option>: Use this switch if <xref
289 linkend="gtk-doc"/> is installed and you wish to rebuild and install the
290 API documentation.
291 </para>
292
293 <para>
294 <option>-DUSE_WOFF2=ON</option>: Use this switch if the optional
295 package <xref linkend="woff2"/> is installed. This adds additional
296 support for fonts.
297 </para>
298
299 <!-- Uncomment once GTK4 support works, or when it doesn't require
300 a development version of libsoup.
301 <para>
302 <option>-DUSE_GTK4=ON</option>: Use this switch if <xref linkend="gtk4"/>
303 is installed and you wish to build GTK4 support.
304 </para>
305 -->
306
307 </sect2>
308
309 <sect2 role="content">
310 <title>Contents</title>
311
312 <segmentedlist>
313 <segtitle>Installed Program</segtitle>
314 <segtitle>Installed Libraries</segtitle>
315 <segtitle>Installed Directories</segtitle>
316
317 <seglistitem>
318 <seg>
319<!-- Moved to /usr/libexec/webkit2gtk-4.0, so shouldn't appear here
320 jsc,
321 MiniBrowser, and -->
322 WebKitWebDriver
323 </seg>
324 <seg>
325 libjavascriptcoregtk-4.0.so and
326 libwebkit2gtk-4.0.so
327 </seg>
328 <seg>
329 /usr/include/webkitgtk-4.0,
330 /usr/lib{,exec}/webkit2gtk-4.0, and
331 /usr/share/gtk-doc/html/webkit{2,dom}gtk-4.0
332 </seg>
333 </seglistitem>
334 </segmentedlist>
335
336 <variablelist>
337 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
338 <?dbfo list-presentation="list"?>
339 <?dbhtml list-presentation="table"?>
340
341<!--
342 <varlistentry id="jsc">
343 <term><command>jsc</command></term>
344 <listitem>
345 <para>
346 is a command-line utility that allows you to run JavaScript programs
347 outside of the context of a web browser.
348 </para>
349 <indexterm zone="webkitgtk jsc">
350 <primary sortas="b-jsc">jsc</primary>
351 </indexterm>
352 </listitem>
353 </varlistentry>
354
355 <varlistentry id="MiniBrowser">
356 <term><command>MiniBrowser</command></term>
357 <listitem>
358 <para>
359 is a very simple graphical browser.
360 </para>
361 <indexterm zone="webkitgtk MiniBrowser">
362 <primary sortas="b-MiniBrowser">MiniBrowser</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366-->
367 <varlistentry id="WebKitWebDriver">
368 <term><command>WebKitWebDriver</command></term>
369 <listitem>
370 <para>
371 allows debugging and automation of web pages and browsers
372 </para>
373 <indexterm zone="webkitgtk WebKitWebDriver">
374 <primary sortas="b-WebKitWebDriver">WebKitWebDriver</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="libjavascriptcoregtk-4.0">
380 <term>
381 <filename class="libraryfile">libjavascriptcoregtk-4.0.so</filename>
382 </term>
383 <listitem>
384 <para>
385 contains core JavaScript API functions used by
386 <command>jsc</command> and
387 <filename class="libraryfile">libwebkit2gtk-4.0</filename>
388 </para>
389 <indexterm zone="webkitgtk libjavascriptcoregtk-4.0">
390 <primary sortas="c-libjavascriptcoregtk-4.0">libjavascriptcoregtk-4.0.0.so</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry id="libwebkit2gtk-4">
396 <term><filename class="libraryfile">libwebkit2gtk-4.0.so</filename></term>
397 <listitem>
398 <para>
399 contains the <application>WebKit2</application> API functions
400 </para>
401 <indexterm zone="webkitgtk libwebkit2gtk-4">
402 <primary sortas="c-libwebkit2gtk-4">libwebkit2gtk-4.0.so</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 </variablelist>
408
409 </sect2>
410
411</sect1>
Note: See TracBrowser for help on using the repository browser.