source: x/lib/webkitgtk.xml@ 9acdb9d

lazarus trunk
Last change on this file since 9acdb9d was 9acdb9d, checked in by Xi Ruoyao <xry111@…>, 3 months ago

Update to webkitgtk-2.44.0 (#19478)

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