Compare commits

..

No commits in common. "rawhide" and "f40" have entirely different histories.

8 changed files with 575 additions and 1 deletions

28
.gitignore vendored Normal file
View file

@ -0,0 +1,28 @@
/webkitgtk-2.41.91.tar.xz
/webkitgtk-2.41.91.tar.xz.asc
/webkitgtk-2.41.92.tar.xz
/webkitgtk-2.41.92.tar.xz.asc
/webkitgtk-2.42.0.tar.xz
/webkitgtk-2.42.0.tar.xz.asc
/webkitgtk-2.42.2.tar.xz
/webkitgtk-2.42.2.tar.xz.asc
/webkitgtk-2.42.3.tar.xz
/webkitgtk-2.42.3.tar.xz.asc
/webkitgtk-2.42.4.tar.xz
/webkitgtk-2.42.4.tar.xz.asc
/webkitgtk-2.42.5.tar.xz
/webkitgtk-2.42.5.tar.xz.asc
/webkitgtk-2.44.1.tar.xz
/webkitgtk-2.44.1.tar.xz.asc
/webkitgtk-2.44.2.tar.xz
/webkitgtk-2.44.2.tar.xz.asc
/webkitgtk-2.44.3.tar.xz
/webkitgtk-2.44.3.tar.xz.asc
/webkitgtk-2.46.0.tar.xz
/webkitgtk-2.46.0.tar.xz.asc
/webkitgtk-2.46.1.tar.xz
/webkitgtk-2.46.1.tar.xz.asc
/webkitgtk-2.46.3.tar.xz
/webkitgtk-2.46.3.tar.xz.asc
/webkitgtk-2.46.5.tar.xz
/webkitgtk-2.46.5.tar.xz.asc

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# webkit2gtk4.0
The webkit2gtk4.0 package

View file

@ -1 +0,0 @@
Obsolete and outdated, see https://fedoraproject.org/wiki/Changes/Remove_webkit2gtk-4.0_API_Version and https://pagure.io/fesco/issue/3418 and https://bugzilla.redhat.com/show_bug.cgi?id=2369023

200
llvm19.patch Normal file
View file

@ -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

5
rpminspect.yaml Normal file
View file

@ -0,0 +1,5 @@
---
inspections:
abidiff: off
changedfiles: off
filesize: off

2
sources Normal file
View file

@ -0,0 +1,2 @@
SHA512 (webkitgtk-2.46.5.tar.xz) = 9a0eb018361d407f13b303f66babcdc9960075bf69b83cf2ee8f708e5396cfa9e0a720f77695aea216072392e0603c2dc8ad50e6d56f962d4a52e9cdadf38275
SHA512 (webkitgtk-2.46.5.tar.xz.asc) = 8ce0ae006901da53dfa8e9132cb56a46db1f6edbdb254f0a77eb58e181cfca85f3f871d9bb471d39e6cacc44b3141a1cd56ae6d0ce39a8e501d1f665b8c51c6a

337
webkit2gtk4.0.spec Normal file
View file

@ -0,0 +1,337 @@
## 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.5
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(getoptlong)
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
%autochangelog

BIN
webkitgtk-keys.gpg Normal file

Binary file not shown.