source: x/lib/webkitgtk.xml@ fbcb4bc4

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since fbcb4bc4 was d0c049f, checked in by Douglas R. Reno <renodr@…>, 5 months ago

Update to WebKitGTK-2.44.1

  • Property mode set to 100644
File size: 16.9 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 " ">
[d0c049f]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)">
[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"/>,
[d0c049f]119 <xref linkend="libjxl"/>,
[3f65573]120 <xref linkend="libseccomp"/>, and
[92e5300]121 <xref linkend="xdg-dbus-proxy"/>
[4026a19]122 </para>
[1a024c3c]123
124 <bridgehead renderas="sect4">Optional</bridgehead>
[fddab91]125 <para role="optional">
[f56d2e7]126 <xref linkend="gi-docgen"/>,
[1a024c3c]127 <xref linkend="harfbuzz"/>,
[47d5a9e5]128 <xref linkend="wayland"/>,
129 <xref linkend="woff2"/>,
[9851978]130 <ulink url="https://ccache.dev/">ccache</ulink>,
[c6b192c]131 <ulink url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>,
[d0c049f]132 &libbacktrace;, and
133 <!--<ulink url="https://github.com/libjxl/libjxl">libjxl</ulink>, and-->
[92e5300]134 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>
[1a024c3c]135 </para>
136
137 </sect2>
138
139 <sect2 role="installation">
[442c799]140 <title>Installation of WebKitGTK</title>
[1a024c3c]141
142 <bridgehead renderas="sect3">Installation of
[442c799]143 <application>WebKitGTK</application></bridgehead>
[1a024c3c]144
[ab376e9]145 <important>
146 <para>
147 This package allows building with either GTK-3 or GTK-4, but not both
[95abdf87]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>
[ab376e9]154 </para>
155 </important>
156
[1a024c3c]157 <para>
[95abdf87]158 If you want to install the GTK+-3 version of
159 <application>WebKitGTK</application>, run the following commands:
[1a024c3c]160 </para>
[6fe4f013]161
[8252e757]162<screen revision="systemd"><userinput>mkdir -vp build &amp;&amp;
[24dfdcd]163cd build &amp;&amp;
[1a024c3c]164
[42b7dab]165cmake -DCMAKE_BUILD_TYPE=Release \
166 -DCMAKE_INSTALL_PREFIX=/usr \
167 -DCMAKE_SKIP_RPATH=ON \
168 -DPORT=GTK \
169 -DLIB_INSTALL_DIR=/usr/lib \
[9acdb9d]170 -DUSE_LIBBACKTRACE=OFF \
[a78d8510]171 -DUSE_LIBHYPHEN=OFF \
[40454cd2]172 -DENABLE_GAMEPAD=OFF \
[7c4f32b]173 -DENABLE_MINIBROWSER=ON \
[c7318b4]174 -DENABLE_DOCUMENTATION=OFF \
[f858bd7]175 -DUSE_WOFF2=OFF \
[95abdf87]176 -DUSE_GTK4=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 \
[c38d051]196 -DENABLE_JOURNALD_LOG=OFF \
[92e5300]197 -DENABLE_BUBBLEWRAP_SANDBOX=ON \
[8252e757]198 -Wno-dev -G Ninja .. &amp;&amp;
199ninja</userinput></screen>
200
[1a024c3c]201 <para>
[48771ae]202 This package does not have a working test suite. However, there is a
[c69b5e72]203 usable basic graphical web browser in the build directory,
[7c4f32b]204 <application>build/bin/MiniBrowser</application>. If launching it fails,
205 there is a problem with the build.
[1a024c3c]206 </para>
207
208 <para>
209 Now, as the <systemitem class="username">root</systemitem> user:
210 </para>
211
[b5b672a9]212<screen role="root"><userinput>ninja install</userinput></screen>
[1a024c3c]213
[95abdf87]214 <para>
215 If you want to install the GTK4 version of
216 <application>WebKitGTK</application>, run the following commands:
217 </para>
218
219<screen revision="systemd"><userinput>rm -rf * .[^.]* &amp;&amp;
220
221cmake -DCMAKE_BUILD_TYPE=Release \
222 -DCMAKE_INSTALL_PREFIX=/usr \
223 -DCMAKE_SKIP_RPATH=ON \
224 -DPORT=GTK \
225 -DLIB_INSTALL_DIR=/usr/lib \
[9acdb9d]226 -DUSE_LIBBACKTRACE=OFF \
[95abdf87]227 -DUSE_LIBHYPHEN=OFF \
228 -DENABLE_GAMEPAD=OFF \
229 -DENABLE_MINIBROWSER=ON \
230 -DENABLE_DOCUMENTATION=OFF \
231 -DUSE_WOFF2=OFF \
232 -DUSE_GTK4=ON \
[92e5300]233 -DENABLE_BUBBLEWRAP_SANDBOX=ON \
[95abdf87]234 -Wno-dev -G Ninja .. &amp;&amp;
235ninja</userinput></screen>
236
237<screen revision="sysv"><userinput>rm -rf * .[^.]* &amp;&amp;
238
239cmake -DCMAKE_BUILD_TYPE=Release \
240 -DCMAKE_INSTALL_PREFIX=/usr \
241 -DCMAKE_SKIP_RPATH=ON \
242 -DPORT=GTK \
243 -DLIB_INSTALL_DIR=/usr/lib \
[9acdb9d]244 -DUSE_LIBBACKTRACE=OFF \
[95abdf87]245 -DUSE_LIBHYPHEN=OFF \
246 -DENABLE_GAMEPAD=OFF \
247 -DENABLE_MINIBROWSER=ON \
248 -DENABLE_DOCUMENTATION=OFF \
249 -DUSE_WOFF2=OFF \
250 -DUSE_GTK4=ON \
251 -DENABLE_JOURNALD_LOG=OFF \
[92e5300]252 -DENABLE_BUBBLEWRAP_SANDBOX=ON \
[95abdf87]253 -Wno-dev -G Ninja .. &amp;&amp;
254ninja</userinput></screen>
255
256 <para>
257 Now, as the <systemitem class="username">root</systemitem> user:
258 </para>
259
260<screen role="root"><userinput>ninja install</userinput></screen>
261
[9acdb9d]262 <para>
263 As the <option>-DENABLE_DOCUMENTATION=OFF</option> option is used,
264 the documentation is not rebuilt nor installed now. If you need the
265 documentation, you can either install <xref linkend='gi-docgen'/>
266 and remove this option from the <command>cmake</command> command,
267 or install the pre-built documentation (only for the GTK-4 version)
268 instead:
269 </para>
270
271<screen role='root'><userinput>install -vdm755 /usr/share/gtk-doc/html &amp;&amp;
[9333d93e]272cp -rv ../Documentation/* /usr/share/gtk-doc/html</userinput></screen>
[9acdb9d]273
[1a024c3c]274 </sect2>
275
276 <sect2 role="commands">
277 <title>Command Explanations</title>
278
[016e770]279<!-- <para>
[fabeff7]280 <command>sed ... TextCheckerEnchant.cpp</command>: This command
[af451f4]281 is needed to allow the build to complete with enchant-2.x.
[016e770]282 </para> -->
[fabeff7]283
[9acdb9d]284 <para>
285 <parameter>-DUSE_LIBBACKTRACE=OFF</parameter>: This switch disables
286 the use of libbacktrace for dumping a stack trace when a crash
287 happens. You need to install &libbacktrace; if you wish to enable it
288 (replacing OFF with ON or just removing the switch).
289 </para>
290
[a78d8510]291 <para>
[885bcd41]292 <parameter>-DUSE_LIBHYPHEN=OFF</parameter>: This switch disables the
[a78d8510]293 default automatic hyphenation implementation. You need to install
294 <ulink
[885bcd41]295 url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>
[a78d8510]296 if you wish to enable it (replacing OFF with ON or just removing
297 the switch).
298 </para>
299
[c7318b4]300 <para>
301 <parameter>-DENABLE_DOCUMENTATION=OFF</parameter>: This switch disables
302 regenerating the documentation. Remove this switch if you have
[f56d2e7]303 <xref linkend="gi-docgen"/>
[c7318b4]304 installed and wish to regenerate the documentation.
305 </para>
306
[40454cd2]307 <para>
308 <parameter>-DENABLE_GAMEPAD=OFF</parameter>: This switch disables
309 gamepad support. Remove this switch if you have
310 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>
311 installed and wish to enable it.
312 </para>
313
[7c4f32b]314 <para>
[8252e757]315 <parameter>-DENABLE_MINIBROWSER=ON</parameter>: This switch enables
316 compiling and installing the MiniBrowser.
[7c4f32b]317 </para>
318
[d0c049f]319<!--
[f6e07a25]320 <para>
321 <parameter>-DUSE_JPEGXL=OFF</parameter>: This switch turns off support
322 for JPEG-XL images. Remove it if you have the optional package
323 <ulink url="https://github.com/libjxl/libjxl">libjxl</ulink> installed.
324 </para>
[d0c049f]325-->
[aa41434]326 <para>
[92e5300]327 <parameter>-DENABLE_BUBBLEWRAP_SANDBOX=ON</parameter>: This switch
328 enables the Bubblewrap sandbox, which helps mitigate the impact of most
329 security vulnerabilities in this package. Change this switch to OFF if
[3f65573]330 you do not want to install <xref linkend="bubblewrap" role="nodep"/>,
331 <xref linkend='libseccomp' role="nodep"/>, or
[92e5300]332 <xref linkend="xdg-dbus-proxy" role="nodep"/>, but note that this may
333 put you at risk.
334 <!-- Note: This works well on both i686 and x86_64. -renodr -->
[aa41434]335 </para>
[8252e757]336
337 <para revision="sysv">
[c38d051]338 <parameter>-DENABLE_JOURNALD_LOG=OFF</parameter>: This switch disables using the
[8252e757]339 systemd journal for logging errors and debugging information since it
340 is not available on SysV systems.
341 </para>
[aa41434]342
[1a024c3c]343 <para>
344 <option>-DUSE_SYSTEM_MALLOC=ON</option>: This switch enables building
345 against the system installed <application>malloc</application>.
346 </para>
347
348 <para>
349 <option>-DENABLE_GEOLOCATION=OFF</option>: Use this switch if you don't
[560b86d]350 want to install <xref linkend="geoclue2"/>.
[1a024c3c]351 </para>
352
[acea88c]353 <para>
354 <option>-DUSE_AVIF=OFF</option>: Use this switch if you don't want to
355 install <xref linkend="libavif"/>. Note that you will not have support
356 for AVIF images if you do this.
357 </para>
358
[f858bd7]359 <para>
[8558044]360 <option>-DUSE_WOFF2=ON</option>: Use this switch if the optional
[1f61010e]361 package <xref linkend="woff2"/> is installed. This adds additional
362 support for fonts.
[f858bd7]363 </para>
364
[d0c049f]365 <para>
366 <option>-DUSE_JPEGXL=OFF</option>: Use this switch if the recommended
367 package <xref linkend="libjxl"/> is not installed. Note that you will not
368 have support for JPEG XL images if this option is passed.
369 </para>
370
[1a024c3c]371 </sect2>
372
373 <sect2 role="content">
374 <title>Contents</title>
375
376 <segmentedlist>
377 <segtitle>Installed Program</segtitle>
378 <segtitle>Installed Libraries</segtitle>
379 <segtitle>Installed Directories</segtitle>
380
381 <seglistitem>
382 <seg>
[da1575a]383<!-- Moved to /usr/libexec/webkit2gtk-4.0, so shouldn't appear here
[8558044]384 jsc,
[da1575a]385 MiniBrowser, and -->
[4291c1e]386 WebKitWebDriver
[1a024c3c]387 </seg>
388 <seg>
[ab376e9]389 libjavascriptcoregtk-4.1.so,
390 libjavascriptcoregtk-6.0.so,
391 libwebkit2gtk-4.1.so, and
392 libwebkitgtk-6.0.so
[1a024c3c]393 </seg>
394 <seg>
[c7318b4]395 /usr/include/webkitgtk-4.1,
[ab376e9]396 /usr/include/webkitgtk-6.0,
397 /usr/lib{,exec}/webkit2gtk-4.1,
[9acdb9d]398 /usr/lib{,exec}/webkitgtk-6.0,
[c7318b4]399 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1
[9acdb9d]400 (optional), and
401 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-process-extension}}-6.0
[1a024c3c]402 </seg>
403 </seglistitem>
404 </segmentedlist>
405
406 <variablelist>
407 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
408 <?dbfo list-presentation="list"?>
409 <?dbhtml list-presentation="table"?>
410
[da1575a]411<!--
[1a024c3c]412 <varlistentry id="jsc">
413 <term><command>jsc</command></term>
414 <listitem>
415 <para>
416 is a command-line utility that allows you to run JavaScript programs
417 outside of the context of a web browser.
418 </para>
[de4ed8e]419 <indexterm zone="webkitgtk jsc">
[1a024c3c]420 <primary sortas="b-jsc">jsc</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
[7c4f32b]425 <varlistentry id="MiniBrowser">
426 <term><command>MiniBrowser</command></term>
427 <listitem>
428 <para>
429 is a very simple graphical browser.
430 </para>
431 <indexterm zone="webkitgtk MiniBrowser">
432 <primary sortas="b-MiniBrowser">MiniBrowser</primary>
433 </indexterm>
434 </listitem>
435 </varlistentry>
[da1575a]436-->
[4d185c9e]437 <varlistentry id="WebKitWebDriver">
438 <term><command>WebKitWebDriver</command></term>
439 <listitem>
440 <para>
[4c24eb0a]441 allows debugging and automation of web pages and browsers
[4d185c9e]442 </para>
443 <indexterm zone="webkitgtk WebKitWebDriver">
444 <primary sortas="b-WebKitWebDriver">WebKitWebDriver</primary>
445 </indexterm>
446 </listitem>
447 </varlistentry>
448
[c7318b4]449 <varlistentry id="libjavascriptcoregtk-4.1">
[4c24eb0a]450 <term>
[c7318b4]451 <filename class="libraryfile">libjavascriptcoregtk-4.1.so</filename>
[4c24eb0a]452 </term>
[1a024c3c]453 <listitem>
454 <para>
455 contains core JavaScript API functions used by
[4c24eb0a]456 <command>jsc</command> and
[c7318b4]457 <filename class="libraryfile">libwebkit2gtk-4.1</filename>
[1a024c3c]458 </para>
[c7318b4]459 <indexterm zone="webkitgtk libjavascriptcoregtk-4.1">
460 <primary sortas="c-libjavascriptcoregtk-4.1">libjavascriptcoregtk-4.1.so</primary>
[1a024c3c]461 </indexterm>
462 </listitem>
463 </varlistentry>
464
[ab376e9]465 <varlistentry id="libjavascriptcoregtk-6.0">
466 <term><filename class="libraryfile">libjavascriptcoregtk-6.0.so</filename></term>
467 <listitem>
468 <para>
469 contains core JavaScript API functions used by
470 <command>jsc</command> and
[f6e07a25]471 <filename class="libraryfile">libwebkitgtk-6.0</filename>
[ab376e9]472 </para>
473 <indexterm zone="webkitgtk libjavascriptcoregtk-6.0">
474 <primary sortas="c-libjavascriptcoregtk-6.0">libjavascriptcoregtk-6.0.so</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
[1a024c3c]479 <varlistentry id="libwebkit2gtk-4">
[c7318b4]480 <term><filename class="libraryfile">libwebkit2gtk-4.1.so</filename></term>
[1a024c3c]481 <listitem>
482 <para>
[4c24eb0a]483 contains the <application>WebKit2</application> API functions
[1a024c3c]484 </para>
[de4ed8e]485 <indexterm zone="webkitgtk libwebkit2gtk-4">
[c7318b4]486 <primary sortas="c-libwebkit2gtk-4">libwebkit2gtk-4.1.so</primary>
[1a024c3c]487 </indexterm>
488 </listitem>
489 </varlistentry>
490
[ab376e9]491 <varlistentry id="libwebkitgtk-6">
492 <term><filename class="libraryfile">libwebkitgtk-6.0.so</filename></term>
493 <listitem>
494 <para>
495 contains the <application>WebKit</application> API functions for
496 GTK-4 applications
497 </para>
498 <indexterm zone="webkitgtk libwebkitgtk-6">
499 <primary sortas="c-libwebkitgtk-6">libwebkitgtk-6.0.so</primary>
500 </indexterm>
501 </listitem>
502 </varlistentry>
503
[1a024c3c]504 </variablelist>
505
506 </sect2>
507
508</sect1>
Note: See TracBrowser for help on using the repository browser.