source: x/lib/webkitgtk.xml@ 44b3f440

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 44b3f440 was 1bfeb78, checked in by Douglas R. Reno <renodr@…>, 9 months ago

Update to webkitgtk-2.41.92

  • Property mode set to 100644
File size: 17.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 "dbfa3fa8c67931611501c75d8fc5fbac">
10 <!ENTITY webkitgtk-size "39 MB">
11 <!ENTITY webkitgtk-buildsize "1.2 GB (201 MB installed, add 152 MB for GTK-4)">
12 <!ENTITY webkitgtk-time "35 SBU (for GTK-3, using parallelism=4, add 34 SBU for GTK-4)">
13]>
14
15<sect1 id="webkitgtk" xreflabel="WebKitGTK-&webkitgtk-version;">
16 <?dbhtml filename="webkitgtk.html"?>
17
18
19 <title>WebKitGTK-&webkitgtk-version;</title>
20
21 <indexterm zone="webkitgtk">
22 <primary sortas="a-WebKitGTK">WebKitGTK</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to WebKitGTK</title>
27
28 <para>
29 The <application>WebKitGTK</application> package is a port of the
30 portable web rendering engine <application>WebKit</application> to the
31 <application>GTK+ 3</application> and <application>GTK 4</application>
32 platforms.
33 </para>
34
35 &lfs120_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&webkitgtk-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&webkitgtk-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &webkitgtk-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &webkitgtk-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &webkitgtk-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &webkitgtk-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71<!--
72 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
73 <itemizedlist spacing="compact">
74 <listitem>
75 <para>
76 Required patch:
77 <ulink url="&patch-root;/webkitgtk-&webkitgtk-version;-consolidated_fixes-1.patch"/>
78 </para>
79 </listitem>
80 </itemizedlist>
81-->
82
83 <bridgehead renderas="sect3">WebKitGTK Dependencies</bridgehead>
84
85 <bridgehead renderas="sect4">Required</bridgehead>
86 <para role="required">
87 <xref linkend="cairo"/>,
88 <xref linkend="cmake"/>,
89 <xref linkend="gst10-plugins-base"/>,
90 <xref linkend="gst10-plugins-bad"/>,
91 <xref linkend="gtk3"/>,
92 <xref linkend="gtk4"/>,
93 <xref linkend="icu"/>,
94 <xref linkend="lcms2"/>,
95 <xref linkend="libgudev"/>,
96 <xref linkend="libsecret"/>,
97 <xref linkend="libsoup3"/>,
98 <xref linkend="libtasn1"/>,
99 <xref linkend="libwebp"/>,
100 <xref linkend="mesa"/>,
101 <xref linkend="openjpeg2"/>,
102 <xref linkend="ruby"/>,
103 <xref linkend="sqlite"/>,
104 <xref linkend="unifdef"/>,
105 <xref linkend="which"/>, and
106 <xref linkend="wpebackend-fdo"/>
107 </para>
108
109 <bridgehead renderas="sect4">Recommended</bridgehead>
110 <para role="recommended">
111 <xref linkend="bubblewrap"/>,
112 <xref linkend="enchant"/>,
113 <xref linkend="geoclue2"/>,
114 <xref linkend="gobject-introspection"/>,
115 <xref linkend="hicolor-icon-theme"/>,
116 <xref linkend="libavif"/>, and
117 <xref linkend="xdg-dbus-proxy"/>
118 </para>
119
120 <bridgehead renderas="sect4">Optional</bridgehead>
121 <para role="optional">
122 <!--<xref linkend="bubblewrap"/>,-->
123 <xref linkend="gi-docgen"/>,
124 <xref linkend="harfbuzz"/>,
125 <xref linkend="wayland"/>,
126 <xref linkend="woff2"/>,
127 <ulink url="https://ccache.dev/">ccache</ulink>,
128 <ulink url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>,
129 <!--<ulink url="https://github.com/AOMediaCodec/libavif">libavif</ulink>,-->
130 <ulink url="https://github.com/libjxl/libjxl">libjxl</ulink>, and
131 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>
132 <!--<ulink url="https://github.com/flatpak/xdg-dbus-proxy">xdg-dbus-proxy</ulink>-->
133 </para>
134
135 <para condition="html" role="usernotes">
136 Editor Notes: <ulink url="&blfs-wiki;/webkitgtk"/>
137 </para>
138 </sect2>
139
140 <sect2 role="installation">
141 <title>Installation of WebKitGTK</title>
142
143 <bridgehead renderas="sect3">Installation of
144 <application>WebKitGTK</application></bridgehead>
145
146<!--
147 <para>
148 First, fix a problem when not using BUBBLEWRAP_SANDBOX:
149 </para>
150
151<screen><userinput>sed -i '39,66 s:^://:' Source/WTF/wtf/glib/Sandbox.cpp</userinput></screen>
152-->
153
154 <important>
155 <para>
156 This package allows building with either GTK-3 or GTK-4, but not both
157 in the same build. The GTK-4 version is needed for packages such as
158 <xref linkend="epiphany"/>. Other packages, such as
159 <xref linkend="balsa"/> or <xref linkend="evolution"/>, require the
160 GTK-3 version. Both versions can be installed side by side on the
161 same system. We give build instructions for both cases below, but
162 the only difference is the setting of <command>-DUSE_GTK4</command>
163 </para>
164 </important>
165
166<!--
167 <para>
168 First, fix several security vulnerabilities and some runtime problems
169 when running in a virtual machine:
170 </para>
171
172<screen><userinput remap="pre">patch -Np1 -i ../webkitgtk-&webkitgtk-version;-consolidated_fixes-1.patch</userinput></screen>
173-->
174
175 <para>
176 If you want to install the GTK+-3 version of
177 <application>WebKitGTK</application>, run the following commands:
178 </para>
179
180<screen revision="systemd"><userinput>mkdir -vp build &amp;&amp;
181cd build &amp;&amp;
182
183cmake -DCMAKE_BUILD_TYPE=Release \
184 -DCMAKE_INSTALL_PREFIX=/usr \
185 -DCMAKE_SKIP_RPATH=ON \
186 -DPORT=GTK \
187 -DLIB_INSTALL_DIR=/usr/lib \
188 -DUSE_LIBHYPHEN=OFF \
189 -DENABLE_GAMEPAD=OFF \
190 -DENABLE_MINIBROWSER=ON \
191 -DENABLE_DOCUMENTATION=OFF \
192 -DUSE_WOFF2=OFF \
193 -DUSE_GTK4=OFF \
194 -DUSE_WPE_RENDERER=ON \
195 -DUSE_JPEGXL=OFF \
196 -DENABLE_BUBBLEWRAP_SANDBOX=ON \
197 -Wno-dev -G Ninja .. &amp;&amp;
198ninja</userinput></screen>
199
200<screen revision="sysv"><userinput>mkdir -vp build &amp;&amp;
201cd build &amp;&amp;
202
203cmake -DCMAKE_BUILD_TYPE=Release \
204 -DCMAKE_INSTALL_PREFIX=/usr \
205 -DCMAKE_SKIP_RPATH=ON \
206 -DPORT=GTK \
207 -DLIB_INSTALL_DIR=/usr/lib \
208 -DUSE_LIBHYPHEN=OFF \
209 -DENABLE_GAMEPAD=OFF \
210 -DENABLE_MINIBROWSER=ON \
211 -DENABLE_DOCUMENTATION=OFF \
212 -DUSE_WOFF2=OFF \
213 -DUSE_GTK4=OFF \
214 -DUSE_JPEGXL=OFF \
215 -DUSE_WPE_RENDERER=ON \
216 -DENABLE_JOURNALD_LOG=OFF \
217 -DENABLE_BUBBLEWRAP_SANDBOX=ON \
218 -Wno-dev -G Ninja .. &amp;&amp;
219ninja</userinput></screen>
220
221 <para>
222 This package does not have a working test suite. However, there is a
223 usable basic graphical web browser in the build directory,
224 <application>build/bin/MiniBrowser</application>. If launching it fails,
225 there is a problem with the build.
226 </para>
227
228 <para>
229 Now, as the <systemitem class="username">root</systemitem> user:
230 </para>
231
232<screen role="root"><userinput>ninja install</userinput></screen>
233
234 <para>
235 As the <option>-DENABLE_DOCUMENTATION=OFF</option> option is used,
236 the documentation is not rebuilt nor installed now. If you need the
237 documentation, you can either install <xref linkend='gi-docgen'/>
238 and remove this option from the <command>cmake</command> command,
239 or install the pre-built documentation instead:
240 </para>
241
242<screen role='root'><userinput>install -vdm755 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 &amp;&amp;
243install -vm644 ../Documentation/jsc-glib-4.1/* \
244 /usr/share/gtk-doc/html/jsc-glib-4.1 &amp;&amp;
245install -vm644 ../Documentation/webkit2gtk-4.1/* \
246 /usr/share/gtk-doc/html/webkit2gtk-4.1 &amp;&amp;
247install -vm644 ../Documentation/webkit2gtk-web-extension-4.1/* \
248 /usr/share/gtk-doc/html/webkit2gtk-web-extension-4.1</userinput></screen>
249
250 <para>
251 If you want to install the GTK4 version of
252 <application>WebKitGTK</application>, run the following commands:
253 </para>
254
255<screen revision="systemd"><userinput>rm -rf * .[^.]* &amp;&amp;
256
257cmake -DCMAKE_BUILD_TYPE=Release \
258 -DCMAKE_INSTALL_PREFIX=/usr \
259 -DCMAKE_SKIP_RPATH=ON \
260 -DPORT=GTK \
261 -DLIB_INSTALL_DIR=/usr/lib \
262 -DUSE_LIBHYPHEN=OFF \
263 -DENABLE_GAMEPAD=OFF \
264 -DENABLE_MINIBROWSER=ON \
265 -DENABLE_DOCUMENTATION=OFF \
266 -DUSE_WOFF2=OFF \
267 -DUSE_GTK4=ON \
268 -DUSE_JPEGXL=OFF \
269 -DUSE_WPE_RENDERER=ON \
270 -DENABLE_BUBBLEWRAP_SANDBOX=ON \
271 -Wno-dev -G Ninja .. &amp;&amp;
272ninja</userinput></screen>
273
274<screen revision="sysv"><userinput>rm -rf * .[^.]* &amp;&amp;
275
276cmake -DCMAKE_BUILD_TYPE=Release \
277 -DCMAKE_INSTALL_PREFIX=/usr \
278 -DCMAKE_SKIP_RPATH=ON \
279 -DPORT=GTK \
280 -DLIB_INSTALL_DIR=/usr/lib \
281 -DUSE_LIBHYPHEN=OFF \
282 -DENABLE_GAMEPAD=OFF \
283 -DENABLE_MINIBROWSER=ON \
284 -DENABLE_DOCUMENTATION=OFF \
285 -DUSE_WOFF2=OFF \
286 -DUSE_GTK4=ON \
287 -DUSE_JPEGXL=OFF \
288 -DUSE_WPE_RENDERER=ON \
289 -DENABLE_JOURNALD_LOG=OFF \
290 -DENABLE_BUBBLEWRAP_SANDBOX=ON \
291 -Wno-dev -G Ninja .. &amp;&amp;
292ninja</userinput></screen>
293
294 <para>
295 Now, as the <systemitem class="username">root</systemitem> user:
296 </para>
297
298<screen role="root"><userinput>ninja install</userinput></screen>
299
300 </sect2>
301
302 <sect2 role="commands">
303 <title>Command Explanations</title>
304
305<!-- <para>
306 <command>sed ... TextCheckerEnchant.cpp</command>: This command
307 is needed to allow the build to complete with enchant-2.x.
308 </para> -->
309
310 <para>
311 <parameter>-DUSE_LIBHYPHEN=OFF</parameter>: This switch disables the
312 default automatic hyphenation implementation. You need to install
313 <ulink
314 url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>
315 if you wish to enable it (replacing OFF with ON or just removing
316 the switch).
317 </para>
318
319 <para>
320 <parameter>-DENABLE_DOCUMENTATION=OFF</parameter>: This switch disables
321 regenerating the documentation. Remove this switch if you have
322 <xref linkend="gi-docgen"/>
323 installed and wish to regenerate the documentation.
324 </para>
325
326 <para>
327 <parameter>-DENABLE_GAMEPAD=OFF</parameter>: This switch disables
328 gamepad support. Remove this switch if you have
329 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>
330 installed and wish to enable it.
331 </para>
332
333 <para>
334 <parameter>-DENABLE_MINIBROWSER=ON</parameter>: This switch enables
335 compiling and installing the MiniBrowser.
336 </para>
337
338 <para>
339 <parameter>-DUSE_WPE_RENDERER=ON</parameter>: This switch uses the WPE
340 renderer, which is recommended by upstream.
341 </para>
342
343 <para>
344 <parameter>-DUSE_JPEGXL=OFF</parameter>: This switch turns off support
345 for JPEG-XL images. Remove it if you have the optional package
346 <ulink url="https://github.com/libjxl/libjxl">libjxl</ulink> installed.
347 </para>
348
349 <para>
350 <parameter>-DENABLE_BUBBLEWRAP_SANDBOX=ON</parameter>: This switch
351 enables the Bubblewrap sandbox, which helps mitigate the impact of most
352 security vulnerabilities in this package. Change this switch to OFF if
353 you do not want to install <xref linkend="bubblewrap" role="nodep"/> and
354 <xref linkend="xdg-dbus-proxy" role="nodep"/>, but note that this may
355 put you at risk.
356 <!-- Note: This works well on both i686 and x86_64. -renodr -->
357 </para>
358
359 <para revision="sysv">
360 <parameter>-DENABLE_JOURNALD_LOG=OFF</parameter>: This switch disables using the
361 systemd journal for logging errors and debugging information since it
362 is not available on SysV systems.
363 </para>
364
365 <para>
366 <option>-DUSE_SYSTEM_MALLOC=ON</option>: This switch enables building
367 against the system installed <application>malloc</application>.
368 </para>
369
370 <para>
371 <option>-DENABLE_GEOLOCATION=OFF</option>: Use this switch if you don't
372 want to install <xref linkend="geoclue2"/>.
373 </para>
374
375 <para>
376 <option>-DUSE_AVIF=OFF</option>: Use this switch if you don't want to
377 install <xref linkend="libavif"/>. Note that you will not have support
378 for AVIF images if you do this.
379 </para>
380
381 <para>
382 <option>-DUSE_WOFF2=ON</option>: Use this switch if the optional
383 package <xref linkend="woff2"/> is installed. This adds additional
384 support for fonts.
385 </para>
386
387 </sect2>
388
389 <sect2 role="content">
390 <title>Contents</title>
391
392 <segmentedlist>
393 <segtitle>Installed Program</segtitle>
394 <segtitle>Installed Libraries</segtitle>
395 <segtitle>Installed Directories</segtitle>
396
397 <seglistitem>
398 <seg>
399<!-- Moved to /usr/libexec/webkit2gtk-4.0, so shouldn't appear here
400 jsc,
401 MiniBrowser, and -->
402 WebKitWebDriver
403 </seg>
404 <seg>
405 libjavascriptcoregtk-4.1.so,
406 libjavascriptcoregtk-6.0.so,
407 libwebkit2gtk-4.1.so, and
408 libwebkitgtk-6.0.so
409 </seg>
410 <seg>
411 /usr/include/webkitgtk-4.1,
412 /usr/include/webkitgtk-6.0,
413 /usr/lib{,exec}/webkit2gtk-4.1,
414 /usr/lib{,exec}/webkitgtk-6.0, and
415 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1
416 </seg>
417 </seglistitem>
418 </segmentedlist>
419
420 <variablelist>
421 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
422 <?dbfo list-presentation="list"?>
423 <?dbhtml list-presentation="table"?>
424
425<!--
426 <varlistentry id="jsc">
427 <term><command>jsc</command></term>
428 <listitem>
429 <para>
430 is a command-line utility that allows you to run JavaScript programs
431 outside of the context of a web browser.
432 </para>
433 <indexterm zone="webkitgtk jsc">
434 <primary sortas="b-jsc">jsc</primary>
435 </indexterm>
436 </listitem>
437 </varlistentry>
438
439 <varlistentry id="MiniBrowser">
440 <term><command>MiniBrowser</command></term>
441 <listitem>
442 <para>
443 is a very simple graphical browser.
444 </para>
445 <indexterm zone="webkitgtk MiniBrowser">
446 <primary sortas="b-MiniBrowser">MiniBrowser</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450-->
451 <varlistentry id="WebKitWebDriver">
452 <term><command>WebKitWebDriver</command></term>
453 <listitem>
454 <para>
455 allows debugging and automation of web pages and browsers
456 </para>
457 <indexterm zone="webkitgtk WebKitWebDriver">
458 <primary sortas="b-WebKitWebDriver">WebKitWebDriver</primary>
459 </indexterm>
460 </listitem>
461 </varlistentry>
462
463 <varlistentry id="libjavascriptcoregtk-4.1">
464 <term>
465 <filename class="libraryfile">libjavascriptcoregtk-4.1.so</filename>
466 </term>
467 <listitem>
468 <para>
469 contains core JavaScript API functions used by
470 <command>jsc</command> and
471 <filename class="libraryfile">libwebkit2gtk-4.1</filename>
472 </para>
473 <indexterm zone="webkitgtk libjavascriptcoregtk-4.1">
474 <primary sortas="c-libjavascriptcoregtk-4.1">libjavascriptcoregtk-4.1.so</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 <varlistentry id="libjavascriptcoregtk-6.0">
480 <term><filename class="libraryfile">libjavascriptcoregtk-6.0.so</filename></term>
481 <listitem>
482 <para>
483 contains core JavaScript API functions used by
484 <command>jsc</command> and
485 <filename class="libraryfile">libwebkitgtk-6.0</filename>
486 </para>
487 <indexterm zone="webkitgtk libjavascriptcoregtk-6.0">
488 <primary sortas="c-libjavascriptcoregtk-6.0">libjavascriptcoregtk-6.0.so</primary>
489 </indexterm>
490 </listitem>
491 </varlistentry>
492
493 <varlistentry id="libwebkit2gtk-4">
494 <term><filename class="libraryfile">libwebkit2gtk-4.1.so</filename></term>
495 <listitem>
496 <para>
497 contains the <application>WebKit2</application> API functions
498 </para>
499 <indexterm zone="webkitgtk libwebkit2gtk-4">
500 <primary sortas="c-libwebkit2gtk-4">libwebkit2gtk-4.1.so</primary>
501 </indexterm>
502 </listitem>
503 </varlistentry>
504
505 <varlistentry id="libwebkitgtk-6">
506 <term><filename class="libraryfile">libwebkitgtk-6.0.so</filename></term>
507 <listitem>
508 <para>
509 contains the <application>WebKit</application> API functions for
510 GTK-4 applications
511 </para>
512 <indexterm zone="webkitgtk libwebkitgtk-6">
513 <primary sortas="c-libwebkitgtk-6">libwebkitgtk-6.0.so</primary>
514 </indexterm>
515 </listitem>
516 </varlistentry>
517
518 </variablelist>
519
520 </sect2>
521
522</sect1>
Note: See TracBrowser for help on using the repository browser.