source: x/lib/webkitgtk.xml@ 8f1785c

11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 8f1785c was 8f1785c, checked in by Xi Ruoyao <xry111@…>, 21 months ago

webkitgtk: add a patch fix a crash viewing some web pages

  • Property mode set to 100644
File size: 13.1 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 "a876da9d8906468f4e1e3d08729cdeec">
10 <!ENTITY webkitgtk-size "25 MB">
11 <!ENTITY webkitgtk-buildsize "848 MB (133 MB installed)">
12 <!ENTITY webkitgtk-time "31 SBU (using parallelism=4, estimated 125 SBU using one core)">
13]>
14
15<sect1 id="webkitgtk" xreflabel="WebKitGTK-&webkitgtk-version;">
16 <?dbhtml filename="webkitgtk.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
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+ 2</application>
35 platforms.
36 </para>
37
38 &lfs111_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 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Required patch:
79 <ulink url="&patch-root;/webkitgtk-&webkitgtk-version;-upstream_fix-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83
84 <bridgehead renderas="sect3">WebKitGTK Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Required</bridgehead>
87 <para role="required">
88 <xref linkend="cairo"/>,
89 <xref linkend="cmake"/>,
90 <xref linkend="gst10-plugins-base"/>,
91 <xref linkend="gst10-plugins-bad"/>,
92 <xref linkend="gtk3"/>,
93 <xref linkend="icu"/>,
94 <xref linkend="lcms2"/>,
95 <xref linkend="libgudev"/>,
96 <xref linkend="libsecret"/>,
97 <xref linkend="libsoup"/>,
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="which"/>, and
105 <xref linkend="wpebackend-fdo"/>
106 </para>
107
108 <bridgehead renderas="sect4">Recommended</bridgehead>
109 <para role="recommended">
110 <xref linkend="enchant"/>,
111 <xref linkend="geoclue2"/>,
112 <xref linkend="gobject-introspection"/>,
113 <xref linkend="hicolor-icon-theme"/>, and
114 <xref linkend="libnotify"/>
115 </para>
116
117 <bridgehead renderas="sect4">Optional</bridgehead>
118 <para role="optional">
119 <xref linkend="bubblewrap"/>,
120 <xref linkend="gtk-doc"/>,
121 <xref linkend="gtk4"/>,
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 <para>
144 Fix an issue causing a crash viewing some web pages:
145 </para>
146
147<screen><userinput>patch -Np1 -i ../webkitgtk-&webkitgtk-version;-upstream_fix-1.patch</userinput></screen>
148
149 <para>
150 Install <application>WebKitGTK</application> by running the
151 following commands:
152 </para>
153
154<screen revision="systemd"><userinput>mkdir -vp build &amp;&amp;
155cd build &amp;&amp;
156
157cmake -DCMAKE_BUILD_TYPE=Release \
158 -DCMAKE_INSTALL_PREFIX=/usr \
159 -DCMAKE_SKIP_RPATH=ON \
160 -DPORT=GTK \
161 -DLIB_INSTALL_DIR=/usr/lib \
162 -DUSE_LIBHYPHEN=OFF \
163 -DENABLE_GAMEPAD=OFF \
164 -DENABLE_MINIBROWSER=ON \
165 -DUSE_WOFF2=OFF \
166 -DUSE_SOUP2=ON \
167 -DUSE_WPE_RENDERER=ON \
168 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
169 -Wno-dev -G Ninja .. &amp;&amp;
170ninja</userinput></screen>
171
172<screen revision="sysv"><userinput>mkdir -vp build &amp;&amp;
173cd build &amp;&amp;
174
175cmake -DCMAKE_BUILD_TYPE=Release \
176 -DCMAKE_INSTALL_PREFIX=/usr \
177 -DCMAKE_SKIP_RPATH=ON \
178 -DPORT=GTK \
179 -DLIB_INSTALL_DIR=/usr/lib \
180 -DUSE_LIBHYPHEN=OFF \
181 -DENABLE_GAMEPAD=OFF \
182 -DENABLE_MINIBROWSER=ON \
183 -DUSE_WOFF2=OFF \
184 -DUSE_SOUP2=ON \
185 -DUSE_WPE_RENDERER=ON \
186 -DENABLE_JOURNALD_LOG=OFF \
187 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
188 -Wno-dev -G Ninja .. &amp;&amp;
189ninja</userinput></screen>
190
191 <para>
192 This package does not have a working testsuite. However, there is a
193 usable basic graphical web browser in the build directory,
194 <application>build/bin/MiniBrowser</application>. If launching it fails,
195 there is a problem with the build.
196 </para>
197
198<!-- Since we're using Ninja now instead of autotools, this isn't valid anymore
199 <note><para>
200 When installing, the Makefile does some additional compiling and linking.
201 If you do not have Xorg in /usr, the LIBRARY_PATH and PKG_CONFIG_PATH
202 variables need to be defined for the root user. If using sudo to assume
203 root, use the -E option to pass your current environment variables for the
204 install process.
205 </para></note>
206-->
207
208 <para>
209 Now, as the <systemitem class="username">root</systemitem> user:
210 </para>
211
212<screen role="root"><userinput>ninja install &amp;&amp;
213
214install -vdm755 /usr/share/gtk-doc/html/webkit{2,dom}gtk-4.0 &amp;&amp;
215install -vm644 ../Documentation/webkit2gtk-4.0/html/* \
216 /usr/share/gtk-doc/html/webkit2gtk-4.0 &amp;&amp;
217install -vm644 ../Documentation/webkitdomgtk-4.0/html/* \
218 /usr/share/gtk-doc/html/webkitdomgtk-4.0</userinput></screen>
219 </sect2>
220
221 <sect2 role="commands">
222 <title>Command Explanations</title>
223
224<!-- <para>
225 <command>sed ... TextCheckerEnchant.cpp</command>: This command
226 is needed to allow the build to complete with enchant-2.x.
227 </para> -->
228
229 <para>
230 <parameter>-DUSE_LIBHYPHEN=OFF</parameter>: This switch disables the
231 default automatic hyphenation implementation. You need to install
232 <ulink
233 url="https://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen</ulink>
234 if you wish to enable it (replacing OFF with ON or just removing
235 the switch).
236 </para>
237
238 <para>
239 <parameter>-DENABLE_GAMEPAD=OFF</parameter>: This switch disables
240 gamepad support. Remove this switch if you have
241 <ulink url="https://gnome.pages.gitlab.gnome.org/libmanette/">libmanette</ulink>
242 installed and wish to enable it.
243 </para>
244
245 <para>
246 <parameter>-DENABLE_MINIBROWSER=ON</parameter>: This switch enables
247 compiling and installing the MiniBrowser.
248 </para>
249
250 <para>
251 <parameter>-DUSE_WPE_RENDERER=ON</parameter>: This switch uses the WPE
252 renderer, which is recommended by upstream.
253 </para>
254
255 <para>
256 <parameter>-DENABLE_BUBBLEWRAP_SANDBOX=OFF</parameter>: Remove this
257 switch if the optional packages <xref linkend="bubblewrap"/> and
258 <ulink url="https://github.com/flatpak/xdg-dbus-proxy">xdg-dbus-proxy</ulink>
259 are installed.
260 </para>
261
262 <para revision="sysv">
263 <parameter>-DENABLE_JOURNALD_LOG=OFF</parameter>: This switch disables using the
264 systemd journal for logging errors and debugging information since it
265 is not available on SysV systems.
266 </para>
267
268 <para>
269 <option>-DUSE_LIBNOTIFY=OFF</option>: Use this switch if you do not
270 have <application>libnotify</application> installed.
271 </para>
272
273 <para>
274 <option>-DUSE_SYSTEM_MALLOC=ON</option>: This switch enables building
275 against the system installed <application>malloc</application>.
276 </para>
277
278 <para>
279 <option>-DENABLE_GEOLOCATION=OFF</option>: Use this switch if you don't
280 want to install <xref linkend="geoclue2"/>.
281 </para>
282
283 <para>
284 <option>-DENABLE_GTKDOC=ON</option>: Use this switch if <xref
285 linkend="gtk-doc"/> is installed and you wish to rebuild and install the
286 API documentation.
287 </para>
288
289 <para>
290 <option>-DUSE_WOFF2=ON</option>: Use this switch if the optional
291 package <xref linkend="woff2"/> is installed. This adds additional
292 support for fonts.
293 </para>
294
295 <!-- Uncomment once GTK4 support works, or when it doesn't require
296 a development version of libsoup.
297 <para>
298 <option>-DUSE_GTK4=ON</option>: Use this switch if <xref linkend="gtk4"/>
299 is installed and you wish to build GTK4 support.
300 </para>
301 -->
302
303 </sect2>
304
305 <sect2 role="content">
306 <title>Contents</title>
307
308 <segmentedlist>
309 <segtitle>Installed Program</segtitle>
310 <segtitle>Installed Libraries</segtitle>
311 <segtitle>Installed Directories</segtitle>
312
313 <seglistitem>
314 <seg>
315<!-- Moved to /usr/libexec/webkit2gtk-4.0, so shouldn't appear here
316 jsc,
317 MiniBrowser, and -->
318 WebKitWebDriver
319 </seg>
320 <seg>
321 libjavascriptcoregtk-4.0.so and
322 libwebkit2gtk-4.0.so
323 </seg>
324 <seg>
325 /usr/include/webkitgtk-4.0,
326 /usr/lib{,exec}/webkit2gtk-4.0, and
327 /usr/share/gtk-doc/html/webkit{2,dom}gtk-4.0
328 </seg>
329 </seglistitem>
330 </segmentedlist>
331
332 <variablelist>
333 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
334 <?dbfo list-presentation="list"?>
335 <?dbhtml list-presentation="table"?>
336
337<!--
338 <varlistentry id="jsc">
339 <term><command>jsc</command></term>
340 <listitem>
341 <para>
342 is a command-line utility that allows you to run JavaScript programs
343 outside of the context of a web browser.
344 </para>
345 <indexterm zone="webkitgtk jsc">
346 <primary sortas="b-jsc">jsc</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="MiniBrowser">
352 <term><command>MiniBrowser</command></term>
353 <listitem>
354 <para>
355 is a very simple graphical browser.
356 </para>
357 <indexterm zone="webkitgtk MiniBrowser">
358 <primary sortas="b-MiniBrowser">MiniBrowser</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362-->
363 <varlistentry id="WebKitWebDriver">
364 <term><command>WebKitWebDriver</command></term>
365 <listitem>
366 <para>
367 allows debugging and automation of web pages and browsers
368 </para>
369 <indexterm zone="webkitgtk WebKitWebDriver">
370 <primary sortas="b-WebKitWebDriver">WebKitWebDriver</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="libjavascriptcoregtk-4.0">
376 <term>
377 <filename class="libraryfile">libjavascriptcoregtk-4.0.so</filename>
378 </term>
379 <listitem>
380 <para>
381 contains core JavaScript API functions used by
382 <command>jsc</command> and
383 <filename class="libraryfile">libwebkit2gtk-4.0</filename>
384 </para>
385 <indexterm zone="webkitgtk libjavascriptcoregtk-4.0">
386 <primary sortas="c-libjavascriptcoregtk-4.0">libjavascriptcoregtk-4.0.0.so</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="libwebkit2gtk-4">
392 <term><filename class="libraryfile">libwebkit2gtk-4.0.so</filename></term>
393 <listitem>
394 <para>
395 contains the <application>WebKit2</application> API functions
396 </para>
397 <indexterm zone="webkitgtk libwebkit2gtk-4">
398 <primary sortas="c-libwebkit2gtk-4">libwebkit2gtk-4.0.so</primary>
399 </indexterm>
400 </listitem>
401 </varlistentry>
402
403 </variablelist>
404
405 </sect2>
406
407</sect1>
Note: See TracBrowser for help on using the repository browser.