commit daa7f9183c70782e1a22df16baf55d48be32d62f
Author: tigro <tigro@msvsphere-os.ru>
Date:   Sat Jan 11 19:42:56 2025 +0300

    import webkit2gtk4.0-2.46.3-1.el10

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5889e87
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/webkitgtk-2.46.3.tar.xz
diff --git a/.webkit2gtk4.0.metadata b/.webkit2gtk4.0.metadata
new file mode 100644
index 0000000..128826f
--- /dev/null
+++ b/.webkit2gtk4.0.metadata
@@ -0,0 +1 @@
+110e2c2ac964f207a8f2fecf6e2e61f0ed4bee00  SOURCES/webkitgtk-2.46.3.tar.xz
diff --git a/SOURCES/llvm19.patch b/SOURCES/llvm19.patch
new file mode 100644
index 0000000..86aef9c
--- /dev/null
+++ b/SOURCES/llvm19.patch
@@ -0,0 +1,200 @@
+From 762e2cc7f1ff4e9e2834ecc7b7aaa4c933d06e5b Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@redhat.com>
+Date: Tue, 1 Oct 2024 11:43:31 -0500
+Subject: [PATCH] Cherry-pick db9c6a9f5548.
+ https://bugs.webkit.org/show_bug.cgi?id=276633
+
+Build broken with LLVM 19
+https://bugs.webkit.org/show_bug.cgi?id=280642
+
+Reviewed by NOBODY (OOPS!).
+
+We need to replace several forward declarations with #include
+statements to avoid "member access into incomplete type" errors. This
+has revealed that many SVG headers are missing from the framework
+headers and so are not available to derived sources. I don't attempt to
+fix this comprehensively; this is just the minimum required to fix the
+build.
+
+* Source/WebCore/CMakeLists.txt:
+* Source/WebCore/Headers.cmake:
+* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h:
+---
+ Source/WebCore/CMakeLists.txt                 |  2 +
+ Source/WebCore/Headers.cmake                  | 64 +++++++++++++++++++
+ .../Modules/webcodecs/WebCodecsVideoFrame.h   | 12 ++--
+ 3 files changed, 72 insertions(+), 6 deletions(-)
+
+diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt
+index beca51b714ec..d3b6ff21c7ae 100644
+--- a/Source/WebCore/CMakeLists.txt
++++ b/Source/WebCore/CMakeLists.txt
+@@ -2855,6 +2855,8 @@ WEBKIT_COMPUTE_SOURCES(WebCore)
+ target_precompile_headers(WebCore PRIVATE WebCorePrefix.h)
+ 
+ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS
++    ${WebCore_DERIVED_SOURCES_DIR}/SVGNames.h
++
+     Modules/WebGPU/InternalAPI/WebGPU.serialization.in
+ 
+     Modules/indexeddb/IndexedDB.serialization.in
+diff --git a/Source/WebCore/Headers.cmake b/Source/WebCore/Headers.cmake
+index cfe691a05770..e6ddf2d9cff2 100644
+--- a/Source/WebCore/Headers.cmake
++++ b/Source/WebCore/Headers.cmake
+@@ -846,6 +846,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS
+     css/CSSFontPaletteValuesRule.h
+     css/CSSGridIntegerRepeatValue.h
+     css/CSSGroupingRule.h
++    css/CSSImageValue.h
+     css/CSSImportRule.h
+     css/CSSLineBoxContainValue.h
+     css/CSSMediaRule.h
+@@ -873,6 +874,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS
+     css/CSSVariableData.h
+     css/CSSVariableReferenceValue.h
+     css/Counter.h
++    css/DOMMatrix2DInit.h
+     css/DeprecatedCSSOMCounter.h
+     css/DeprecatedCSSOMPrimitiveValue.h
+     css/DeprecatedCSSOMRGBColor.h
+@@ -925,6 +927,7 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS
+ 
+     css/typedom/CSSKeywordValue.h
+     css/typedom/CSSNumericValue.h
++    css/typedom/CSSStyleImageValue.h
+     css/typedom/CSSStyleValue.h
+ 
+     css/typedom/numeric/CSSNumericBaseType.h
+@@ -2539,17 +2542,41 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS
+     style/StyleValidity.h
+     style/Styleable.h
+ 
++    svg/SVGAngle.h
++    svg/SVGAngleValue.h
+     svg/SVGElement.h
++    svg/SVGGraphicsElement.h
++    svg/SVGImageElement.h
++    svg/SVGImageLoader.h
++    svg/SVGLength.h
+     svg/SVGLengthContext.h
++    svg/SVGLengthList.h
+     svg/SVGLengthValue.h
++    svg/SVGLocatable.h
++    svg/SVGMarkerTypes.h
++    svg/SVGMatrix.h
++    svg/SVGNumber.h
++    svg/SVGNumberList.h
+     svg/SVGParserUtilities.h
+     svg/SVGParsingError.h
+     svg/SVGPathByteStream.h
+     svg/SVGPathConsumer.h
++    svg/SVGPathSeg.h
++    svg/SVGPathSegList.h
+     svg/SVGPathUtilities.h
++    svg/SVGPoint.h
++    svg/SVGPointList.h
++    svg/SVGPreserveAspectRatio.h
+     svg/SVGPreserveAspectRatioValue.h
++    svg/SVGRect.h
+     svg/SVGStringList.h
+     svg/SVGTests.h
++    svg/SVGTransform.h
++    svg/SVGTransformDistance.h
++    svg/SVGTransformList.h
++    svg/SVGTransformValue.h
++    svg/SVGTransformable.h
++    svg/SVGURIReference.h
+     svg/SVGUnitTypes.h
+ 
+     svg/graphics/SVGImageCache.h
+@@ -2557,11 +2584,48 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS
+     svg/graphics/filters/SVGFilter.h
+     svg/graphics/filters/SVGFilterExpression.h
+ 
++    svg/properties/SVGAnimatedDecoratedProperty.h
++    svg/properties/SVGAnimatedPrimitiveProperty.h
++    svg/properties/SVGAnimatedProperty.h
++    svg/properties/SVGAnimatedPropertyAccessor.h
++    svg/properties/SVGAnimatedPropertyAccessorImpl.h
++    svg/properties/SVGAnimatedPropertyAnimator.h
++    svg/properties/SVGAnimatedPropertyAnimatorImpl.h
++    svg/properties/SVGAnimatedPropertyImpl.h
++    svg/properties/SVGAnimatedPropertyList.h
++    svg/properties/SVGAnimatedPropertyPairAccessor.h
++    svg/properties/SVGAnimatedPropertyPairAccessorImpl.h
++    svg/properties/SVGAnimatedPropertyPairAnimator.h
++    svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h
++    svg/properties/SVGAnimatedString.h
++    svg/properties/SVGAnimatedValueProperty.h
++    svg/properties/SVGAnimationAdditiveFunction.h
++    svg/properties/SVGAnimationAdditiveListFunction.h
++    svg/properties/SVGAnimationAdditiveListFunctionImpl.h
++    svg/properties/SVGAnimationAdditiveValueFunction.h
++    svg/properties/SVGAnimationAdditiveValueFunctionImpl.h
++    svg/properties/SVGAnimationDiscreteFunction.h
++    svg/properties/SVGAnimationDiscreteFunctionImpl.h
++    svg/properties/SVGAnimationFunction.h
++    svg/properties/SVGAttributeAnimator.h
++    svg/properties/SVGDecoratedEnumeration.h
++    svg/properties/SVGDecoratedPrimitive.h
++    svg/properties/SVGDecoratedProperty.h
+     svg/properties/SVGList.h
++    svg/properties/SVGMemberAccessor.h
++    svg/properties/SVGPointerMemberAccessor.h
+     svg/properties/SVGPrimitiveList.h
+     svg/properties/SVGProperty.h
++    svg/properties/SVGPropertyAccessor.h
++    svg/properties/SVGPropertyAccessorImpl.h
++    svg/properties/SVGPropertyList.h
+     svg/properties/SVGPropertyOwner.h
++    svg/properties/SVGPropertyOwnerRegistry.h
++    svg/properties/SVGPropertyRegistry.h
+     svg/properties/SVGPropertyTraits.h
++    svg/properties/SVGSharedPrimitiveProperty.h
++    svg/properties/SVGValueProperty.h
++    svg/properties/SVGValuePropertyList.h
+ 
+     testing/MockGamepad.h
+     testing/MockGamepadProvider.h
+diff --git a/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h b/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h
+index 286a2a32a0a3..03b5908976f8 100644
+--- a/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h
++++ b/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h
+@@ -27,10 +27,16 @@
+ 
+ #if ENABLE(WEB_CODECS)
+ 
++#include "CSSStyleImageValue.h"
+ #include "ContextDestructionObserver.h"
+ #include "DOMRectReadOnly.h"
++#include "HTMLCanvasElement.h"
++#include "HTMLImageElement.h"
++#include "HTMLVideoElement.h"
+ #include "JSDOMPromiseDeferredForward.h"
++#include "OffscreenCanvas.h"
+ #include "PlaneLayout.h"
++#include "SVGImageElement.h"
+ #include "VideoColorSpaceInit.h"
+ #include "WebCodecsAlphaOption.h"
+ #include "WebCodecsVideoFrameData.h"
+@@ -38,16 +44,10 @@
+ namespace WebCore {
+ 
+ class BufferSource;
+-class CSSStyleImageValue;
+ class DOMRectReadOnly;
+-class HTMLCanvasElement;
+-class HTMLImageElement;
+-class HTMLVideoElement;
+ class ImageBitmap;
+ class ImageBuffer;
+ class NativeImage;
+-class OffscreenCanvas;
+-class SVGImageElement;
+ class VideoColorSpace;
+ 
+ template<typename> class ExceptionOr;
+-- 
+2.46.2
+
diff --git a/SOURCES/webkitgtk-2.46.3.tar.xz.asc b/SOURCES/webkitgtk-2.46.3.tar.xz.asc
new file mode 100644
index 0000000..b14c85f
--- /dev/null
+++ b/SOURCES/webkitgtk-2.46.3.tar.xz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEAToBJ6ycZbNP+mJSbBAJtpOXU5MFAmciLBQACgkQbBAJtpOX
+U5MFsBAAqwUuPEkirbQXxESAu8nJKUG3RVa4y3c1NaTRETW19cy/32KeiBlxbWW5
+UKF2gKlu5B+mJn9f0hebYBUkqr6HdWO1JnBz3XNXZ7dNObTWlN9g4T6tlqsxAdsk
+B04ddWFQKYQJ4pMLjlxVFkFXQ0vh9UywBwUyGXrqg9yo2OcSGpsqdujyZfdlWrHc
+0kDLow9SYM5XhkzFoQxKlYsVg1vhzpTxDuv39JqVTGHlX8pEplpCsrMwpVQ+89aP
+zv64u/xnPAEsN4wGeB0QyH6H0llukTmrgWUfoRqeDLHMGAeuHe1yONGyK5fWA1u+
+ABTsjVnh5nOQxUZaNc3dpMdUcrp+kVhjKDwMOhKNbfVoLWxchmU5VvrCoytRAX8i
+4js2xOgnMk26cNB4dZsMg9cYH4Zr+nkfkjGljGXRSvexF8iBUc2Dv0scrtDh3ArI
+aWk4eMyO5nRPIFWE6j5d+sAm1TF1hGMW33beYOTy5Iqm2l2inRoaxGdAz2ZFjF5S
+xcjG7tT3+pG8WXPhJ0Tl41mPJKg79tY3F0uzSedtJ+J3q4uRKORFOdChtDbqHHT7
+mI0jT6rrGckXlncufvg19RiCnmP8vmZEyeuTZja6vBsV3pA7Uc/IWcWEXi9ip/om
+grjX+68/ypghS571sFxrjQaNdqrO0fwMrJBZxhgelJKnykvoj2Y=
+=wug0
+-----END PGP SIGNATURE-----
diff --git a/SOURCES/webkitgtk-keys.gpg b/SOURCES/webkitgtk-keys.gpg
new file mode 100644
index 0000000..1852062
Binary files /dev/null and b/SOURCES/webkitgtk-keys.gpg differ
diff --git a/SPECS/webkit2gtk4.0.spec b/SPECS/webkit2gtk4.0.spec
new file mode 100644
index 0000000..8e788de
--- /dev/null
+++ b/SPECS/webkit2gtk4.0.spec
@@ -0,0 +1,427 @@
+## START: Set by rpmautospec
+## (rpmautospec version 0.7.3)
+## RPMAUTOSPEC: autorelease, autochangelog
+%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
+    release_number = 1;
+    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
+    print(release_number + base_release_number - 1);
+}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
+## END: Set by rpmautospec
+
+## NOTE: Lots of files in various subdirectories have the same name (such as
+## "LICENSE") so this short macro allows us to distinguish them by using their
+## directory names (from the source tree) as prefixes for the files.
+%global add_to_license_files() \
+        mkdir -p _license_files ; \
+        cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
+
+# Build documentation by default (use `rpmbuild --without docs` to override it).
+# This is used by Coverity. Coverity injects custom compiler warnings, but
+# any warning during WebKit docs build is fatal!
+%bcond_without docs
+
+# Clang is preferred: https://skia.org/docs/user/build/#supported-and-preferred-compilers
+%global toolchain clang
+
+# We run out of memory if building with LTO enabled on i686.
+%ifarch %{ix86}
+%global _lto_cflags %{nil}
+%endif
+
+Name:           webkit2gtk4.0
+Version:        2.46.3
+Release:        %autorelease
+Summary:        WebKitGTK for GTK 3 and libsoup 2
+
+# Source/bmalloc/bmalloc/*.h is BSD-2-Clause
+# Source/bmalloc/bmalloc/CryptoRandom.cpp is ISC
+# Source/bmalloc/bmalloc/valgrind.h is is bzip2-1.0.6
+# Source/bmalloc/libpas/src/test/RedBlackTreeTests.cpp is BSD-3-Clause
+# Source/JavaScriptCore/config.h is LGPL-2.0-or-later
+# Source/JavaScriptCore/b3/B3ComputeDivisionMagic.h is NCSA
+# Source/JavaScriptCore/disassembler/zydis/* is MIT
+# Source/JavaScriptCore/runtime/JSDateMath.h is MPL 1.1/GPL 2.0/LGPL 2.1
+# Source/JavaScriptCore/runtime/MathCommon.cpp is SunPro
+# Source/JavaScriptCore/ucd/CaseFolding.txt is Unicode-TOU
+# Source/ThirdParty/ANGLE/include/CL/cl_d3d10.h is Apache-2.0
+# Source/ThirdParty/ANGLE/include/GLES/gl.h is MIT-Khronos (not on list see https://github.com/spdx/license-list-XML/issues/2017)
+# Source/ThirdParty/ANGLE/src/compiler/preprocessor/preprocessor_tab_autogen.cpp is GPL-3.0-or-later WITH Bison-exception-2.2
+# Source/ThirdParty/ANGLE/tools/flex-bison/third_party/m4sugar/m4sugar.m4 is GPL-3.0-only WITH Autoconf-exception-3.0
+# Source/ThirdParty/pdfjs/web/images/annotation-paperclip.svg is MPL-2.0i
+# Source/ThirdParty/pdfjs/web/standard_fonts/LICENSE_LIBERATION is OFL-1.1
+# Source/ThirdParty/xdgmime/ is AFL-2.0 GPL-2.0-or-later
+# Source/WebCore/dom/PseudoElement.h is BSD-Source-Code
+# Source/WebCore/dom/SecurityContext.cpp is BSD-2-Clause-Views
+# Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp is LGPL-2.1-or-later
+# Source/WTF/LICENSE-libc++.txt is NCSA OR MIT
+# Source/WTF/LICENSE-LLVM.txt is Apache-2.0 WITH LLVM-exception
+# Source/WTF/icu/LICENSE is ICU
+# Source/WTF/wtf/Markable.h is BSL-1.0
+# The license tag and above comment is up to date as of WebKitGTK 2.42.2.
+License:        LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Unicode-TOU AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-only WITH Autoconf-exception-3.0 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND ICU AND BSL-1.0
+URL:            https://www.webkitgtk.org/
+Source0:        https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
+Source1:        https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc
+# Use the keys from https://webkitgtk.org/verifying.html
+# $ gpg --import aperez.key carlosgc.key
+# $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg
+Source2:        webkitgtk-keys.gpg
+
+# https://bugs.webkit.org/show_bug.cgi?id=280642
+Patch:          llvm19.patch
+
+BuildRequires:  bison
+BuildRequires:  bubblewrap
+BuildRequires:  clang
+BuildRequires:  cmake
+BuildRequires:  flex
+BuildRequires:  gettext
+BuildRequires:  gi-docgen
+BuildRequires:  git
+BuildRequires:  gnupg2
+BuildRequires:  gperf
+BuildRequires:  hyphen-devel
+BuildRequires:  libatomic
+BuildRequires:  ninja-build
+BuildRequires:  openssl-devel
+BuildRequires:  perl(English)
+BuildRequires:  perl(FindBin)
+BuildRequires:  perl(JSON::PP)
+BuildRequires:  perl(bigint)
+BuildRequires:  python3
+BuildRequires:  ruby
+BuildRequires:  rubygems
+BuildRequires:  rubygem-json
+BuildRequires:  unifdef
+BuildRequires:  xdg-dbus-proxy
+
+BuildRequires:  pkgconfig(atspi-2)
+BuildRequires:  pkgconfig(cairo)
+BuildRequires:  pkgconfig(egl)
+BuildRequires:  pkgconfig(enchant-2)
+BuildRequires:  pkgconfig(epoxy)
+BuildRequires:  pkgconfig(fontconfig)
+BuildRequires:  pkgconfig(freetype2)
+BuildRequires:  pkgconfig(gbm)
+BuildRequires:  pkgconfig(glib-2.0)
+BuildRequires:  pkgconfig(gobject-introspection-1.0)
+BuildRequires:  pkgconfig(gstreamer-1.0)
+BuildRequires:  pkgconfig(gstreamer-plugins-bad-1.0)
+BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
+BuildRequires:  pkgconfig(gtk+-3.0)
+BuildRequires:  pkgconfig(gtk4)
+BuildRequires:  pkgconfig(harfbuzz)
+BuildRequires:  pkgconfig(icu-uc)
+BuildRequires:  pkgconfig(lcms2)
+BuildRequires:  pkgconfig(libavif)
+BuildRequires:  pkgconfig(libdrm)
+BuildRequires:  pkgconfig(libgcrypt)
+BuildRequires:  pkgconfig(libjpeg)
+BuildRequires:  pkgconfig(libjxl)
+BuildRequires:  pkgconfig(libnotify)
+BuildRequires:  pkgconfig(libpng)
+BuildRequires:  pkgconfig(libseccomp)
+BuildRequires:  pkgconfig(libsecret-1)
+BuildRequires:  pkgconfig(libsoup-2.4)
+BuildRequires:  pkgconfig(libsystemd)
+BuildRequires:  pkgconfig(libtasn1)
+BuildRequires:  pkgconfig(libwebp)
+BuildRequires:  pkgconfig(libwoff2dec)
+BuildRequires:  pkgconfig(libxslt)
+BuildRequires:  pkgconfig(manette-0.2)
+BuildRequires:  pkgconfig(sqlite3)
+BuildRequires:  pkgconfig(sysprof-capture-4)
+BuildRequires:  pkgconfig(upower-glib)
+BuildRequires:  pkgconfig(wayland-client)
+BuildRequires:  pkgconfig(wayland-egl)
+BuildRequires:  pkgconfig(wayland-protocols)
+BuildRequires:  pkgconfig(wayland-server)
+BuildRequires:  pkgconfig(xt)
+
+Requires:       javascriptcoregtk4.0%{?_isa} = %{version}-%{release}
+Requires:       bubblewrap
+Requires:       libGLES
+Requires:       xdg-dbus-proxy
+Recommends:     geoclue2
+Recommends:     gstreamer1-plugins-bad-free
+Recommends:     gstreamer1-plugins-good
+Recommends:     xdg-desktop-portal-gtk
+Provides:       bundled(angle)
+Provides:       bundled(pdfjs)
+Provides:       bundled(skia)
+Provides:       bundled(xdgmime)
+Obsoletes:      webkitgtk4 < %{version}-%{release}
+Provides:       webkitgtk4 = %{version}-%{release}
+Obsoletes:      webkit2gtk3 < %{version}-%{release}
+Provides:       webkit2gtk3 = %{version}-%{release}
+
+# Filter out provides for private libraries
+%global __provides_exclude_from ^(%{_libdir}/webkit2gtk-4\\.0/.*\\.so)$
+
+%description
+WebKitGTK is the port of the WebKit web rendering engine to the
+GTK platform. This package contains WebKitGTK for GTK 3 and libsoup 2.
+
+%package        devel
+Summary:        Development files for webkit2gtk4.0
+Requires:       webkit2gtk4.0%{?_isa} = %{version}-%{release}
+Requires:       javascriptcoregtk4.0%{?_isa} = %{version}-%{release}
+Requires:       javascriptcoregtk4.0-devel%{?_isa} = %{version}-%{release}
+Obsoletes:      webkitgtk4-devel < %{version}-%{release}
+Provides:       webkitgtk4-devel = %{version}-%{release}
+Obsoletes:      webkit2gtk3-devel < %{version}-%{release}
+Provides:       webkit2gtk3-devel = %{version}-%{release}
+
+%description    devel
+The webkit2gtk4.0-devel package contains libraries, build data, and header
+files for developing applications that use webkit2gtk4.0.
+
+%if %{with docs}
+%package        doc
+Summary:        Documentation files for webkit2gtk4.0
+BuildArch:      noarch
+Requires:       webkit2gtk4.0 = %{version}-%{release}
+Obsoletes:      webkitgtk4-doc < %{version}-%{release}
+Provides:       webkitgtk4-doc = %{version}-%{release}
+Obsoletes:      webkit2gtk3-doc < %{version}-%{release}
+Provides:       webkit2gtk3-doc = %{version}-%{release}
+Recommends:     gi-docgen-fonts
+
+# Documentation/jsc-glib-4.1/fzy.js is MIT
+# Documentation/jsc-glib-4.1/*.js and *css is Apache-2.0 OR GPL-3.0-or-later
+# Documentation/jsc-glib-4.1/*html is BSD, LGPL-2.1
+# Documentation/webkit2gtk-4.1/*html is  BSD, LGPL-2.1
+# Documentation/webkit2gtk-web-extension-4.1/*html is BSD, LGPL-2.1
+# Documentation/webkit2gtk-web-extension-4.1/solarized* is MIT
+# Documentation/webkit2gtk-web-extension-4.1/style.css is Apache-2.0 OR GPL-3.0-or-later
+License:        MIT AND LGPL-2.1-only AND BSD-3-Clause AND (Apache-2.0 OR GPL-3.0-or-later)
+
+%description    doc
+This package contains developer documentation for webkit2gtk4.0.
+%endif
+
+%package -n     javascriptcoregtk4.0
+Summary:        JavaScript engine from webkit2gtk4.0
+Obsoletes:      webkitgtk4-jsc < %{version}-%{release}
+Provides:       webkitgtk4-jsc = %{version}-%{release}
+Obsoletes:      webkit2gtk3-jsc < %{version}-%{release}
+Provides:       webkit2gtk3-jsc = %{version}-%{release}
+
+%description -n javascriptcoregtk4.0
+This package contains the JavaScript engine from webkit2gtk4.0.
+
+%package -n     javascriptcoregtk4.0-devel
+Summary:        Development files for JavaScript engine from webkit2gtk4.0
+Requires:       javascriptcoregtk4.0%{?_isa} = %{version}-%{release}
+Obsoletes:      webkitgtk4-jsc-devel < %{version}-%{release}
+Provides:       webkitgtk4-jsc-devel = %{version}-%{release}
+Obsoletes:      webkit2gtk3-jsc-devel < %{version}-%{release}
+Provides:       webkit2gtk3-jsc-devel = %{version}-%{release}
+
+%description -n javascriptcoregtk4.0-devel
+The javascriptcoregtk4.0-devel package contains libraries, build data, and header
+files for developing applications that use JavaScript engine from webkit2gtk-4.0.
+
+%prep
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
+%autosetup -p1 -n webkitgtk-%{version}
+
+%build
+# Increase the DIE limit so our debuginfo packages can be size-optimized.
+# This previously decreased the size for x86_64 from ~5G to ~1.1G, but as of
+# 2022 it's more like 850 MB -> 675 MB. This requires lots of RAM on the
+# builders, so only do this for x86_64 and aarch64 to avoid overwhelming
+# builders with less RAM.
+# https://bugzilla.redhat.com/show_bug.cgi?id=1456261
+%global _dwz_max_die_limit_x86_64 250000000
+%global _dwz_max_die_limit_aarch64 250000000
+
+# Require 32 GB of RAM per vCPU for debuginfo processing. 16 GB is not enough.
+%global _find_debuginfo_opts %limit_build -m 32768
+
+# Reduce debuginfo verbosity 32-bit builds to reduce memory consumption even more.
+# https://bugs.webkit.org/show_bug.cgi?id=140176
+# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/I6IVNA52TXTBRQLKW45CJ5K4RA4WNGMI/
+%ifarch %{ix86}
+%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
+%endif
+
+# JIT is broken on ARM systems with new ARMv8.5 BTI extension at the moment
+# Cf. https://bugzilla.redhat.com/show_bug.cgi?id=2130009
+# Cf. https://bugs.webkit.org/show_bug.cgi?id=245697
+# Disable BTI until this is fixed upstream.
+%ifarch aarch64
+%global optflags %(echo %{optflags} | sed 's/-mbranch-protection=standard /-mbranch-protection=pac-ret /')
+%endif
+
+%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
+%cmake \
+  -GNinja \
+  -DPORT=GTK \
+  -DCMAKE_BUILD_TYPE=Release \
+  -DUSE_GTK4=OFF \
+  -DUSE_LIBBACKTRACE=OFF \
+  -DUSE_SOUP2=ON \
+  -DENABLE_WEBDRIVER=OFF \
+%if %{without docs}
+  -DENABLE_DOCUMENTATION=OFF \
+%endif
+  %{nil}
+
+%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
+export NINJA_STATUS="[%f/%t %es] "
+%cmake_build %limit_build -m 3072
+
+%install
+%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
+%cmake_install
+
+%find_lang WebKitGTK-4.0
+
+# Finally, copy over and rename various files for %%license inclusion
+%add_to_license_files Source/JavaScriptCore/COPYING.LIB
+%add_to_license_files Source/ThirdParty/ANGLE/LICENSE
+%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE
+%add_to_license_files Source/WebCore/LICENSE-APPLE
+%add_to_license_files Source/WebCore/LICENSE-LGPL-2
+%add_to_license_files Source/WebCore/LICENSE-LGPL-2.1
+%add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE
+%add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE
+%add_to_license_files Source/WebInspectorUI/UserInterface/External/three.js/LICENSE
+%add_to_license_files Source/WTF/icu/LICENSE
+%add_to_license_files Source/WTF/wtf/dtoa/COPYING
+%add_to_license_files Source/WTF/wtf/dtoa/LICENSE
+
+%files -f WebKitGTK-4.0.lang
+%license _license_files/*ThirdParty*
+%license _license_files/*WebCore*
+%license _license_files/*WebInspectorUI*
+%license _license_files/*WTF*
+%{_libdir}/libwebkit2gtk-4.0.so.37*
+%dir %{_libdir}/girepository-1.0
+%{_libdir}/girepository-1.0/WebKit2-4.0.typelib
+%{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib
+%{_libdir}/webkit2gtk-4.0/
+%{_libexecdir}/webkit2gtk-4.0/
+%exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser
+%exclude %{_libexecdir}/webkit2gtk-4.0/jsc
+
+%files devel
+%{_libexecdir}/webkit2gtk-4.0/MiniBrowser
+%{_includedir}/webkitgtk-4.0/
+%exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore
+%exclude %{_includedir}/webkitgtk-4.0/jsc
+%{_libdir}/libwebkit2gtk-4.0.so
+%{_libdir}/pkgconfig/webkit2gtk-4.0.pc
+%{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc
+%dir %{_datadir}/gir-1.0
+%{_datadir}/gir-1.0/WebKit2-4.0.gir
+%{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir
+
+%files -n javascriptcoregtk4.0
+%license _license_files/*JavaScriptCore*
+%{_libdir}/libjavascriptcoregtk-4.0.so.18*
+%dir %{_libdir}/girepository-1.0
+%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib
+
+%files -n javascriptcoregtk4.0-devel
+%{_libexecdir}/webkit2gtk-4.0/jsc
+%dir %{_includedir}/webkitgtk-4.0
+%{_includedir}/webkitgtk-4.0/JavaScriptCore/
+%{_includedir}/webkitgtk-4.0/jsc/
+%{_libdir}/libjavascriptcoregtk-4.0.so
+%{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc
+%dir %{_datadir}/gir-1.0
+%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
+
+%if %{with docs}
+%files doc
+%dir %{_datadir}/doc
+%{_datadir}/doc/javascriptcoregtk-4.0/
+%{_datadir}/doc/webkit2gtk-4.0/
+%{_datadir}/doc/webkit2gtk-web-extension-4.0/
+%endif
+
+%changelog
+* Sat Jan 11 2025 Arkady L. Shane <tigro@msvsphere-os.ru> - 2.46.3-1
+- Rebuilt for MSVSphere 10
+
+## START: Generated by rpmautospec
+* Mon Nov 04 2024 Pete Walter <pwalter@fedoraproject.org> - 2.46.3-1
+- Update to 2.46.3
+
+* Thu Oct 03 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 2.46.1-2
+- Add patch to fix build with LLVM 19
+
+* Tue Oct 01 2024 Pete Walter <pwalter@fedoraproject.org> - 2.46.1-1
+- Update to 2.46.1
+
+* Tue Oct 01 2024 Pete Walter <pwalter@fedoraproject.org> - 2.46.0-2
+- Add missing sysprof-capture-4 BuildRequires
+
+* Wed Sep 18 2024 Pete Walter <pwalter@fedoraproject.org> - 2.46.0-1
+- Update to 2.46.0
+
+* Fri Aug 16 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 2.44.3-2
+- Add patch to fix WebAssembly
+
+* Wed Aug 14 2024 Pete Walter <pwalter@fedoraproject.org> - 2.44.3-1
+- Update to 2.44.3
+
+* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.44.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Tue Jun 18 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 2.44.2-2
+- Add patch to fix excessive CPU usage
+
+* Tue Jun 18 2024 Pete Walter <pwalter@fedoraproject.org> - 2.44.2-1
+- Update to 2.44.2
+
+* Sat May 25 2024 Fabio Valentini <decathorpe@gmail.com> - 2.44.1-2
+- Rebuild for gstreamer-plugins-bad 1.24
+
+* Sat Apr 27 2024 Pete Walter <pwalter@fedoraproject.org> - 2.44.1-1
+- Update to 2.44.1
+
+* Sat Apr 27 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 2.42.5-5
+- Attempt to reenable LTO
+
+* Sat Apr 27 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 2.42.5-4
+- Remove RHEL conditions from spec file
+
+* Wed Mar 13 2024 Sérgio M. Basto <sergio@serjux.com> - 2.42.5-3
+- Rebuild for jpegxl (libjxl) 0.10.2
+
+* Wed Feb 14 2024 Sérgio M. Basto <sergio@serjux.com> - 2.42.5-2
+- Rebuild for jpegxl (libjxl) 0.9.2 with soname bump
+
+* Thu Feb 08 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 2.42.5-1
+- Update to WebKitGTK 2.42.5
+
+* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.42.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Thu Dec 21 2023 Pete Walter <pwalter@fedoraproject.org> - 2.42.4-1
+- Update to 2.42.4
+
+* Wed Dec 06 2023 Pete Walter <pwalter@fedoraproject.org> - 2.42.3-1
+- Update to 2.42.3
+
+* Sat Nov 11 2023 Pete Walter <pwalter@fedoraproject.org> - 2.42.2-1
+- Update to 2.42.2
+
+* Sat Nov 11 2023 Miroslav Suchý <msuchy@redhat.com> - 2.42.0-3
+- license analysis
+
+* Sat Nov 11 2023 Pete Walter <pwalter@fedoraproject.org> - 2.42.0-2
+- Fix GL dependencies
+
+* Sat Sep 16 2023 Pete Walter <pwalter@fedoraproject.org> - 2.42.0-1
+- Update to 2.42.0
+
+* Fri Sep 08 2023 Pete Walter <pwalter@fedoraproject.org> - 2.41.92-1
+- Update to 2.41.92
+
+* Mon Aug 21 2023 Pete Walter <pwalter@fedoraproject.org> - 2.41.91-1
+- Initial import
+## END: Generated by rpmautospec