From daa7f9183c70782e1a22df16baf55d48be32d62f Mon Sep 17 00:00:00 2001 From: tigro Date: Sat, 11 Jan 2025 19:42:56 +0300 Subject: [PATCH] import webkit2gtk4.0-2.46.3-1.el10 --- .gitignore | 1 + .webkit2gtk4.0.metadata | 1 + SOURCES/llvm19.patch | 200 +++++++++++++ SOURCES/webkitgtk-2.46.3.tar.xz.asc | 16 ++ SOURCES/webkitgtk-keys.gpg | Bin 0 -> 4178 bytes SPECS/webkit2gtk4.0.spec | 427 ++++++++++++++++++++++++++++ 6 files changed, 645 insertions(+) create mode 100644 .gitignore create mode 100644 .webkit2gtk4.0.metadata create mode 100644 SOURCES/llvm19.patch create mode 100644 SOURCES/webkitgtk-2.46.3.tar.xz.asc create mode 100644 SOURCES/webkitgtk-keys.gpg create mode 100644 SPECS/webkit2gtk4.0.spec 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 +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 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 0000000000000000000000000000000000000000..1852062e1fe3110f69dfb1614d590804949f1d1a GIT binary patch literal 4178 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 literal 0 HcmV?d00001 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 - 2.46.3-1 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Mon Nov 04 2024 Pete Walter - 2.46.3-1 +- Update to 2.46.3 + +* Thu Oct 03 2024 Michael Catanzaro - 2.46.1-2 +- Add patch to fix build with LLVM 19 + +* Tue Oct 01 2024 Pete Walter - 2.46.1-1 +- Update to 2.46.1 + +* Tue Oct 01 2024 Pete Walter - 2.46.0-2 +- Add missing sysprof-capture-4 BuildRequires + +* Wed Sep 18 2024 Pete Walter - 2.46.0-1 +- Update to 2.46.0 + +* Fri Aug 16 2024 Michael Catanzaro - 2.44.3-2 +- Add patch to fix WebAssembly + +* Wed Aug 14 2024 Pete Walter - 2.44.3-1 +- Update to 2.44.3 + +* Sat Jul 20 2024 Fedora Release Engineering - 2.44.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 18 2024 Michael Catanzaro - 2.44.2-2 +- Add patch to fix excessive CPU usage + +* Tue Jun 18 2024 Pete Walter - 2.44.2-1 +- Update to 2.44.2 + +* Sat May 25 2024 Fabio Valentini - 2.44.1-2 +- Rebuild for gstreamer-plugins-bad 1.24 + +* Sat Apr 27 2024 Pete Walter - 2.44.1-1 +- Update to 2.44.1 + +* Sat Apr 27 2024 Michael Catanzaro - 2.42.5-5 +- Attempt to reenable LTO + +* Sat Apr 27 2024 Michael Catanzaro - 2.42.5-4 +- Remove RHEL conditions from spec file + +* Wed Mar 13 2024 Sérgio M. Basto - 2.42.5-3 +- Rebuild for jpegxl (libjxl) 0.10.2 + +* Wed Feb 14 2024 Sérgio M. Basto - 2.42.5-2 +- Rebuild for jpegxl (libjxl) 0.9.2 with soname bump + +* Thu Feb 08 2024 Michael Catanzaro - 2.42.5-1 +- Update to WebKitGTK 2.42.5 + +* Sat Jan 27 2024 Fedora Release Engineering - 2.42.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 21 2023 Pete Walter - 2.42.4-1 +- Update to 2.42.4 + +* Wed Dec 06 2023 Pete Walter - 2.42.3-1 +- Update to 2.42.3 + +* Sat Nov 11 2023 Pete Walter - 2.42.2-1 +- Update to 2.42.2 + +* Sat Nov 11 2023 Miroslav Suchý - 2.42.0-3 +- license analysis + +* Sat Nov 11 2023 Pete Walter - 2.42.0-2 +- Fix GL dependencies + +* Sat Sep 16 2023 Pete Walter - 2.42.0-1 +- Update to 2.42.0 + +* Fri Sep 08 2023 Pete Walter - 2.41.92-1 +- Update to 2.41.92 + +* Mon Aug 21 2023 Pete Walter - 2.41.91-1 +- Initial import +## END: Generated by rpmautospec