diff --git a/user-agent-branding.patch b/user-agent-branding.patch deleted file mode 100644 index d87f3e78751a35e7e62daa2fdea2a9cf6c41f97a..0000000000000000000000000000000000000000 --- a/user-agent-branding.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp ---- webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig 2016-10-12 07:59:25.670057792 +0200 -+++ webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp 2016-10-12 08:01:06.251878684 +0200 -@@ -85,6 +85,9 @@ static String buildUserAgentString(const UserAgentQuirks& quirks) - else { - uaString.append(platformForUAString()); - uaString.appendLiteral("; "); -+#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) -+ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); -+#endif - uaString.append(platformVersionForUAString()); - } - diff --git a/webkit-aarch64_page_size.patch b/webkit-aarch64_page_size.patch new file mode 100644 index 0000000000000000000000000000000000000000..4df6fdb7e2e6060556c3c146a658dda8148958fa --- /dev/null +++ b/webkit-aarch64_page_size.patch @@ -0,0 +1,16 @@ +diff --git a/Source/WTF/wtf/PageBlock.h b/Source/WTF/wtf/PageBlock.h +index cf5cf31b2c93..412ab0836209 100644 +--- a/Source/WTF/wtf/PageBlock.h ++++ b/Source/WTF/wtf/PageBlock.h +@@ -49,9 +49,9 @@ namespace WTF { + // Use 64 KiB for any unknown CPUs to be conservative. + #if OS(DARWIN) || PLATFORM(PLAYSTATION) + constexpr size_t CeilingOnPageSize = 16 * KB; +-#elif OS(WINDOWS) || CPU(MIPS) || CPU(MIPS64) || CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) ++#elif OS(WINDOWS) || CPU(MIPS) || CPU(MIPS64) || CPU(X86) || CPU(X86_64) || CPU(ARM) + constexpr size_t CeilingOnPageSize = 4 * KB; +-#elif CPU(UNKNOWN) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) ++#elif CPU(UNKNOWN) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(ARM64) + constexpr size_t CeilingOnPageSize = 64 * KB; + #else + #error Must set CeilingOnPageSize in PageBlock.h when adding a new CPU architecture! diff --git a/webkit2gtk3-gcc11.patch b/webkit2gtk3-gcc11.patch new file mode 100644 index 0000000000000000000000000000000000000000..4ec898ab6c2b331a2e6a44da71ab6233ca1a022d --- /dev/null +++ b/webkit2gtk3-gcc11.patch @@ -0,0 +1,13 @@ +diff --git a/Source/WTF/wtf/glib/WTFGType.h b/Source/WTF/wtf/glib/WTFGType.h +index 203522e6..9953fe80 100644 +--- a/Source/WTF/wtf/glib/WTFGType.h ++++ b/Source/WTF/wtf/glib/WTFGType.h +@@ -74,7 +74,7 @@ static void type_name##_init(TypeName* self, gpointer) \ + \ + GType type_name##_get_type(void) \ + { \ +- static volatile gsize g_define_type_id__volatile = 0; \ ++ static gsize g_define_type_id__volatile = 0; \ + if (g_once_init_enter(&g_define_type_id__volatile)) { \ + GType g_define_type_id = type_name##_get_type_once(); \ + g_once_init_leave(&g_define_type_id__volatile, g_define_type_id); \ diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index c750121e730332c9e2ef1e5222bd559f23cf79af..22d825eace427f74e8f77f13378baf179d4cc109 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -1,137 +1,190 @@ -%global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ -%global _dwz_max_die_limit 250000000 -%global _dwz_max_die_limit_x86_64 250000000 - -#Basic Information +%undefine __cmake_in_source_build + +## NOTE: Lots of files in various subdirectories have the samename (such as +## "LICENSE") so this short macro allows us to distinguish them by using their +## directory names (from the source tree) as prefixes for thefiles. +%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 Name: webkit2gtk3 -Version: 2.28.3 -Release: 3 -Summary: GTK+ Web content engine library +Version: 2.30.2 +Release: 1 +Summary: GTK Web content engine library License: LGPLv2 -URL: http://www.webkitgtk.org/ -Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz - -Patch0: user-agent-branding.patch - -#Dependency -BuildRequires: at-spi2-core-devel bison cairo-devel cmake enchant2-devel -BuildRequires: flex fontconfig-devel freetype-devel ninja-build -BuildRequires: git geoclue2-devel gettext gcc-c++ glib2-devel gnutls-devel -BuildRequires: gobject-introspection-devel gperf gnupg2 wpebackend-fdo-devel -BuildRequires: gstreamer1-devel gstreamer1-plugins-base-devel rubygem-json -BuildRequires: gstreamer1-plugins-bad-free-devel libwpe-devel libseccomp-devel -BuildRequires: gtk2-devel gtk3-devel gtk-doc geoclue2-devel libjpeg-turbo-devel -BuildRequires: harfbuzz-devel hyphen-devel bubblewrap xdg-dbus-proxy -BuildRequires: libatomic libicu-devel libjpeg-devel libnotify-devel -BuildRequires: libpng-devel libsecret-devel libsoup-devel libwebp-devel -BuildRequires: libxslt-devel libXt-devel libwayland-client-devel -BuildRequires: libwayland-egl-devel libwayland-server-devel openjpeg2-devel -BuildRequires: mesa-libEGL-devel mesa-libGL-devel libglvnd-devel -BuildRequires: pcre-devel perl-File-Copy-Recursive perl-JSON-PP perl-Switch -BuildRequires: python3 ruby rubygems sqlite-devel upower-devel woff2-devel -Requires: geoclue2 bubblewrap xdg-dbus-proxy xdg-desktop-portal-gtk -Requires: webkit2gtk3-jsc = %{version}-%{release} - -Provides: bundled(angle) - +URL: https://www.webkitgtk.org/ +Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz +Patch0: webkit-aarch64_page_size.patch +Patch1: wpebackend-fdo-soname.patch +Patch2: %{name}-gcc11.patch +BuildRequires: libxml2 +BuildRequires: bison +BuildRequires: bubblewrap +BuildRequires: cmake +BuildRequires: flex +BuildRequires: gcc-c++ +BuildRequires: gettext +BuildRequires: git +BuildRequires: gnupg2 +BuildRequires: gperf +BuildRequires: gtk-doc +BuildRequires: hyphen-devel +BuildRequires: libatomic +BuildRequires: ninja-build +BuildRequires: perl(English) +BuildRequires: perl(File::Copy::Recursive) +BuildRequires: perl(FindBin) +BuildRequires: perl(JSON::PP) +BuildRequires: perl(Switch) +BuildRequires: python3 +BuildRequires: ruby +BuildRequires: rubygems +BuildRequires: rubygem-json +BuildRequires: xdg-dbus-proxy +BuildRequires: pkgconfig(atspi-2) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(enchant-2) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(icu-uc) +BuildRequires: pkgconfig(libgcrypt) +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libopenjp2) +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libsecret-1) +BuildRequires: pkgconfig(libsoup-2.4) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libwoff2dec) +BuildRequires: pkgconfig(libxslt) +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(upower-glib) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-egl) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wpe-1.0) +BuildRequires: pkgconfig(wpebackend-fdo-1.0) +BuildRequires: pkgconfig(xt) +Requires: bubblewrap +Requires: xdg-dbus-proxy +Recommends: geoclue2 +Recommends: xdg-desktop-portal-gtk Obsoletes: libwebkit2gtk < 2.5.0 Provides: libwebkit2gtk = %{version}-%{release} Obsoletes: webkitgtk4 < %{version}-%{release} Provides: webkitgtk4 = %{version}-%{release} Obsoletes: webkit2gtk3-plugin-process-gtk2 < %{version}-%{release} Provides: webkit2gtk3-plugin-process-gtk2 = %{version}-%{release} -Obsoletes: webkitgtk4-plugin-process-gtk2 < %{version}-%{release} -Provides: webkitgtk4-plugin-process-gtk2 = %{version}-%{release} - +Provides: bundled(angle) +Provides: bundled(xdgmime) +Requires: %{name}-jsc%{?_isa} = %{version}-%{release} +%global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ %description -WebKitGTK is a full-featured port of the WebKit rendering engine, -suitable for projects requiring any kind of web integration, from -hybrid HTML/CSS applications to full-fledged web browsers. This -package contains WebKit2 based WebKitGTK+ for GTK+ 3. +WebKitGTK is the port of the portable web rendering engine WebKit to the +GTK platform. +This package contains WebKit2 based WebKitGTK for GTK 3. %package devel -Summary: Development files for webkit2gtk3 -Requires: %{name} = %{version}-%{release} -Requires: %{name}-jsc = %{version}-%{release} -Requires: %{name}-jsc-devel = %{version}-%{release} +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-jsc%{?_isa} = %{version}-%{release} +Requires: %{name}-jsc-devel%{?_isa} = %{version}-%{release} Obsoletes: webkitgtk4-devel < %{version}-%{release} Provides: webkitgtk4-devel = %{version}-%{release} - %description devel -The webkit2gtk3-devel package contains libraries, build data, and header -files for developing applications that use webkit2gtk3. +The %{name}-devel package contains libraries, build data, and header +files for developing applications that use %{name}. +%if %{with docs} -%package help -Summary: Documentation files for webkit2gtk3 +%package doc +Summary: Documentation files for %{name} BuildArch: noarch Requires: %{name} = %{version}-%{release} -Obsoletes: %{name}-doc < %{version}-%{release} -Provides: %{name}-doc = %{version}-%{release} Obsoletes: webkitgtk4-doc < %{version}-%{release} Provides: webkitgtk4-doc = %{version}-%{release} - -%description help -This package contains developer documentation for webkit2gtk3. +%description doc +This package contains developer documentation for %{name}. +%endif %package jsc -Summary: JavaScript engine from webkit2gtk3 +Summary: JavaScript engine from %{name} Obsoletes: webkitgtk4-jsc < %{version}-%{release} Provides: webkitgtk4-jsc = %{version}-%{release} - %description jsc -This package contains JavaScript engine from webkit2gtk3. +This package contains JavaScript engine from %{name}. %package jsc-devel -Summary: Development files for JavaScript engine from webkit2gtk3 -Requires: %{name}-jsc = %{version}-%{release} +Summary: Development files for JavaScript engine from %{name} +Requires: %{name}-jsc%{?_isa} = %{version}-%{release} Obsoletes: webkitgtk4-jsc-devel < %{version}-%{release} Provides: webkitgtk4-jsc-devel = %{version}-%{release} - %description jsc-devel -The webkit2gtk3-jsc-devel package contains libraries, build data, and header -files for developing applications that use JavaScript engine from webkit2gtk3. +The %{name}-jsc-devel package contains libraries, build data, and header +files for developing applications that use JavaScript engine from %{name}. -#Build sections %prep %autosetup -p1 -n webkitgtk-%{version} - -# rm bundled libraries rm -rf Source/ThirdParty/gtest/ rm -rf Source/ThirdParty/qunit/ %build +%global _dwz_max_die_limit 250000000 +%global _dwz_max_die_limit_x86_64 250000000 mkdir -p %{_target_platform} pushd %{_target_platform} %cmake \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ - -DENABLE_GTKDOC=ON \ + -DENABLE_GTKDOC=ON\ -DENABLE_MINIBROWSER=ON \ -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ .. popd - export NINJA_STATUS="[%f/%t][%e] " -%ninja_build -C %{_target_platform} +%ninja_build -C %{_target_platform} %install %ninja_install -C %{_target_platform} - %find_lang WebKit2GTK-4.0 - -#Files list -# Finally, copy over and rename various files for %%license inclusion -mkdir -p temp_copyrights -for f in $(find Source -regex ".*\(LICENSE\|COPYING\).*" | grep -v test);do - cp -a $f temp_copyrights/${f//\//.} -done +%add_to_license_files Source/JavaScriptCore/COPYING.LIB +%add_to_license_files Source/ThirdParty/ANGLE/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/common/third_party/smhasher/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/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 WebKit2GTK-4.0.lang -%license temp_copyrights/*ThirdParty* -%license temp_copyrights/*WebCore* -%license temp_copyrights/*WebInspectorUI* -%license temp_copyrights/*WTF* +%license _license_files/*ThirdParty* +%license _license_files/*WebCore* +%license _license_files/*WebInspectorUI* +%license _license_files/*WTF* %{_libdir}/libwebkit2gtk-4.0.so.* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/WebKit2-4.0.typelib @@ -139,12 +192,14 @@ done %{_libdir}/webkit2gtk-4.0/ %{_libexecdir}/webkit2gtk-4.0/ %exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser +%exclude %{_libexecdir}/webkit2gtk-4.0/jsc %{_bindir}/WebKitWebDriver %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 @@ -153,7 +208,7 @@ done %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir %files jsc -%license temp_copyrights/*JavaScriptCore* +%license _license_files/*JavaScriptCore* %{_libdir}/libjavascriptcoregtk-4.0.so.* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib @@ -162,21 +217,24 @@ done %{_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 help +%files doc %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html %{_datadir}/gtk-doc/html/jsc-glib-4.0/ %{_datadir}/gtk-doc/html/webkit2gtk-4.0/ %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ +%endif %changelog -* Tue Dec 15 2020 hanhui - 2.28.3-3 -- modify license +* Wed Dec 2 2020 wangge - 2.30.2-1 +- update to 2.30.2 * Wed Aug 05 2020 songnannan - 2.28.3-2 - change the mesa-libELGS-devel to libglvnd-devel @@ -196,7 +254,7 @@ done * Thu Jan 23 2020 openEuler Buildteam - 2.22.2-5 - Type:enhancement - Id:NA -- SUG:NA +- SUG:NA- SUG:NA - DESC:close build option gtkdoc * Sat Jan 11 2020 openEuler Buildteam - 2.22.2-4 @@ -208,9 +266,8 @@ done * Tue Dec 31 2019 openEuler Buildteam - 2.22.2-3 - Enable gtk-doc and go-introspection -* Fri Nov 8 2019 openEuler Buildteam - 2.22.2-2 +* Fri Nov 8 2019 openEuler Buildteam - 2.22.2-2 - Modify cmake option to disable gtk-doc and go-introspection * Wed Sep 18 2019 openEuler Buildteam - 2.22.2-1 - Package init - diff --git a/webkitgtk-2.28.3.tar.xz b/webkitgtk-2.30.2.tar.xz similarity index 67% rename from webkitgtk-2.28.3.tar.xz rename to webkitgtk-2.30.2.tar.xz index 1ca526121ade323e8f8a319276bbf8013d30fca4..85d0edaaff6390532d4e732d5eca56bfe4af890d 100644 Binary files a/webkitgtk-2.28.3.tar.xz and b/webkitgtk-2.30.2.tar.xz differ diff --git a/wpebackend-fdo-soname.patch b/wpebackend-fdo-soname.patch new file mode 100644 index 0000000000000000000000000000000000000000..43cabc737fa5fd0cf72194c54a4337449493584c --- /dev/null +++ b/wpebackend-fdo-soname.patch @@ -0,0 +1,14 @@ +Index: webkitgtk-2.29.92/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp +=================================================================== +--- webkitgtk-2.29.92.orig/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp ++++ webkitgtk-2.29.92/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp +@@ -115,7 +115,7 @@ void WebProcessPool::platformInitializeW + #if PLATFORM(WAYLAND) + if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) { + #if USE(WPE_RENDERER) +- wpe_loader_init("libWPEBackend-fdo-1.0.so"); ++ wpe_loader_init("libWPEBackend-fdo-1.0.so.1"); + if (AcceleratedBackingStoreWayland::checkRequirements()) { + parameters.hostClientFileDescriptor = wpe_renderer_host_create_client(); + parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(wpe_loader_get_loaded_implementation_library_name()); +