Sync from SUSE:SLFO:Main webkit2gtk3 revision a19f417830c5e5113c01ac56cb48b193

This commit is contained in:
Adrian Schröter 2024-06-14 17:22:17 +02:00
parent e27a3bc8db
commit 941d87e314
9 changed files with 485 additions and 56 deletions

View File

@ -1,18 +0,0 @@
diff -urp webkitgtk-2.40.1.orig/Source/WebCore/platform/graphics/SourceBrush.cpp webkitgtk-2.40.1/Source/WebCore/platform/graphics/SourceBrush.cpp
--- webkitgtk-2.40.1.orig/Source/WebCore/platform/graphics/SourceBrush.cpp 2023-04-12 08:07:29.748326800 -0500
+++ webkitgtk-2.40.1/Source/WebCore/platform/graphics/SourceBrush.cpp 2023-04-20 11:31:00.456319923 -0500
@@ -65,12 +65,12 @@ Pattern* SourceBrush::pattern() const
void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& spaceTransform)
{
- m_brush = { Brush::LogicalGradient { WTFMove(gradient), spaceTransform } };
+ m_brush = Brush { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } };
}
void SourceBrush::setPattern(Ref<Pattern>&& pattern)
{
- m_brush = { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
+ m_brush = Brush { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
}
WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush)

View File

@ -0,0 +1,65 @@
From: Carlos Garcia Campos <cgarcia@igalia.com>
Subject: Disable DMABuf renderer for NVIDIA proprietary drivers
Bug: https://bugs.webkit.org/show_bug.cgi?id=262607
Bug-Debian: https://bugs.debian.org/1039720
Origin: https://github.com/WebKit/WebKit/pull/18614
Index: webkitgtk-2.44.0/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
===================================================================
--- webkitgtk-2.44.0.orig/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
+++ webkitgtk-2.44.0/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
@@ -37,6 +37,7 @@
#include <WebCore/GLContext.h>
#include <WebCore/IntRect.h>
#include <WebCore/PlatformDisplay.h>
+#include <WebCore/PlatformDisplaySurfaceless.h>
#include <WebCore/ShareableBitmap.h>
#include <WebCore/SharedMemory.h>
#include <epoxy/egl.h>
@@ -45,6 +46,7 @@
#if USE(GBM)
#include <drm_fourcc.h>
+#include <WebCore/PlatformDisplayGBM.h>
#include <gbm.h>
static constexpr uint64_t s_dmabufInvalidModifier = DRM_FORMAT_MOD_INVALID;
@@ -58,6 +60,29 @@ static constexpr uint64_t s_dmabufInvali
namespace WebKit {
+static bool isNVIDIA()
+{
+ const char* forceDMABuf = getenv("WEBKIT_FORCE_DMABUF_RENDERER");
+ if (forceDMABuf && strcmp(forceDMABuf, "0"))
+ return false;
+
+ std::unique_ptr<WebCore::PlatformDisplay> platformDisplay;
+#if USE(GBM)
+ const char* disableGBM = getenv("WEBKIT_DMABUF_RENDERER_DISABLE_GBM");
+ if (!disableGBM || !strcmp(disableGBM, "0")) {
+ if (auto* device = WebCore::PlatformDisplay::sharedDisplay().gbmDevice())
+ platformDisplay = WebCore::PlatformDisplayGBM::create(device);
+ }
+#endif
+ if (!platformDisplay)
+ platformDisplay = WebCore::PlatformDisplaySurfaceless::create();
+
+ WebCore::GLContext::ScopedGLContext glContext(WebCore::GLContext::createOffscreen(platformDisplay ? *platformDisplay : WebCore::PlatformDisplay::sharedDisplay()));
+ if (strstr(reinterpret_cast<const char*>(glGetString(GL_VENDOR)), "NVIDIA"))
+ return true;
+ return false;
+}
+
OptionSet<DMABufRendererBufferMode> AcceleratedBackingStoreDMABuf::rendererBufferMode()
{
static OptionSet<DMABufRendererBufferMode> mode;
@@ -73,6 +98,9 @@ OptionSet<DMABufRendererBufferMode> Acce
return;
}
+ if (isNVIDIA())
+ return;
+
mode.add(DMABufRendererBufferMode::SharedMemory);
const char* forceSHM = getenv("WEBKIT_DMABUF_RENDERER_FORCE_SHM");

View File

@ -1,3 +1,349 @@
-------------------------------------------------------------------
Fri May 24 21:46:11 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Update to version 2.44.2 (boo#1225071):
+ Make gamepads visible on axis movements, and not only on
button presses.
+ Disable the gst-libav AAC decoder.
+ Make user scripts and style sheets visible in the Web
Inspector.
+ Use the geolocation portal where available, with the existing
geoclue as fallback if the portal is not usable.
+ Use the printing portal when running sandboxed.
+ Use the file transfer portal for drag and drop when running
sandboxed.
+ Avoid notifying an empty cursor rectangle to input methods.
+ Remove empty bar shown in detached inspector windows.
+ Consider keycode when activating application accelerators.
+ Fix the build with ENABLE_WEBAUDIO disabled.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2024-27834.
- Changes in version 2.44.1:
+ Fix handling of lifetime of web view child dialogs in GTK4.
+ Do not schedule layer flushes when drawing area size is empty.
+ Fix videos with alpha when using the DMA-BUF sink.
+ Fix the build with USE_GBM=OFF.
+ Fix the build in 32bit platforms
+ Fix several crashes and rendering issues.
- Changes in version 2.44.0 (boo#1222010):
+ Make the DOM accessibility tree reachable from UI process with
GTK4.
+ Removed the X11 and WPE renderers in favor of DMA-BUF.
+ Improved vblank synchronization when rendering.
+ Removed key event reinjection in GTK4 to make keyboard
shortcuts work in web sites.
+ Fix gamepads detection by correctly handling focused window in
GTK4.
+ Security fixes: CVE-2024-23252, CVE-2024-23254, CVE-2024-23263,
CVE-2024-23280, CVE-2024-23284, CVE-2023-42950, CVE-2023-42956,
CVE-2023-42843.
- Drop webkit2gtk3-create-destroy-egl-image.patch: fixed upstream.
- Rebase webkit2gtk3-disable-dmabuf-nvidia.patch.
- Use WebAssembly on aarch64. It is the upstream default and no
longer makes the build fail. Stop passing -DENABLE_C_LOOP=ON,
and -DENABLE_SAMPLING_PROFILER=OFF for the same reason.
- Drop webkit2gtk3-llint-build-fix.patch: no longer needed.
- Disable libbacktrace: we don't have it in SLE.
- Adjust spec for gtk4 now being enabled by default.
- Update keyring (taken from rawhide).
-------------------------------------------------------------------
Fri Feb 16 15:33:11 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Increase mem_per_process again to match what is in SLE. The build
was sporadically failing there (bsc#1198743).
- Require libwaylandclient0 >= 1.20. 15.4 originally had 1.19.0,
but webkitgtk uses a function added in 1.20.0, so we need to
ensure that the wayland update is pulled in (bsc#1215072).
-------------------------------------------------------------------
Thu Feb 15 04:03:27 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Fix package names for v6, and obsolete old packages.
-------------------------------------------------------------------
Wed Feb 14 17:44:28 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Use gcc 11 on SLE, to match what is currently used on SP4, and
adjust version check to include SP6. Also, use system malloc
there; the build currently fails without this (webkit#243535).
- Require gcc >= 10.2 to match the current cmake test.
- Disable jpegxl on SLE; it isn't currently available there.
-------------------------------------------------------------------
Mon Feb 5 16:58:41 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Update to version 2.42.5 (boo#1219604):
+ Fix webkit_web_context_allow_tls_certificate_for_host to
handle IPv6 URIs produced by SoupURI.
+ Ignore stops with offset zero before last one when rendering
gradients with cairo.
+ Write bwrapinfo.json to disk for xdg-desktop-portal.
+ Fix gamepads detection by correctly handling focused window in
GTK4.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2024-23222, CVE-2024-23206, CVE-2024-23213.
- Drop webkit2gtk3-CVE-2024-23222.patch: fixed upstream.
- Add webkit2gtk3-llint-build-fix.patch: fix the build for non-x86
architectures.
-------------------------------------------------------------------
Wed Jan 24 19:33:03 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Add webkit2gtk3-CVE-2024-23222.patch: fix a type confusion issue
(bsc#1219113 CVE-2024-23222).
-------------------------------------------------------------------
Sat Dec 16 13:51:42 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.42.4 (boo#1218032):
+ Fix incorrect random images incorrectly displayed as
backgrounds of <div> elements.
+ Fix videos displayed aliased after being resized e.g. in
YouTube.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-42883.
-------------------------------------------------------------------
Wed Dec 6 17:03:18 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.42.3 (boo#1217844):
+ Fix flickering while playing videos with DMA-BUF sink.
+ Fix color picker being triggered in the inspector when typing
"tan".
+ Do not special case the "sans" font family name.
+ Fix build failure with libxml2 version 2.12.0 due to an API
change.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-42916, CVE-2023-42917.
-------------------------------------------------------------------
Tue Nov 28 09:52:05 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Adjust path to (openSUSE renamed) gst-plugin-scanner in the code
using sed.
-------------------------------------------------------------------
Tue Nov 21 12:20:53 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Ensure max_link_jobs and max_compile_jobs have valid values even
when %{jobs} is not defined (like when building outside of OBS).
-------------------------------------------------------------------
Thu Nov 16 15:47:38 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.42.2 (boo#1217210):
+ Bump Safari version in user agent header.
+ Fix CSP regression that broke Unity WebGL applications.
+ Fix the build with GBM disabled.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-41983, CVE-2023-42852.
-------------------------------------------------------------------
Wed Nov 1 19:52:33 UTC 2023 - Mike Gorse <mgorse@suse.com>
- Add webkit2gtk3-disable-dmabuf-nvidia.patch: disable DMABuf
renderer for NVIDIA proprietary drivers (boo#1216778).
-------------------------------------------------------------------
Mon Oct 23 18:48:15 UTC 2023 - Mike Gorse <mgorse@suse.com>
- Add webkit2gtk3-create-destroy-egl-image.patch: fix "No provider
of EglDestroyImage Found" (boo#1216483).
-------------------------------------------------------------------
Fri Sep 29 18:10:40 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.42.1 (boo#1215661 boo#1215866 boo#1215867
boo#1215868 boo#1215869 boo#1215870):
+ Fix enable-html5-database setting to properly enable/disable
IndexedDB API.
+ Fix the build with GBM disabled.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-41993, CVE-2023-40414.
-------------------------------------------------------------------
Thu Sep 28 08:47:58 UTC 2023 - Marcus Meissner <meissner@suse.com>
- switch to pkgconfig(icu-i18n) instead of libicu-devel, to allow
switching to a different libicu*-devel (jsc#PED-6193)
-------------------------------------------------------------------
Fri Sep 15 19:04:16 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.42.0 (boo#1218033):
+ New renderer based on DMA-BUF shared buffers.
+ Add new permission request to handle DOM paste access requests.
+ Add API to configure experimental features at runtime.
+ Add API to set the percentage of volume space that can be used
for data storage.
+ GBM is no longer required for WebGL implementation.
+ Security fixes: CVE-2023-39928, CVE-2023-41074, CVE-2023-32359,
CVE-2023-42890, CVE-2014-1745.
-------------------------------------------------------------------
Mon Sep 11 15:02:19 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.41.92:
+ Fix render updates after cross origin history navigation with
GTK4.
+ Fix flickering in non accelerated compositing mode.
+ Fix pixelated accelerated blur filter.
+ Fix web process launching when xdg-dbus-proxy is not installed.
+ Pass GBM_BO_USE_RENDERING to gbm_bo_create.
+ Fix several crashes and rendering issues.
-------------------------------------------------------------------
Fri Sep 1 19:57:17 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
- Expand lang sub-package in spec file unconditionally to handle
previous name change from WebKit2GTK-lang to WebKitGTK-lang. This
change affected the automatic generated Requires tag on
WebKit2GTK-%{_apiver}, then getting out of sync of what's being
required and what's being provided. Now, any sub-package that was
providing WebKit2GTK-%{_apiver} will provide WebKitGTK-%{_apiver}
instead (boo#1214835, boo#1214640, boo#1214093).
-------------------------------------------------------------------
Thu Aug 31 18:53:42 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Add explicit pkgconfig(epoxy) and pkgconfig(xdamage)
BuildRequires: meson setup checks for them, so we should list
them.
-------------------------------------------------------------------
Mon Aug 21 21:34:34 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.41.91:
+ Properly handle toplevel window state changes in GTK4.
+ Do not keep processing frames while the view is unrealized
when using DMA-BUF renderer.
+ Fallback to first render node returned by DRM when failing to
get using EGLDevice.
+ Fix the build with libjxl < 0.7.0.
+ Fix several crashes and rendering issues.
-------------------------------------------------------------------
Sun Aug 13 09:33:40 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.41.90:
+ Fix the popup menu always shown in github when logged in.
+ Add API to replace and retrieve the entire cookie jar.
+ Apply the device scale factor when changed after web view is
created.
+ Do not expose media devices that cant be used in
enumerateDevices.
+ Add support for P010 video format.
+ Fix non-accelerated rendering that broke web inspector.
+ Fix several crashes and rendering issue
- Temp disable LTO during build via define.
-------------------------------------------------------------------
Wed Aug 2 18:25:13 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.41.6:
+ Add API to set the percentage of volume space that can be used
for data storage.
+ Do not use GBM and DMA-BUF for WebGL implementation.
+ Use EGL_MESA_image_dma_buf_export if available when GBM is
disabled.
+ Fix AV1 video with the dav1d decoder when using the DMA-BUF
sink.
+ Use three buffers for DMA-BUF renderer.
+ Fix several crashes and rendering issues.
- Changes from version 2.41.5:
+ Include key modifiers in wheel events.
+ Remove support for OpenGL API in the web process.
+ Native DASH support is now opt-in, like HLS.
+ Fix scrollbar jumping to top when drag released outside window
in GTK4.
+ Fix contents not rendered in new web view when realized after
configure and frame with DMA-BUF renderer.
+ Fix several crashes and rendering issues.
- Changes from version 2.41.4:
+ Add new API to configure experimental features at runtime.
+ Add support for prefers-reduced-motion media query.
+ Split hardware acceleration information in webkit://gpu.
+ Fix CPU usage on autoplaying videos.
+ Fix video rendering when GL is disabled.
+ Choose amount of painting threads depending on available CPU
cores on GTK4.
+ Add memory usage of images in web inspector memory timeline.
+ Fix the build with X11 target disabled.
+ Fix several crashes and rendering issues.
- Changes from version 2.41.3:
+ Ensure the same GPU device is used by GBM in all processes.
+ Fix memory corruption causing glitches in several web sites.
+ Use more reliable generated application ID.
+ Show DRM device and render node files when available in
webkit://gpu.
+ Fix the build on i386.
+ Fix several crashes and rendering issues.
- Changes from version 2.41.2:
+ Properly handle the modifier value when exporting/importing
DMA-BUF buffers.
+ Dont require GApplication for bubblewrap sandbox.
+ Fix cap height calculation in font metrics.
+ Fix the build on i386.
+ Fix the build with libgbm disabled.
+ Fix several crashes and rendering issues.
+ Updated translations.
- Changes from version 2.41.1:
+ Use DMABuf and WebKit IPC for rendering instead of wpe/x11.
+ Calculate scroll step depending on scrollable area size when
scrolling with the mouse wheel or arrow keys.
+ Add WebKitClipboardPermissionRequest to handle DOM paste access
requests.
+ Remove support for rendering with GLX in the web process.
+ Fix several crashes and rendering issues.
- Add pkgconfig(libjxl) BuildRequires: New dependency.
-------------------------------------------------------------------
Wed Aug 2 18:25:12 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.40.5 (boo#1213905 boo#1215230):
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-38133, CVE-2023-38572, CVE-2023-38592,
CVE-2023-38594, CVE-2023-38595, CVE-2023-38597, CVE-2023-38599,
CVE-2023-38600, CVE-2023-38611, CVE-2023-40397, CVE-2023-39434,
CVE-2023-40451.
-------------------------------------------------------------------
Fri Jul 21 20:49:06 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.40.4 (boo#1213379):
+ Fix a bug in JavaScript reading variable arguments in a call.
+ Security fixes: CVE-2023-37450.
-------------------------------------------------------------------
Wed Jun 28 16:41:25 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.40.3 (boo#1212863):
+ Make memory pressure monitor honor memory.memsw.usage_in_bytes
if exists.
+ Include key modifiers in wheel events.
+ Apply cookie blocking policy to WebSocket handshakes.
+ Remove accidental dependency on GLib 2.70.
+ Fix the build with BUBBLEWRAP_SANDBOX disabled.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-32439.
-------------------------------------------------------------------
Wed May 31 16:05:38 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 2.40.2 (boo#1211846):
+ Fix scrollbar jumping to top when drag released outside window
in GTK4.
+ Fix video rendering when GL is disabled.
+ Fix flickering on looped videos when starting again.
+ Fix CPU usage on autoplaying videos.
+ Choose amount of painting threads depending on available CPU
cores on GTK4.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-28204, CVE-2023-32373 (boo#1211658
boo#1211659).
- Drop gcc13-fix.patch: fixed upstream.
-------------------------------------------------------------------
Thu Apr 20 14:21:35 UTC 2023 - Michael Gorse <mgorse@suse.com>
@ -29,7 +375,7 @@ Thu Apr 20 14:21:35 UTC 2023 - Michael Gorse <mgorse@suse.com>
+ Fix the build with GCC 13.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2022-0108, CVE-2023-28205, CVE-2022-32885,
CVE-2023-27932, CVE-2023-27954.
CVE-2023-27932, CVE-2023-27954, CVE-2023-28198, CVE-2023-32370.
- Drop regression-fix.patch and fix-gst-crash.patch: fixed
upstream.
- Rebase gcc13-fix.patch.
@ -64,7 +410,7 @@ Tue Mar 21 08:17:44 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
-------------------------------------------------------------------
Fri Mar 17 19:06:13 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.40.0:
- Update to version 2.40.0 (boo#1213581):
+ New GTK4 API is now stable.
+ Use ANGLE for WebGL implementation and enable WebGL2.
+ Prefer EGL over X11, intead of GLX, where available.
@ -80,6 +426,7 @@ Fri Mar 17 19:06:13 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
+ Fix large memory allocation when uploading content.
- Add regression-fix.patch: [GLib] Broke
WebKitUserContentManager::script-message-received
+ Security fixes: CVE-2023-32393, CVE-2023-32435, CVE-2023-35074.
-------------------------------------------------------------------
Wed Mar 8 16:18:06 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
@ -251,7 +598,8 @@ Thu Feb 2 15:51:06 UTC 2023 - Michael Gorse <mgorse@suse.com>
+ Fix the build with GStreamer-based WebRTC enabled.
+ Fix the build with USE_GTK4 enabled.
+ Fix several crashes and rendering issues.
+ Security fixes: CVE-2023-23517, CVE-2023-23518, CVE-2022-42826.
+ Security fixes: CVE-2023-23517, CVE-2023-23518, CVE-2022-42826,
CVE-2022-32919, CVE-2022-46705, CVE-2022-46725.
-------------------------------------------------------------------
Fri Jan 27 15:09:41 UTC 2023 - Michael Gorse <mgorse@suse.com>
@ -327,7 +675,8 @@ Fri Sep 16 22:44:55 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
+ Add support for PDF documents using PDF.js.
+ Security fixes: CVE-2022-32886, CVE-2022-32888, CVE-2022-32912,
CVE-2022-32923, CVE-2022-42863, CVE-2023-25358, CVE-2023-25360,
CVE-2023-25361, CVE-2023-25362, CVE-2023-25363.
CVE-2023-25361, CVE-2023-25362, CVE-2023-25363, CVE-2022-48503,
CVE-2022-32933, CVE-2023-42833.
-------------------------------------------------------------------
Mon Sep 5 06:25:57 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>

Binary file not shown.

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package webkit2gtk3
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -25,7 +25,8 @@
ExclusiveArch: do-not-build
%endif
%define usegcc10 0%{?sle_version} && 0%{?sle_version} <= 150400
%define usegcc11 0%{?sle_version} && 0%{?sle_version} < 160000
%define use_jxl !(0%{?sle_version} && 0%{?sle_version} < 160000)
%if "%{flavor}" == "gtk3"
%define _gtknamesuffix gtk3
@ -67,12 +68,14 @@ ExclusiveArch: do-not-build
%define _jscver 6.0
%define _pkgconfig_suffix gtk-4.0
%define _usesoup2 0
%define _wk2sover6api 6_0-4
%define _soverlj6api 6_0-1
%define _wk2sover6api -6_0-4
%define _soverlj6api -6_0-1
%endif
Name: webkit2%{_gtknamesuffix}
Version: 2.40.1
### FIXME ### Drop the disabling of LTO on next release/versionbump
%define _lto_cflags %{nil}
Version: 2.44.2
Release: 0
Summary: Library for rendering web content, GTK+ Port
License: BSD-3-Clause AND LGPL-2.0-or-later
@ -85,8 +88,8 @@ Source99: webkit2gtk3.keyring
# PATCH-FEATURE-OPENSUSE reproducibility.patch -- Make build reproducible
Patch0: reproducibility.patch
# PATCH-FIX-UPSTREAM Fix rejected code by GCC 13: https://github.com/WebKit/WebKit/pull/11910
Patch1: gcc13-fix.patch
# PATCH-FIX-UPSTREAM webkit2gtk3-disable-dmabuf-nvidia.patch boo#1216778 mgorse@suse.com -- disable the DMABuf renderer for NVIDIA proprietary drivers.
Patch2: webkit2gtk3-disable-dmabuf-nvidia.patch
BuildRequires: Mesa-libEGL-devel
BuildRequires: Mesa-libGL-devel
@ -98,15 +101,14 @@ BuildRequires: bubblewrap
BuildRequires: cmake
BuildRequires: enchant-devel
BuildRequires: flex
%if %usegcc10
BuildRequires: gcc10-c++
%if %usegcc11
BuildRequires: gcc11-c++
%else
BuildRequires: gcc-c++ >= 8.3
BuildRequires: gcc-c++ >= 10.2
%endif
BuildRequires: gobject-introspection-devel
BuildRequires: gperf >= 3.0.1
BuildRequires: hyphen-devel
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: ninja
BuildRequires: openjpeg2
@ -120,10 +122,12 @@ BuildRequires: xdg-dbus-proxy
BuildRequires: pkgconfig(atk)
BuildRequires: pkgconfig(atspi-2) >= 2.5.3
BuildRequires: pkgconfig(cairo) >= 1.14.0
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(fontconfig) >= 2.8.0
BuildRequires: pkgconfig(freetype2) >= 2.4.2
BuildRequires: pkgconfig(glib-2.0) >= 2.56.4
%if %usegcc10
BuildRequires: pkgconfig(icu-i18n)
%if %usegcc11
BuildRequires: pkgconfig(glproto)
%endif
BuildRequires: pkgconfig(gnutls) >= 3.0.0
@ -150,6 +154,9 @@ BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(harfbuzz) >= 0.9.18
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libavif) >= 0.9.0
%if %{use_jxl}
BuildRequires: pkgconfig(libjxl)
%endif
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(libsecret-1)
@ -170,6 +177,7 @@ BuildRequires: pkgconfig(upower-glib)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wpe-1.0) >= 1.3.0
BuildRequires: pkgconfig(wpebackend-fdo-1.0) >= 1.6.0
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(zlib)
@ -192,6 +200,7 @@ Requires: libjavascriptcoregtk%{_soverlj6api} = %{version}
%else
Requires: libjavascriptcoregtk%{_sover} = %{version}
%endif
Requires: libwayland-client0 >= 1.20.0
Requires: webkit2gtk-%{_sonameverpkg}-injected-bundles
Requires: xdg-dbus-proxy
Provides: %{_pkgname_no_slpp} = %{version}
@ -219,6 +228,8 @@ Requires: bubblewrap
%if "%{flavor}" == "gtk4"
Requires: libjavascriptcoregtk%{_soverlj6api} = %{version}
Requires: webkitgtk-%{_sonameverpkg}-injected-bundles
# Package was wrongly named
Obsoletes: libwebkitgtk6_0-4 < 2.42.6
%else
Requires: libjavascriptcoregtk%{_sover} = %{version}
Requires: webkit2gtk-%{_sonameverpkg}-injected-bundles
@ -283,6 +294,8 @@ more.
%package -n libjavascriptcoregtk%{_soverlj6api}
Summary: JavaScript Core Engine, GTK+ Port
Group: System/Libraries
# Package was wrongly named
Obsoletes: libjavascriptcoregtk6_0-1 < 2.42.6
%description -n libjavascriptcoregtk%{_soverlj6api}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
@ -420,35 +433,38 @@ Group: Development/Tools/Other
%description minibrowser
A small test browswer from webkit, useful for testing features.
# Expand %%lang_package to Obsoletes its older-name counterpart
%if "%{flavor}" == "gtk3-soup2"
%package -n WebKitGTK-%{_apiver}-lang
Summary: Translations for package %{name}
Group: System/Localization
Requires: WebKitGTK-%{_apiver} = %{version}
Provides: WebKitGTK-%{_apiver}-lang-all = %{version}
Obsoletes: WebKit2GTK-lang < 2.40.0
Obsoletes: libwebkit2gtk3-lang < %{version}
BuildArch: noarch
%description -n WebKitGTK-%{_apiver}-lang
Provides translations for the "%{name}" package.
%else
%lang_package -n WebKitGTK-%{_apiver}
%endif
%prep
%autosetup -p1 -n webkitgtk-%{version}
# Adjust path to GStreamer's gst-plugin-scanner (we rename it to - gst-plugin-scanner-%%{_target_cpu}
sed -i 's|/gst-plugin-scanner|/gst-plugin-scanner-%{_target_cpu}|' ./Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
%build
# Here we must muzzle our dog so it doesn't eat all the memory
max_link_jobs="%{?jobs:%{jobs}}"
max_compile_jobs="%{?jobs:%{jobs}}"
max_link_jobs="%{?jobs}%{!?jobs:1}"
max_compile_jobs="%{?jobs}%{!?jobs:4}"
echo "Available memory:"
cat /proc/meminfo
echo "System limits:"
ulimit -a
if test -n "$max_link_jobs" -a "$max_link_jobs" -gt 1 ; then
mem_per_process=1500000
mem_per_process=2000000
max_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo)
max_jobs="$(($max_mem / $mem_per_process))"
test "$max_link_jobs" -gt "$max_jobs" && max_link_jobs="$max_jobs" && echo "Warning: Reducing number of link jobs to $max_jobs because of memory limits"
@ -462,9 +478,9 @@ export PYTHON=%{_bindir}/python3
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_DOCUMENTATION=OFF \
%if %usegcc10
-DCMAKE_C_COMPILER=gcc-10 \
-DCMAKE_CXX_COMPILER=g++-10 \
%if %usegcc11
-DCMAKE_C_COMPILER=gcc-11 \
-DCMAKE_CXX_COMPILER=g++-11 \
%endif
-DPORT=GTK \
%if "%{flavor}" == "gtk4"
@ -473,6 +489,7 @@ export PYTHON=%{_bindir}/python3
-DENABLE_WEBDRIVER=ON \
%else
-DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libwebkit2gtk%{_wk2sover} \
-DUSE_GTK4=OFF \
-DENABLE_WEBDRIVER=OFF \
%endif
-DUSE_AVIF=ON \
@ -486,9 +503,15 @@ export PYTHON=%{_bindir}/python3
%endif
%ifarch aarch64
-DENABLE_JIT=OFF \
-DENABLE_C_LOOP=ON \
-DENABLE_SAMPLING_PROFILER=OFF \
-DUSE_SYSTEM_MALLOC=ON \
%else
%if 0%{?sle_version} && 0%{?sle_version} < 160000
-DUSE_SYSTEM_MALLOC=ON \
%endif
%endif
-DUSE_LIBBACKTRACE=OFF \
%if !%{use_jxl}
-DUSE_JPEGXL=OFF \
%endif
%ninja_build -j $max_link_jobs

BIN
webkitgtk-2.40.1.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABEDAB0WIQRao7wzT9fjNp58d7KRxVnb5MkSOwUCZEBCkQAKCRCRxVnb5MkS
O8umAJ4lwUaJE5wc06yCJ6KxQV3D040EkQCffYgpjfNmTer2Niy9lhrfMmAK+Gk=
=81MT
-----END PGP SIGNATURE-----

BIN
webkitgtk-2.44.2.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEAToBJ6ycZbNP+mJSbBAJtpOXU5MFAmZF9iQACgkQbBAJtpOX
U5ORGQ//ZZJ0eviTeoGMmxzwbnGHPuusinRUsR7Tc6U1nN+Q9AFspcTQyCrj9IEB
fsyV9Kcu7v8FB7HQvguY1mkyUSNTiteKw9YwvUtqqrrFoYAnVKTReUEnt38SUWWT
LiwcQ3D13OiVqywRRrNalo7BqzfqoOylhDwdIg1D7w6HCHNxlhAaw71b9TRinZx4
a3WyfPz3E1lnEIzU2djsZv3lhQJa6tHR39pCXacXQGU35v88VbZ3mHeUyche6sQ0
BC+6IB1nphyO2/pLcYPv7Dp9IFEnTTl3A44v/7Zaj3eLX0+6GdZuuUc9x22+Sl+6
IwZ5AjQOXw8+tGNTkGbWnD3kgRc14s+uCNJ8qEjSmv/oN3hUEh3vf4+pL4gDgGYi
jVQe9uIjQO5AfgEFTumMfTaeN5MgvWGTPjtPhjfN3MyKgkU+I3qrdt+fHH57HUeJ
TiWkHFxgI32ucjRjdQ1YqZ5sUna/5uKKyxufa7hwOzwYumhFcouMzAqBxJ+96X7n
tL0/j+JZHmeJwCHUdIaTnTh2pYFZ4HFfJqcXda+xq43wNAM7qKMjps6h+szNKSo/
9xBEFpuWyV7xyCzGQ3Ul/S/DZ1dr/UQrK8SA9EBjVhsVQTmoxf8A+QK/LJqmtHwA
dfkKRYwQ6qedeESVJ2+HCzvZnxhKyU8cSgvI2Yz1pe7C3zFJv3o=
=unwr
-----END PGP SIGNATURE-----