diff --git a/.gitignore b/.gitignore index 898ab3a..3f6d409 100644 --- a/.gitignore +++ b/.gitignore @@ -1,41 +1,2 @@ /webkitgtk-*.tar.xz -/webkitgtk-2.37.1.tar.xz.asc -/webkitgtk-2.37.90.tar.xz.asc -/webkitgtk-2.37.91.tar.xz.asc -/webkitgtk-2.38.0.tar.xz.asc -/webkitgtk-2.38.1.tar.xz.asc -/webkitgtk-2.38.2.tar.xz.asc -/webkitgtk-2.39.1.tar.xz.asc -/webkitgtk-2.39.2.tar.xz.asc -/webkitgtk-2.39.3.tar.xz.asc -/webkitgtk-2.39.4.tar.xz.asc -/webkitgtk-2.39.5.tar.xz.asc -/webkitgtk-2.39.6.tar.xz.asc -/webkitgtk-2.39.7.tar.xz.asc -/webkitgtk-2.39.90.tar.xz.asc -/webkitgtk-2.39.91.tar.xz.asc -/webkitgtk-2.40.0.tar.xz.asc -/webkitgtk-2.41.1.tar.xz.asc -/webkitgtk-2.41.2.tar.xz.asc -/webkitgtk-2.41.3.tar.xz.asc -/webkitgtk-2.41.4.tar.xz.asc -/webkitgtk-2.41.5.tar.xz.asc -/webkitgtk-2.41.6.tar.xz.asc -/webkitgtk-2.41.90.tar.xz.asc -/webkitgtk-2.41.91.tar.xz.asc -/webkitgtk-2.41.92.tar.xz.asc -/webkitgtk-2.42.0.tar.xz.asc -/webkitgtk-2.42.1.tar.xz.asc -/webkitgtk-2.42.2.tar.xz.asc -/webkitgtk-2.43.1.tar.xz.asc -/webkitgtk-2.43.2.tar.xz.asc -/webkitgtk-2.43.3.tar.xz.asc -/webkitgtk-2.43.4.tar.xz.asc -/webkitgtk-2.44.0.tar.xz.asc -/webkitgtk-2.44.1.tar.xz.asc -/webkitgtk-2.45.1.tar.xz.asc -/webkitgtk-2.45.2.tar.xz.asc -/webkitgtk-2.45.3.tar.xz.asc -/webkitgtk-2.45.4.tar.xz.asc -/webkitgtk-2.45.5.tar.xz.asc -/webkitgtk-2.45.6.tar.xz.asc +/webkitgtk-*.tar.xz.asc diff --git a/monitoring.toml b/monitoring.toml new file mode 100644 index 0000000..fc852a3 --- /dev/null +++ b/monitoring.toml @@ -0,0 +1,13 @@ +# Enable/disable monitoring +monitoring = false +# Enable/disable filling bugzilla ticket for new release +# When disabled it will also disable scratch builds +bugzilla = true +# Enable/disable reporting only stable versions +# Stable versions are recognized based on release-monitoring.org project settings +stable_only = false +# Enable/disable reporting all new versions instead of the latest one +# Enabling this will disable scratch builds +all_versions = false +# Enable/disable scratch build for newly opened version +scratch_build = false diff --git a/skia-s390x.patch b/skia-s390x.patch new file mode 100644 index 0000000..a3cfe53 --- /dev/null +++ b/skia-s390x.patch @@ -0,0 +1,82 @@ +diff --git a/Source/ThirdParty/skia/include/core/SkTypes.h b/Source/ThirdParty/skia/include/core/SkTypes.h +index 79644da049ff..fc0646e21772 100644 +--- a/Source/ThirdParty/skia/include/core/SkTypes.h ++++ b/Source/ThirdParty/skia/include/core/SkTypes.h +@@ -33,6 +33,8 @@ + # undef SK_DIRECT3D + #endif + ++#if !defined(SK_R32_SHIFT) || !defined(SK_G32_SHIFT) || !defined(SK_B32_SHIFT) || !defined(SK_A32_SHIFT) ++ + // If SK_R32_SHIFT is set, we'll use that to choose RGBA or BGRA. + // If not, we'll default to RGBA everywhere except BGRA on Windows. + #if defined(SK_R32_SHIFT) +@@ -52,6 +54,8 @@ + #define SK_G32_SHIFT 8 + #define SK_A32_SHIFT 24 + ++#endif ++ + /** + * SK_PMCOLOR_BYTE_ORDER can be used to query the byte order of SkPMColor at compile time. + */ +diff --git a/Source/ThirdParty/skia/src/codec/SkCodecPriv.h b/Source/ThirdParty/skia/src/codec/SkCodecPriv.h +index c321fb77c0ae..a0a01cccd58a 100644 +--- a/Source/ThirdParty/skia/src/codec/SkCodecPriv.h ++++ b/Source/ThirdParty/skia/src/codec/SkCodecPriv.h +@@ -14,6 +14,7 @@ + #include "include/core/SkTypes.h" + #include "include/private/SkEncodedInfo.h" + #include "modules/skcms/skcms.h" ++#include "src/core/SkEndian.h" + #include "src/codec/SkColorPalette.h" + #include "src/core/SkColorData.h" + +diff --git a/Source/ThirdParty/skia/src/core/Sk4px.h b/Source/ThirdParty/skia/src/core/Sk4px.h +index d5d481e7e300..c7ef0bcd0ed0 100644 +--- a/Source/ThirdParty/skia/src/core/Sk4px.h ++++ b/Source/ThirdParty/skia/src/core/Sk4px.h +@@ -27,7 +27,9 @@ public: + + // RGBA rgba XYZW xyzw -> AAAA aaaa WWWW wwww + Sk4px alphas() const { ++#ifdef SK_CPU_LENDIAN + static_assert(SK_A32_SHIFT == 24, "This method assumes little-endian."); ++#endif + return Sk4px(skvx::shuffle<3,3,3,3, 7,7,7,7, 11,11,11,11, 15,15,15,15>(fV)); + } + Sk4px inv() const { return Sk4px(skvx::byte16(255) - fV); } +diff --git a/Source/ThirdParty/skia/src/core/SkColorPriv.h b/Source/ThirdParty/skia/src/core/SkColorPriv.h +index 45471c25529e..319fec78069b 100644 +--- a/Source/ThirdParty/skia/src/core/SkColorPriv.h ++++ b/Source/ThirdParty/skia/src/core/SkColorPriv.h +@@ -64,6 +64,20 @@ static inline U8CPU SkUnitScalarClampToByte(SkScalar x) { + * Here we enforce this constraint. + */ + ++#ifdef SK_CPU_BENDIAN ++ ++#define SK_RGBA_R32_SHIFT 24 ++#define SK_RGBA_G32_SHIFT 16 ++#define SK_RGBA_B32_SHIFT 8 ++#define SK_RGBA_A32_SHIFT 0 ++ ++#define SK_BGRA_B32_SHIFT 24 ++#define SK_BGRA_G32_SHIFT 16 ++#define SK_BGRA_R32_SHIFT 8 ++#define SK_BGRA_A32_SHIFT 0 ++ ++#else ++ + #define SK_RGBA_R32_SHIFT 0 + #define SK_RGBA_G32_SHIFT 8 + #define SK_RGBA_B32_SHIFT 16 +@@ -74,6 +88,8 @@ static inline U8CPU SkUnitScalarClampToByte(SkScalar x) { + #define SK_BGRA_R32_SHIFT 16 + #define SK_BGRA_A32_SHIFT 24 + ++#endif ++ + #if defined(SK_PMCOLOR_IS_RGBA) || defined(SK_PMCOLOR_IS_BGRA) + #error "Configure PMCOLOR by setting SK_R32_SHIFT." + #endif diff --git a/sources b/sources index 96c7517..3934793 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.45.6.tar.xz) = 4cc6cf9083ec3600fda12aab7a85e50e7efacfb2d5b3cea699c0aeb2622f0aa14b4cf8bbd8bda97fc299907eeac472433ff61670fe3d53835b070f65c3deca8f -SHA512 (webkitgtk-2.45.6.tar.xz.asc) = 48e16a66deb21ba19b6fec3fd567f275e5275bbf5166e63c50c8b3b7c2f87b8e0bda10c9e47c53ce282c545b5062ee0960876f8d9833d9a58d836996f3d8e9bd +SHA512 (webkitgtk-2.53.91.tar.xz) = 0bb5ec4c75cf0dcd4ccc46b7cf8595722d447385b75ed6ec79333b56203f681077fa355600210edb4fe6344e4af2943c7fb5b1bff6e35a7ec1ea456d891a1951 +SHA512 (webkitgtk-2.53.91.tar.xz.asc) = 72f6f01f8f3e12228ee70202b9b9bda589c80a791086cde6d6af5f2f916b44877b984267c6a5970f4fe41ff7dac21bccfa7323f19d71f6fd3e4a87abb18be58c diff --git a/webkitgtk.spec b/webkitgtk.spec index ae0378b..1ebef07 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -11,17 +11,15 @@ %bcond_without docs # Clang is preferred: https://skia.org/docs/user/build/#supported-and-preferred-compilers -# However, it crashes on ppc64le. -%ifnarch ppc64le %global toolchain clang -%endif # We run out of memory if building with LTO enabled on i686. -# For other architectures, disable due to https://bugs.webkit.org/show_bug.cgi?id=274780 +%ifarch %{ix86} %global _lto_cflags %{nil} +%endif Name: webkitgtk -Version: 2.45.6 +Version: 2.53.91 Release: %autorelease Summary: GTK web content engine library @@ -34,23 +32,21 @@ Summary: GTK web content engine library # 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/JavaScriptCore/ucd/CaseFolding.txt is Unicode-TOU, which is unapproved, but the only copyrightable part is the comment at the top of the file, so seems safe to omit it # 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/ThirdParty/xdgmime/ is AFL-2.0 OR 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 +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 Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 OR 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 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 @@ -59,12 +55,15 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +# https://bugs.webkit.org/show_bug.cgi?id=312677 +Patch: skia-s390x.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: clang BuildRequires: cmake BuildRequires: flex -BuildRequires: gcc-c++ +BuildRequires: flite-devel BuildRequires: gettext BuildRequires: gi-docgen BuildRequires: git @@ -81,6 +80,7 @@ BuildRequires: perl(bigint) BuildRequires: python3 BuildRequires: ruby BuildRequires: rubygems +BuildRequires: rubygem(getoptlong) BuildRequires: rubygem-json BuildRequires: unifdef BuildRequires: xdg-dbus-proxy @@ -90,6 +90,7 @@ BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(enchant-2) BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gbm) @@ -120,6 +121,7 @@ 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) @@ -128,7 +130,7 @@ BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(xt) # Filter out provides for private libraries -%global __provides_exclude_from ^(%{_libdir}/webkit2gtk-4\\.0/.*\\.so|%{_libdir}/webkit2gtk-4\\.1/.*\\.so|%{_libdir}/webkitgtk-6\\.0/.*\\.so)$ +%global __provides_exclude_from ^(%{_libdir}/webkit2gtk-4\\.1/.*\\.so|%{_libdir}/webkitgtk-6\\.0/.*\\.so)$ %description WebKitGTK is the port of the WebKit web rendering engine to the @@ -235,6 +237,8 @@ This package contains developer documentation for webkit2gtk4.1. %package -n javascriptcoregtk6.0 Summary: JavaScript engine from webkitgtk6.0 +Provides: bundled(simde) +Provides: bundled(simdutf) Obsoletes: javascriptcoregtk5.0 < %{version}-%{release} %description -n javascriptcoregtk6.0 @@ -242,6 +246,8 @@ This package contains the JavaScript engine from webkitgtk6.0. %package -n javascriptcoregtk4.1 Summary: JavaScript engine from webkit2gtk4.1 +Provides: bundled(simde) +Provides: bundled(simdutf) Obsoletes: webkit2gtk4.1-jsc < %{version}-%{release} %description -n javascriptcoregtk4.1 @@ -297,8 +303,9 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 %global optflags %(echo %{optflags} | sed 's/-mbranch-protection=standard /-mbranch-protection=pac-ret /') %endif -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 -%cmake \ +mkdir webkitgtk-6.0 +pushd webkitgtk-6.0 +%cmake -S .. \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ @@ -308,9 +315,11 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 -DENABLE_DOCUMENTATION=OFF \ %endif %{nil} +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 -%cmake \ +mkdir webkit2gtk-4.1 +pushd webkit2gtk-4.1 +%cmake -S .. \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ @@ -321,21 +330,26 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.1 -DENABLE_DOCUMENTATION=OFF \ %endif %{nil} +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 +pushd webkitgtk-6.0 export NINJA_STATUS="[1/2][%f/%t %es] " %cmake_build %limit_build -m 3072 +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 +pushd webkit2gtk-4.1 export NINJA_STATUS="[2/2][%f/%t %es] " %cmake_build %limit_build -m 3072 +popd %install -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 +pushd webkitgtk-6.0 %cmake_install +popd -%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 +pushd webkit2gtk-4.1 %cmake_install +popd %find_lang WebKitGTK-6.0 %find_lang WebKitGTK-4.1