source: x/lib/webkitgtk.xml@ bc7af21

12.0 12.1 12.2 gimp3 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128 xry111/xf86-video-removal
Last change on this file since bc7af21 was ab376e9, checked in by Douglas R. Reno <renodr@…>, 17 months ago

Update to WebKitGTK+-2.40.1

I used Bruce's advice for the GTK3/GTK4 split here. It can definitely be
improved upon if desired.

  • Property mode set to 100644
File size: 15.6 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 "20aa14992701802a58bb5e333296a963">
10 <!ENTITY webkitgtk-size "38 MB">
11 <!ENTITY webkitgtk-buildsize "1.1 GB (174 MB installed)">
12 <!ENTITY webkitgtk-time "34 SBU (for GTK-3, using parallelism=4, add 36 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 &lfs113_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;-upstream_fix-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="enchant"/>,
112 <xref linkend="geoclue2"/>,
113 <xref linkend="gobject-introspection"/>,
114 <xref linkend="hicolor-icon-theme"/>, and
115 <xref linkend="libavif"/>
116 </para>
117
118 <bridgehead renderas="sect4">Optional</bridgehead>
119 <para role="optional">
120 <xref linkend="bubblewrap"/>,
121 <xref linkend="gi-docgen"/>,
122 <xref linkend="harfbuzz"/>,
123 <xref linkend="wayland"/>,
124 <xref linkend="woff2"/>,
125 <ulink url="https://ccache.dev/">ccache</ulink>,
126 <ulink url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>,
127 <!--<ulink url="https://github.com/AOMediaCodec/libavif">libavif</ulink>,-->
128 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>, and
129 <ulink url="https://github.com/flatpak/xdg-dbus-proxy">xdg-dbus-proxy</ulink>
130 </para>
131
132 <para condition="html" role="usernotes">
133 User Notes: <ulink url="&blfs-wiki;/webkitgtk"/>
134 </para>
135 </sect2>
136
137 <sect2 role="installation">
138 <title>Installation of WebKitGTK</title>
139
140 <bridgehead renderas="sect3">Installation of
141 <application>WebKitGTK</application></bridgehead>
142
143<!--
144 <para>
145 Fix an issue causing a crash viewing some web pages:
146 </para>
147
148<screen><userinput>patch -Np1 -i ../webkitgtk-&webkitgtk-version;-upstream_fix-1.patch</userinput></screen>
149-->
150
151 <important>
152 <para>
153 This package allows building with either GTK-3 or GTK-4, but not both
154 in the same build. To build the GTK-4 version for packages such as
155 Epiphany, make sure to set -DUSE_GTK4=ON. For other packages, such as
156 Balsa or Evolution, the GTK-3 version is required, so set
157 -DUSE_GTK4=OFF if you want to build this package to use those
158 applications. Both versions can be installed on the same system.
159 </para>
160 </important>
161
162 <para>
163 Install <application>WebKitGTK</application> by running the
164 following commands:
165 </para>
166
167<screen revision="systemd"><userinput>mkdir -vp build &amp;&amp;
168cd build &amp;&amp;
169
170cmake -DCMAKE_BUILD_TYPE=Release \
171 -DCMAKE_INSTALL_PREFIX=/usr \
172 -DCMAKE_SKIP_RPATH=ON \
173 -DPORT=GTK \
174 -DLIB_INSTALL_DIR=/usr/lib \
175 -DUSE_LIBHYPHEN=OFF \
176 -DENABLE_GAMEPAD=OFF \
177 -DENABLE_MINIBROWSER=ON \
178 -DENABLE_DOCUMENTATION=OFF \
179 -DUSE_WOFF2=OFF \
180 -DUSE_GTK4=[ON or OFF] \
181 -DUSE_WPE_RENDERER=ON \
182 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
183 -Wno-dev -G Ninja .. &amp;&amp;
184ninja</userinput></screen>
185
186<screen revision="sysv"><userinput>mkdir -vp build &amp;&amp;
187cd build &amp;&amp;
188
189cmake -DCMAKE_BUILD_TYPE=Release \
190 -DCMAKE_INSTALL_PREFIX=/usr \
191 -DCMAKE_SKIP_RPATH=ON \
192 -DPORT=GTK \
193 -DLIB_INSTALL_DIR=/usr/lib \
194 -DUSE_LIBHYPHEN=OFF \
195 -DENABLE_GAMEPAD=OFF \
196 -DENABLE_MINIBROWSER=ON \
197 -DENABLE_DOCUMENTATION=OFF \
198 -DUSE_WOFF2=OFF \
199 -DUSE_GTK4=[ON or OFF] \
200 -DUSE_WPE_RENDERER=ON \
201 -DENABLE_JOURNALD_LOG=OFF \
202 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
203 -Wno-dev -G Ninja .. &amp;&amp;
204ninja</userinput></screen>
205
206 <para>
207 This package does not have a working test suite. However, there is a
208 usable basic graphical web browser in the build directory,
209 <application>build/bin/MiniBrowser</application>. If launching it fails,
210 there is a problem with the build.
211 </para>
212
213<!-- Since we're using Ninja now instead of autotools, this isn't valid anymore
214 <note><para>
215 When installing, the Makefile does some additional compiling and linking.
216 If you do not have Xorg in /usr, the LIBRARY_PATH and PKG_CONFIG_PATH
217 variables need to be defined for the root user. If using sudo to assume
218 root, use the -E option to pass your current environment variables for the
219 install process.
220 </para></note>
221-->
222
223 <para>
224 Now, as the <systemitem class="username">root</systemitem> user:
225 </para>
226
227<screen role="root"><userinput>ninja install</userinput></screen>
228
229 <para>
230 As the <option>-DENABLE_DOCUMENTATION=OFF</option> option is used,
231 the documentation is not rebuilt nor installed now. If you need the
232 documentation, you can either install <xref linkend='gi-docgen'/>
233 and remove this option from the <command>cmake</command> command,
234 or install the pre-built documentation instead:
235 </para>
236
237<screen role='root'><userinput>install -vdm755 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 &amp;&amp;
238install -vm644 ../Documentation/jsc-glib-4.1/* \
239 /usr/share/gtk-doc/html/jsc-glib-4.1 &amp;&amp;
240install -vm644 ../Documentation/webkit2gtk-4.1/* \
241 /usr/share/gtk-doc/html/webkit2gtk-4.1 &amp;&amp;
242install -vm644 ../Documentation/webkit2gtk-web-extension-4.1/* \
243 /usr/share/gtk-doc/html/webkit2gtk-web-extension-4.1</userinput></screen>
244 </sect2>
245
246 <sect2 role="commands">
247 <title>Command Explanations</title>
248
249<!-- <para>
250 <command>sed ... TextCheckerEnchant.cpp</command>: This command
251 is needed to allow the build to complete with enchant-2.x.
252 </para> -->
253
254 <para>
255 <parameter>-DUSE_LIBHYPHEN=OFF</parameter>: This switch disables the
256 default automatic hyphenation implementation. You need to install
257 <ulink
258 url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>
259 if you wish to enable it (replacing OFF with ON or just removing
260 the switch).
261 </para>
262
263 <para>
264 <parameter>-DENABLE_DOCUMENTATION=OFF</parameter>: This switch disables
265 regenerating the documentation. Remove this switch if you have
266 <xref linkend="gi-docgen"/>
267 installed and wish to regenerate the documentation.
268 </para>
269
270 <para>
271 <parameter>-DENABLE_GAMEPAD=OFF</parameter>: This switch disables
272 gamepad support. Remove this switch if you have
273 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>
274 installed and wish to enable it.
275 </para>
276
277 <para>
278 <parameter>-DENABLE_MINIBROWSER=ON</parameter>: This switch enables
279 compiling and installing the MiniBrowser.
280 </para>
281
282 <para>
283 <parameter>-DUSE_WPE_RENDERER=ON</parameter>: This switch uses the WPE
284 renderer, which is recommended by upstream.
285 </para>
286
287 <para>
288 <parameter>-DENABLE_BUBBLEWRAP_SANDBOX=OFF</parameter>: Remove this
289 switch if the optional packages <xref linkend="bubblewrap"/> and
290 <ulink url="https://github.com/flatpak/xdg-dbus-proxy">xdg-dbus-proxy</ulink>
291 are installed.
292 </para>
293
294 <para revision="sysv">
295 <parameter>-DENABLE_JOURNALD_LOG=OFF</parameter>: This switch disables using the
296 systemd journal for logging errors and debugging information since it
297 is not available on SysV systems.
298 </para>
299
300 <para>
301 <option>-DUSE_SYSTEM_MALLOC=ON</option>: This switch enables building
302 against the system installed <application>malloc</application>.
303 </para>
304
305 <para>
306 <option>-DENABLE_GEOLOCATION=OFF</option>: Use this switch if you don't
307 want to install <xref linkend="geoclue2"/>.
308 </para>
309
310 <para>
311 <option>-DUSE_AVIF=OFF</option>: Use this switch if you don't want to
312 install <xref linkend="libavif"/>. Note that you will not have support
313 for AVIF images if you do this.
314 </para>
315
316 <para>
317 <option>-DUSE_WOFF2=ON</option>: Use this switch if the optional
318 package <xref linkend="woff2"/> is installed. This adds additional
319 support for fonts.
320 </para>
321
322 <!-- Uncomment once GTK4 support works, or when it doesn't require
323 a development version of libsoup.
324 <para>
325 <option>-DUSE_GTK4=ON</option>: Use this switch if <xref linkend="gtk4"/>
326 is installed and you wish to build GTK4 support.
327 </para>
328 -->
329
330 </sect2>
331
332 <sect2 role="content">
333 <title>Contents</title>
334
335 <segmentedlist>
336 <segtitle>Installed Program</segtitle>
337 <segtitle>Installed Libraries</segtitle>
338 <segtitle>Installed Directories</segtitle>
339
340 <seglistitem>
341 <seg>
342<!-- Moved to /usr/libexec/webkit2gtk-4.0, so shouldn't appear here
343 jsc,
344 MiniBrowser, and -->
345 WebKitWebDriver
346 </seg>
347 <seg>
348 libjavascriptcoregtk-4.1.so,
349 libjavascriptcoregtk-6.0.so,
350 libwebkit2gtk-4.1.so, and
351 libwebkitgtk-6.0.so
352 </seg>
353 <seg>
354 /usr/include/webkitgtk-4.1,
355 /usr/include/webkitgtk-6.0,
356 /usr/lib{,exec}/webkit2gtk-4.1,
357 /usr/lib{,exec}/webkitgtk-6.0, and
358 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1
359 </seg>
360 </seglistitem>
361 </segmentedlist>
362
363 <variablelist>
364 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
365 <?dbfo list-presentation="list"?>
366 <?dbhtml list-presentation="table"?>
367
368<!--
369 <varlistentry id="jsc">
370 <term><command>jsc</command></term>
371 <listitem>
372 <para>
373 is a command-line utility that allows you to run JavaScript programs
374 outside of the context of a web browser.
375 </para>
376 <indexterm zone="webkitgtk jsc">
377 <primary sortas="b-jsc">jsc</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="MiniBrowser">
383 <term><command>MiniBrowser</command></term>
384 <listitem>
385 <para>
386 is a very simple graphical browser.
387 </para>
388 <indexterm zone="webkitgtk MiniBrowser">
389 <primary sortas="b-MiniBrowser">MiniBrowser</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393-->
394 <varlistentry id="WebKitWebDriver">
395 <term><command>WebKitWebDriver</command></term>
396 <listitem>
397 <para>
398 allows debugging and automation of web pages and browsers
399 </para>
400 <indexterm zone="webkitgtk WebKitWebDriver">
401 <primary sortas="b-WebKitWebDriver">WebKitWebDriver</primary>
402 </indexterm>
403 </listitem>
404 </varlistentry>
405
406 <varlistentry id="libjavascriptcoregtk-4.1">
407 <term>
408 <filename class="libraryfile">libjavascriptcoregtk-4.1.so</filename>
409 </term>
410 <listitem>
411 <para>
412 contains core JavaScript API functions used by
413 <command>jsc</command> and
414 <filename class="libraryfile">libwebkit2gtk-4.1</filename>
415 </para>
416 <indexterm zone="webkitgtk libjavascriptcoregtk-4.1">
417 <primary sortas="c-libjavascriptcoregtk-4.1">libjavascriptcoregtk-4.1.so</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="libjavascriptcoregtk-6.0">
423 <term><filename class="libraryfile">libjavascriptcoregtk-6.0.so</filename></term>
424 <listitem>
425 <para>
426 contains core JavaScript API functions used by
427 <command>jsc</command> and
428 <filename class="libraryfile">libwebkitgtk-6.0.so</filename>
429 </para>
430 <indexterm zone="webkitgtk libjavascriptcoregtk-6.0">
431 <primary sortas="c-libjavascriptcoregtk-6.0">libjavascriptcoregtk-6.0.so</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
435
436 <varlistentry id="libwebkit2gtk-4">
437 <term><filename class="libraryfile">libwebkit2gtk-4.1.so</filename></term>
438 <listitem>
439 <para>
440 contains the <application>WebKit2</application> API functions
441 </para>
442 <indexterm zone="webkitgtk libwebkit2gtk-4">
443 <primary sortas="c-libwebkit2gtk-4">libwebkit2gtk-4.1.so</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="libwebkitgtk-6">
449 <term><filename class="libraryfile">libwebkitgtk-6.0.so</filename></term>
450 <listitem>
451 <para>
452 contains the <application>WebKit</application> API functions for
453 GTK-4 applications
454 </para>
455 <indexterm zone="webkitgtk libwebkitgtk-6">
456 <primary sortas="c-libwebkitgtk-6">libwebkitgtk-6.0.so</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 </variablelist>
462
463 </sect2>
464
465</sect1>
Note: See TracBrowser for help on using the repository browser.