source: x/lib/webkitgtk.xml@ d3757fbd

10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since d3757fbd was d3757fbd, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Update webkit build instructions for icu-68.

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

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