source: x/lib/webkitgtk.xml@ 06373ad

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since 06373ad was 64e33fe5, checked in by Xi Ruoyao <xry111@…>, 5 months ago

webkitgtk: Disable WebKitWebDriver for GTK-3 build

It'll be overwritten by the GTK-4 build so we can save some build time.
And if we consider the GTK-3 build and the GTK-4 build as two packages
it's bad to allow a part of one package overwritten by another.

To be honest we even don't need WebKitWebDriver for the GTK-4 build as
no BLFS packages ever need it, but AFAIK we don't aggressively prune
packages so just keep it for GTK-4.

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