diff --git a/i686-build.patch b/i686-build.patch new file mode 100644 index 0000000000000000000000000000000000000000..937221b21580747a9df0f97db871ebeccfff905a --- /dev/null +++ b/i686-build.patch @@ -0,0 +1,17 @@ +diff --git a/Source/WebCore/platform/Timer.cpp b/Source/WebCore/platform/Timer.cpp +index 4f7c0f5c39ca..0f3734cca247 100644 +--- a/Source/WebCore/platform/Timer.cpp ++++ b/Source/WebCore/platform/Timer.cpp +@@ -263,7 +263,11 @@ struct SameSizeAsTimer { + + WeakPtr timerAlignment; + double times[2]; +- void* pointers[3]; ++ void* pointers[2]; ++#if CPU(ADDRESS32) ++ uint8_t bitfields; ++#endif ++ void* pointer; + }; + + static_assert(sizeof(Timer) == sizeof(SameSizeAsTimer), "Timer should stay small"); diff --git a/webkitgtk-2.42.1-reduce-memory-overheads.patch b/webkitgtk-2.42.1-reduce-memory-overheads.patch deleted file mode 100644 index e45a3aa38d7992d8266580dd9d487713c1914f90..0000000000000000000000000000000000000000 --- a/webkitgtk-2.42.1-reduce-memory-overheads.patch +++ /dev/null @@ -1,19 +0,0 @@ -From: Alberto Garcia -Subject: Reduce memory usage -Bug-Debian: https://bugs.debian.org/949621 -Forwarded: no -Index: webkitgtk/Source/cmake/OptionsCommon.cmake -=================================================================== ---- webkitgtk.orig/Source/cmake/OptionsCommon.cmake -+++ webkitgtk/Source/cmake/OptionsCommon.cmake -@@ -194,6 +194,10 @@ option(GCC_OFFLINEASM_SOURCE_MAP - - option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE}) - -+# Pass --reduce-memory-overheads to the bfd linker in order to save memory -+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") -+set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") -+ - # Enable the usage of OpenMP. - # - At this moment, OpenMP is only used as an alternative implementation - # to native threads for the parallelization of the SVG filters. diff --git a/webkitgtk-2.42.3.tar.xz b/webkitgtk-2.44.0.tar.xz similarity index 69% rename from webkitgtk-2.42.3.tar.xz rename to webkitgtk-2.44.0.tar.xz index 096bd2142d1906c5b1ad9f4420bb6a389274087c..3280c06886ad604bbce537d0dab4b79c08ab44dd 100644 Binary files a/webkitgtk-2.42.3.tar.xz and b/webkitgtk-2.44.0.tar.xz differ diff --git a/webkitgtk-2.44.0.tar.xz.asc b/webkitgtk-2.44.0.tar.xz.asc new file mode 100644 index 0000000000000000000000000000000000000000..fa10367b312038d94ed8f93544522cf06469f022 --- /dev/null +++ b/webkitgtk-2.44.0.tar.xz.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQTX/PYc+aLeqzHYG9Pz0yLQ7EWCwwUCZfVbrAAKCRDz0yLQ7EWC +w8XkAJ9wH/0dQk9fHx1s5X4W9VIJxfX0dwCeN3dJ03QwNCk6CmZPgxfC6zd7ZA0= +=EFJC +-----END PGP SIGNATURE----- diff --git a/webkitgtk-keys.gpg b/webkitgtk-keys.gpg new file mode 100644 index 0000000000000000000000000000000000000000..180e358ac0e97fa8d910e5e8c44ad83a2abba1ec Binary files /dev/null and b/webkitgtk-keys.gpg differ diff --git a/webkitgtk.spec b/webkitgtk.spec index b287f7a219cd860b24e8273e1d52bf3c3c040bf9..1a9277f8195c1989683aeb6aa49a9fd11b9050bc 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -1,4 +1,5 @@ %define anolis_release 1 + ## 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. @@ -13,14 +14,17 @@ %global with_gamepad 0 Name: webkitgtk -Version: 2.42.3 +Version: 2.44.0 Release: %{anolis_release}%{?dist} -Summary: GTK Web content engine library +Summary: GTK web content engine library License: LGPLv2 URL: https://www.webkitgtk.org/ Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz -Patch0: webkitgtk-2.42.1-reduce-memory-overheads.patch +Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc +Source2: webkitgtk-keys.gpg + +Patch: i686-build.patch BuildRequires: bison BuildRequires: bubblewrap @@ -36,6 +40,7 @@ BuildRequires: hyphen-devel BuildRequires: libatomic BuildRequires: ninja-build BuildRequires: openssl-devel +BuildRequires: perl(bigint) BuildRequires: perl(English) BuildRequires: perl(FindBin) BuildRequires: perl(JSON::PP) @@ -46,49 +51,36 @@ BuildRequires: rubygem-json BuildRequires: unifdef BuildRequires: xdg-dbus-proxy -BuildRequires: pkgconfig(atspi-2) >= 2.5.3 -BuildRequires: pkgconfig(cairo) >= 1.14.0 +BuildRequires: pkgconfig(atspi-2) +BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(enchant-2) BuildRequires: pkgconfig(epoxy) -BuildRequires: pkgconfig(fontconfig) >= 2.8.0 -BuildRequires: pkgconfig(freetype2) >= 2.4.2 -BuildRequires: pkgconfig(gl) -BuildRequires: pkgconfig(glib-2.0) >= 2.56.4 -BuildRequires: pkgconfig(glesv2) +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) >= 1.16.2 +BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0) -BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-app-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-audio-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-fft-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-gl-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-pbutils-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-rtp-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-sdp-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-tag-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-transcoder-1.0) >= 1.16.2 -BuildRequires: pkgconfig(gstreamer-video-1.0) >= 1.16.2 - -BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.0 +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk4) -BuildRequires: pkgconfig(harfbuzz) >= 0.9.18 -BuildRequires: pkgconfig(icu-uc) >= 61.2 +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(icu-uc) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libavif) -BuildRequires: pkgconfig(libgcrypt) >= 1.6.0 +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(libjpeg) -BuildRequires: pkgconfig(libjxl) >= 0.7.0 +BuildRequires: pkgconfig(libjxl) BuildRequires: pkgconfig(libnotify) -BuildRequires: pkgconfig(libopenjp2) >= 2.2.0 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libseccomp) BuildRequires: pkgconfig(libsecret-1) -BuildRequires: pkgconfig(libsoup-2.4) >= 2.54.0 -BuildRequires: pkgconfig(libsoup-3.0) >= 3.0.4 +BuildRequires: pkgconfig(libsoup-2.4) +BuildRequires: pkgconfig(libsoup-3.0) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libtasn1) BuildRequires: pkgconfig(libwebp) @@ -103,21 +95,20 @@ BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-server) -BuildRequires: pkgconfig(wpe-1.0) -BuildRequires: pkgconfig(wpebackend-fdo-1.0) 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)$ %description -WebKitGTK is the port of the portable web rendering engine WebKit to the +WebKitGTK is the port of the WebKit web rendering engine to the GTK platform. %package -n webkitgtk6.0 Summary: WebKitGTK for GTK 4 Requires: javascriptcoregtk6.0 = %{version}-%{release} Requires: bubblewrap +Requires: libGLES Requires: xdg-dbus-proxy Recommends: geoclue2 Recommends: gstreamer1-plugins-bad-free @@ -136,6 +127,7 @@ GTK platform. This package contains WebKitGTK for GTK 4. Summary: WebKitGTK for GTK 3 and libsoup 3 Requires: javascriptcoregtk4.1 = %{version}-%{release} Requires: bubblewrap +Requires: libGLES Requires: xdg-dbus-proxy Recommends: geoclue2 Recommends: gstreamer1-plugins-bad-free @@ -294,15 +286,16 @@ The javascriptcoregtk4.0-devel package contains libraries, build data, and heade 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} -# Remove bundled libraries -rm -rf Source/ThirdParty/gtest/ -rm -rf Source/ThirdParty/qunit/ - %build -# Increase the DIE limit so our debuginfo packages could be size optimized. -# Decreases the size for x86_64 from ~5G to ~1.1G. +# 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 @@ -310,6 +303,7 @@ rm -rf Source/ThirdParty/qunit/ %global _find_debuginfo_opts %limit_build -m 32768 # 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 @@ -322,8 +316,9 @@ rm -rf Source/ThirdParty/qunit/ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ -DUSE_GTK4=ON \ -%if %{with docs} - -DENABLE_GTKDOC=ON \ + -DUSE_LIBBACKTRACE=OFF \ +%if %{without docs} + -DENABLE_DOCUMENTATION=OFF \ %endif %if !0%{?with_gamepad} -DENABLE_GAMEPAD=OFF \ @@ -338,7 +333,9 @@ rm -rf Source/ThirdParty/qunit/ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ + -DUSE_GTK4=OFF \ -DENABLE_WEBDRIVER=OFF \ + -DUSE_LIBBACKTRACE=OFF \ %if %{without docs} -DENABLE_DOCUMENTATION=OFF \ %endif @@ -355,8 +352,10 @@ rm -rf Source/ThirdParty/qunit/ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ + -DUSE_GTK4=OFF \ -DUSE_SOUP2=ON \ -DENABLE_WEBDRIVER=OFF \ + -DUSE_LIBBACKTRACE=OFF \ %if %{without docs} -DENABLE_DOCUMENTATION=OFF \ %endif @@ -370,15 +369,15 @@ rm -rf Source/ThirdParty/qunit/ %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 export NINJA_STATUS="[1/3][%f/%t %es] " -%cmake_build +%cmake_build %limit_build -m 3072 %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 export NINJA_STATUS="[2/3][%f/%t %es] " -%cmake_build +%cmake_build %limit_build -m 3072 %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0 export NINJA_STATUS="[3/3][%f/%t %es] " -%cmake_build +%cmake_build %limit_build -m 3072 %install %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 @@ -423,7 +422,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %exclude %{_libexecdir}/webkitgtk-6.0/jsc %{_bindir}/WebKitWebDriver - %files -n webkit2gtk4.1 -f WebKitGTK-4.1.lang %license _license_files/*ThirdParty* %license _license_files/*WebCore* @@ -452,7 +450,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser %exclude %{_libexecdir}/webkit2gtk-4.0/jsc - %files -n webkitgtk6.0-devel %{_libexecdir}/webkitgtk-6.0/MiniBrowser %{_includedir}/webkitgtk-6.0/ @@ -464,7 +461,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %{_datadir}/gir-1.0/WebKit-6.0.gir %{_datadir}/gir-1.0/WebKitWebProcessExtension-6.0.gir - %files -n webkit2gtk4.1-devel %{_libexecdir}/webkit2gtk-4.1/MiniBrowser %{_includedir}/webkitgtk-4.1/ @@ -477,7 +473,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %{_datadir}/gir-1.0/WebKit2-4.1.gir %{_datadir}/gir-1.0/WebKit2WebExtension-4.1.gir - %files -n webkit2gtk4.0-devel %{_libexecdir}/webkit2gtk-4.0/MiniBrowser %{_includedir}/webkitgtk-4.0/ @@ -490,28 +485,24 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %{_datadir}/gir-1.0/WebKit2-4.0.gir %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir - %files -n javascriptcoregtk6.0 %license _license_files/*JavaScriptCore* %{_libdir}/libjavascriptcoregtk-6.0.so.1* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/JavaScriptCore-6.0.typelib - %files -n javascriptcoregtk4.1 %license _license_files/*JavaScriptCore* %{_libdir}/libjavascriptcoregtk-4.1.so.0* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/JavaScriptCore-4.1.typelib - %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 javascriptcoregtk6.0-devel %{_libexecdir}/webkitgtk-6.0/jsc %dir %{_includedir}/webkitgtk-6.0 @@ -521,7 +512,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/JavaScriptCore-6.0.gir - %files -n javascriptcoregtk4.1-devel %{_libexecdir}/webkit2gtk-4.1/jsc %dir %{_includedir}/webkitgtk-4.1 @@ -532,7 +522,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/JavaScriptCore-4.1.gir - %files -n javascriptcoregtk4.0-devel %{_libexecdir}/webkit2gtk-4.0/jsc %dir %{_includedir}/webkitgtk-4.0 @@ -545,28 +534,28 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %if %{with docs} %files -n webkitgtk6.0-doc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/javascriptcoregtk-6.0/ -%{_datadir}/gtk-doc/html/webkitgtk-6.0/ -%{_datadir}/gtk-doc/html/webkitgtk-web-process-extension-6.0/ +%dir %{_datadir}/doc +%{_datadir}/doc/javascriptcoregtk-6.0/ +%{_datadir}/doc/webkitgtk-6.0/ +%{_datadir}/doc/webkitgtk-web-process-extension-6.0/ %files -n webkit2gtk4.1-doc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/javascriptcoregtk-4.1/ -%{_datadir}/gtk-doc/html/webkit2gtk-4.1/ -%{_datadir}/gtk-doc/html/webkit2gtk-web-extension-4.1/ +%dir %{_datadir}/doc +%{_datadir}/doc/javascriptcoregtk-4.1/ +%{_datadir}/doc/webkit2gtk-4.1/ +%{_datadir}/doc/webkit2gtk-web-extension-4.1/ %files -n webkit2gtk4.0-doc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/javascriptcoregtk-4.0/ -%{_datadir}/gtk-doc/html/webkit2gtk-4.0/ -%{_datadir}/gtk-doc/html/webkit2gtk-web-extension-4.0/ +%dir %{_datadir}/doc +%{_datadir}/doc/javascriptcoregtk-4.0/ +%{_datadir}/doc/webkit2gtk-4.0/ +%{_datadir}/doc/webkit2gtk-web-extension-4.0/ %endif %changelog +* Fri May 10 2024 mgb01105731 - 2.44.0-1 +- update to 2.44.0 + * Mon Dec 11 2023 Funda Wang - 2.42.3-1 - New version 2.42.3