diff --git a/0001-unbreak-script-message-received.patch b/0001-unbreak-script-message-received.patch new file mode 100644 index 0000000000000000000000000000000000000000..df91be88b6e9e6a701b0520f01f47f8f56105151 --- /dev/null +++ b/0001-unbreak-script-message-received.patch @@ -0,0 +1,35 @@ +From 7bcb97382f2f347dc348c3c31416ae7fd760ce6b Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Fri, 17 Mar 2023 15:39:52 -0500 +Subject: [PATCH] REGRESSION(261320@main): [GLib] Broke + WebKitUserContentManager::script-message-received + https://bugs.webkit.org/show_bug.cgi?id=254089 + +Reviewed by NOBODY (OOPS!). + +I forgot to update the marshaller used by +WebKitUserContentManager::script-message-received. It worked perfectly +fine in my development environment for whatever reason, but was broken +in at least Ephy Tech Preview. + +* Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp: +--- + Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp b/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp +index af2d963bb3b3..f778b19bc816 100644 +--- a/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp ++++ b/Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp +@@ -106,7 +106,11 @@ static void webkit_user_content_manager_class_init(WebKitUserContentManagerClass + G_TYPE_FROM_CLASS(gObjectClass), + static_cast(G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED), + 0, nullptr, nullptr, ++#if ENABLE(2022_GLIB_API) ++ g_cclosure_marshal_VOID__OBJECT, ++#else + g_cclosure_marshal_VOID__BOXED, ++#endif + G_TYPE_NONE, 1, + #if ENABLE(2022_GLIB_API) + JSC_TYPE_VALUE); diff --git a/webkitgtk-2.38.5.tar.xz b/webkitgtk-2.40.0.tar.xz similarity index 68% rename from webkitgtk-2.38.5.tar.xz rename to webkitgtk-2.40.0.tar.xz index 137dfb11c016544219b369c5463c703ac5f8117f..ea229c98efa33ff973923dcbf3e1ee8fb69b64ed 100644 Binary files a/webkitgtk-2.38.5.tar.xz and b/webkitgtk-2.40.0.tar.xz differ diff --git a/webkitgtk.spec b/webkitgtk.spec index 285d84198dd7b89a63a32144273767025d0f69cf..815ec155c4bb281ceedc349e81d6d77ea0c71564 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -11,7 +11,7 @@ %global with_gamepad 0 Name: webkitgtk -Version: 2.38.5 +Version: 2.40.0 Release: %{anolis_release}%{?dist} Summary: GTK Web content engine library @@ -19,174 +19,274 @@ License: LGPLv2 URL: https://www.webkitgtk.org/ Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz +Patch0: 0001-unbreak-script-message-received.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: cmake BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: gettext +BuildRequires: gi-docgen +BuildRequires: git BuildRequires: gnupg2 BuildRequires: gperf -BuildRequires: gtk-doc BuildRequires: hyphen-devel BuildRequires: libatomic BuildRequires: ninja-build +BuildRequires: openssl-devel BuildRequires: perl(English) BuildRequires: perl(FindBin) BuildRequires: perl(JSON::PP) -BuildRequires: perl(lib) -BuildRequires: perl(File::Copy) BuildRequires: python3 BuildRequires: ruby BuildRequires: rubygems BuildRequires: rubygem-json +BuildRequires: unifdef BuildRequires: xdg-dbus-proxy -BuildRequires: pkgconfig(atspi-2) >= 2.5.3 -BuildRequires: pkgconfig(cairo) >= 1.14.0 -BuildRequires: pkgconfig(egl) -BuildRequires: pkgconfig(enchant-2) -BuildRequires: pkgconfig(fontconfig) >= 2.8.0 -BuildRequires: pkgconfig(freetype2) >= 2.4.2 -BuildRequires: pkgconfig(gi-docgen) -BuildRequires: pkgconfig(gio-2.0) >= 2.56.4 -BuildRequires: pkgconfig(gio-unix-2.0) >= 2.56.4 -BuildRequires: pkgconfig(glesv2) -BuildRequires: pkgconfig(glib-2.0) >= 2.56.4 -BuildRequires: pkgconfig(glx) -BuildRequires: pkgconfig(gmodule-2.0) >= 2.56.4 -BuildRequires: pkgconfig(gobject-2.0) >= 2.56.4 -BuildRequires: pkgconfig(gobject-introspection-1.0) -BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-app-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-audio-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-base-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-fft-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-gl-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-pbutils-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-rtp-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-sdp-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-tag-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gstreamer-video-1.0) >= 1.14.0 -BuildRequires: pkgconfig(gthread-2.0) >= 2.56.4 -BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.0 -BuildRequires: pkgconfig(gtk+-unix-print-3.0) >= 3.22.0 -BuildRequires: pkgconfig(harfbuzz) >= 0.9.18 -BuildRequires: pkgconfig(harfbuzz-icu) >= 0.9.18 -BuildRequires: pkgconfig(icu-i18n) >= 61.2 -BuildRequires: pkgconfig(icu-uc) >= 61.2 -BuildRequires: pkgconfig(lcms2) -BuildRequires: pkgconfig(libgcrypt) >= 1.6.0 -BuildRequires: pkgconfig(libopenjp2) >= 2.2.0 -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(libseccomp) -BuildRequires: pkgconfig(libsecret-1) -BuildRequires: pkgconfig(libsoup-2.4) >= 2.54.0 -BuildRequires: pkgconfig(libsystemd) -BuildRequires: pkgconfig(libtasn1) -BuildRequires: pkgconfig(libwebp) -BuildRequires: pkgconfig(libwoff2common) -BuildRequires: pkgconfig(libwoff2dec) -BuildRequires: pkgconfig(libxml-2.0) >= 2.8.0 -BuildRequires: pkgconfig(libxslt) >= 1.1.7 -BuildRequires: pkgconfig(opengl) -BuildRequires: pkgconfig(sqlite3) -BuildRequires: pkgconfig(wayland-client) -BuildRequires: pkgconfig(wayland-egl) -BuildRequires: pkgconfig(wayland-protocols) -BuildRequires: pkgconfig(wayland-server) -BuildRequires: pkgconfig(wpe-1.0) >= 1.3.0 -BuildRequires: pkgconfig(wpebackend-fdo-1.0) >= 1.6.0 -BuildRequires: pkgconfig(xcomposite) -BuildRequires: pkgconfig(xdamage) -BuildRequires: pkgconfig(xrender) -BuildRequires: pkgconfig(xt) -BuildRequires: libjpeg-devel -BuildRequires: zlib-devel -%if 0%{?with_gamepad} +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(gl) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(glesv2) +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(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(libsoup-3.0) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libtasn1) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libwoff2dec) +BuildRequires: pkgconfig(libxslt) +%if 0%{?with_gamepad} BuildRequires: pkgconfig(manette-0.2) %endif - -%global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(upower-glib) +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 GTK platform. -This package contains WebKit2 based WebKitGTK for GTK 3. +%package -n webkitgtk6.0 +Summary: WebKitGTK for GTK 4 +Requires: javascriptcoregtk6.0 = %{version}-%{release} +Requires: bubblewrap +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(xdgmime) +Obsoletes: webkit2gtk5.0 < %{version}-%{release} -%package -n webkit2gtk4.0 -Summary: WebKitGTK for GTK 3 and libsoup 2 +%description -n webkitgtk6.0 +WebKitGTK is the port of the WebKit web rendering engine to the +GTK platform. This package contains WebKitGTK for GTK 4. + +%package -n webkit2gtk4.1 +Summary: WebKitGTK for GTK 3 and libsoup 3 +Requires: javascriptcoregtk4.1 = %{version}-%{release} Requires: bubblewrap Requires: xdg-dbus-proxy Recommends: geoclue2 Recommends: gstreamer1-plugins-bad-free Recommends: gstreamer1-plugins-good Recommends: xdg-desktop-portal-gtk -Obsoletes: webkitgtk4 < %{version}-%{release} -Provides: webkitgtk4 = %{version}-%{release} -Obsoletes: webkit2gtk3 < %{version} -Provides: webkit2gtk3 = %{version} Provides: bundled(angle) Provides: bundled(pdfjs) Provides: bundled(xdgmime) + +%description -n webkit2gtk4.1 +WebKitGTK is the port of the WebKit web rendering engine to the +GTK platform. This package contains WebKitGTK for GTK 3 and libsoup 3. + +%package -n webkit2gtk4.0 +Summary: WebKitGTK for GTK 3 and libsoup 2 Requires: javascriptcoregtk4.0 = %{version}-%{release} +Requires: bubblewrap +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(xdgmime) +Obsoletes: webkitgtk4 < %{version}-%{release} +Provides: webkitgtk4 = %{version}-%{release} +Obsoletes: webkit2gtk3 < %{version}-%{release} +Provides: webkit2gtk3 = %{version}-%{release} -%description -n webkit2gtk4.0 +%description -n webkit2gtk4.0 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 -n webkit2gtk4.0-devel -Summary: Development files for %{name} +%package -n webkitgtk6.0-devel +Summary: Development files for webkitgtk6.0 +Requires: webkitgtk6.0 = %{version}-%{release} +Requires: javascriptcoregtk6.0 = %{version}-%{release} +Requires: javascriptcoregtk6.0-devel = %{version}-%{release} +Obsoletes: webkit2gtk5.0-devel < %{version}-%{release} + +%description -n webkitgtk6.0-devel +The webkitgtk6.0-devel package contains libraries, build data, and header +files for developing applications that use webkitgtk6.0. + +%package -n webkit2gtk4.1-devel +Summary: Development files for webkit2gtk4.1 +Requires: webkit2gtk4.1 = %{version}-%{release} +Requires: javascriptcoregtk4.1 = %{version}-%{release} +Requires: javascriptcoregtk4.1-devel = %{version}-%{release} + +%description -n webkit2gtk4.1-devel +The webkit2gtk4.1-devel package contains libraries, build data, and header +files for developing applications that use webkit2gtk4.1. + +%package -n webkit2gtk4.0-devel +Summary: Development files for webkit2gtk4.0 Requires: webkit2gtk4.0 = %{version}-%{release} Requires: javascriptcoregtk4.0 = %{version}-%{release} Requires: javascriptcoregtk4.0-devel = %{version}-%{release} Obsoletes: webkitgtk4-devel < %{version}-%{release} Provides: webkitgtk4-devel = %{version}-%{release} -Obsoletes: webkit2gtk3-devel < %{version} -Provides: webkit2gtk3-devel = %{version} +Obsoletes: webkit2gtk3-devel < %{version}-%{release} +Provides: webkit2gtk3-devel = %{version}-%{release} -%description -n webkit2gtk4.0-devel +%description -n webkit2gtk4.0-devel The webkit2gtk4.0-devel package contains libraries, build data, and header files for developing applications that use webkit2gtk4.0. %if %{with docs} -%package -n webkit2gtk4.0-doc -Summary: Documentation files for %{name} +%package -n webkitgtk6.0-doc +Summary: Documentation files for webkit2gtk5.0 +BuildArch: noarch +Requires: webkitgtk6.0 = %{version}-%{release} +Obsoletes: webkit2gtk5.0-doc < %{version}-%{release} +Recommends: gi-docgen-fonts + +%description -n webkitgtk6.0-doc +This package contains developer documentation for webkitgtk6.0. + +%package -n webkit2gtk4.1-doc +Summary: Documentation files for webkit2gtk4.1 +BuildArch: noarch +Requires: webkit2gtk4.1 = %{version}-%{release} +Recommends: gi-docgen-fonts + +%description -n webkit2gtk4.1-doc +This package contains developer documentation for webkit2gtk4.1. + +%package -n webkit2gtk4.0-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} -Provides: webkit2gtk3-doc = %{version} +Obsoletes: webkit2gtk3-doc < %{version}-%{release} +Provides: webkit2gtk3-doc = %{version}-%{release} Recommends: gi-docgen-fonts -%description -n webkit2gtk4.0-doc +%description -n webkit2gtk4.0-doc This package contains developer documentation for webkit2gtk4.0. %endif -%package -n javascriptcoregtk4.0 -Summary: JavaScript engine from %{name} +%package -n javascriptcoregtk6.0 +Summary: JavaScript engine from webkitgtk6.0 +Obsoletes: javascriptcoregtk5.0 < %{version}-%{release} + +%description -n javascriptcoregtk6.0 +This package contains the JavaScript engine from webkitgtk6.0. + +%package -n javascriptcoregtk4.1 +Summary: JavaScript engine from webkit2gtk4.1 +Obsoletes: webkit2gtk4.1-jsc < %{version}-%{release} + +%description -n javascriptcoregtk4.1 +This package contains the JavaScript engine from webkit2gtk4.1. + +%package -n javascriptcoregtk4.0 +Summary: JavaScript engine from webkit2gtk4.0 Obsoletes: webkitgtk4-jsc < %{version}-%{release} Provides: webkitgtk4-jsc = %{version}-%{release} -Obsoletes: webkit2gtk3-jsc < %{version} -Provides: webkit2gtk3-jsc = %{version} +Obsoletes: webkit2gtk3-jsc < %{version}-%{release} +Provides: webkit2gtk3-jsc = %{version}-%{release} -%description -n javascriptcoregtk4.0 +%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 %{name} +%package -n javascriptcoregtk6.0-devel +Summary: Development files for JavaScript engine from webkitgtk6.0 +Requires: javascriptcoregtk6.0 = %{version}-%{release} +Obsoletes: javascriptcoregtk5.0-devel < %{version}-%{release} + +%description -n javascriptcoregtk6.0-devel +The javascriptcoregtk6.0-devel package contains libraries, build data, and header +files for developing applications that use JavaScript engine from webkitgtk-6.0. + +%package -n javascriptcoregtk4.1-devel +Summary: Development files for JavaScript engine from webkit2gtk4.1 +Requires: javascriptcoregtk4.1 = %{version}-%{release} +Obsoletes: webkit2gtk4.1-jsc-devel < %{version}-%{release} + +%description -n javascriptcoregtk4.1-devel +The javascriptcoregtk4.1-devel package contains libraries, build data, and header +files for developing applications that use JavaScript engine from webkit2gtk-4.1. + +%package -n javascriptcoregtk4.0-devel +Summary: Development files for JavaScript engine from webkit2gtk4.0 Requires: javascriptcoregtk4.0 = %{version}-%{release} Obsoletes: webkitgtk4-jsc-devel < %{version}-%{release} Provides: webkitgtk4-jsc-devel = %{version}-%{release} -Obsoletes: webkit2gtk3-jsc-devel < %{version} -Provides: webkit2gtk3-jsc-devel = %{version} +Obsoletes: webkit2gtk3-jsc-devel < %{version}-%{release} +Provides: webkit2gtk3-jsc-devel = %{version}-%{release} -%description -n javascriptcoregtk4.0-devel +%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. +%package doc +Summary: Documentation files for %{name} +Requires: %{name} = %{EVR} +BuildArch: noarch + +%description doc +The %{name}-doc package contains documentation files for %{name}. + %prep %autosetup -p1 -n webkitgtk-%{version} @@ -197,18 +297,25 @@ 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. -%global _dwz_max_die_limit 350000000 %global _dwz_max_die_limit_x86_64 250000000 +%global _dwz_max_die_limit_aarch64 250000000 -%global optflags %(echo %{optflags} -Wl,--no-keep-memory | sed 's/-g /-g1 /') +# Require 32 GB of RAM per vCPU for debuginfo processing. 16 GB is not enough. +%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://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/webkitgtk-6.0 %cmake \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ - -DENABLE_MINIBROWSER=ON \ - -DUSE_SOUP2=ON \ - -DUSE_LD_GOLD=OFF \ + -DUSE_GTK4=ON \ %if %{with docs} -DENABLE_GTKDOC=ON \ %endif @@ -216,25 +323,74 @@ rm -rf Source/ThirdParty/qunit/ -DENABLE_GAMEPAD=OFF \ %endif %ifarch aarch64 - -DENABLE_JIT=OFF \ - -DUSE_SYSTEM_MALLOC=ON \ -DUSE_64KB_PAGE_BLOCK=ON \ %endif %{nil} -# Show the build time in the status. Require 2 GB of RAM per vCPU. -export NINJA_STATUS="[%f/%t][%e] " -%cmake_build +%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 +%cmake \ + -GNinja \ + -DPORT=GTK \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_WEBDRIVER=OFF \ +%if %{without docs} + -DENABLE_DOCUMENTATION=OFF \ +%endif +%if !0%{?with_gamepad} + -DENABLE_GAMEPAD=OFF \ +%endif +%ifarch aarch64 + -DUSE_64KB_PAGE_BLOCK=ON \ +%endif + %{nil} + +%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0 +%cmake \ + -GNinja \ + -DPORT=GTK \ + -DCMAKE_BUILD_TYPE=Release \ + -DUSE_SOUP2=ON \ + -DENABLE_WEBDRIVER=OFF \ +%if %{without docs} + -DENABLE_DOCUMENTATION=OFF \ +%endif +%if !0%{?with_gamepad} + -DENABLE_GAMEPAD=OFF \ +%endif +%ifarch aarch64 + -DUSE_64KB_PAGE_BLOCK=ON \ +%endif + %{nil} + +%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 +export NINJA_STATUS="[1/3][%f/%t %es] " +%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 %limit_build -m 3072 + +%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0 +export NINJA_STATUS="[3/3][%f/%t %es] " +%cmake_build %limit_build -m 3072 %install +%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0 +%cmake_install + +%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1 %cmake_install -%find_lang WebKit2GTK-4.0 +%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0 +%cmake_install + +%find_lang WebKitGTK-6.0 +%find_lang WebKitGTK-4.1 +%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/common/third_party/smhasher/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 @@ -246,16 +402,42 @@ export NINJA_STATUS="[%f/%t][%e] " %add_to_license_files Source/WTF/wtf/dtoa/COPYING %add_to_license_files Source/WTF/wtf/dtoa/LICENSE -%generate_compatibility_deps +%files -n webkitgtk6.0 -f WebKitGTK-6.0.lang +%license _license_files/*ThirdParty* +%license _license_files/*WebCore* +%license _license_files/*WebInspectorUI* +%license _license_files/*WTF* +%{_libdir}/libwebkitgtk-6.0.so.4* +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/WebKit-6.0.typelib +%{_libdir}/girepository-1.0/WebKitWebProcessExtension-6.0.typelib +%{_libdir}/webkitgtk-6.0/ +%{_libexecdir}/webkitgtk-6.0/ +%exclude %{_libexecdir}/webkitgtk-6.0/MiniBrowser +%exclude %{_libexecdir}/webkitgtk-6.0/jsc +%{_bindir}/WebKitWebDriver + -%files -n webkit2gtk4.0 -f WebKit2GTK-4.0.lang +%files -n webkit2gtk4.1 -f WebKitGTK-4.1.lang %license _license_files/*ThirdParty* %license _license_files/*WebCore* %license _license_files/*WebInspectorUI* %license _license_files/*WTF* -%{_libdir}/libwebkit2gtk-4.0.so.* -%{abidir}/libwebkit2gtk-4.0.dump -%{abidir}/libwebkit2gtkinjectedbundle.dump +%{_libdir}/libwebkit2gtk-4.1.so.0* +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/WebKit2-4.1.typelib +%{_libdir}/girepository-1.0/WebKit2WebExtension-4.1.typelib +%{_libdir}/webkit2gtk-4.1/ +%{_libexecdir}/webkit2gtk-4.1/ +%exclude %{_libexecdir}/webkit2gtk-4.1/MiniBrowser +%exclude %{_libexecdir}/webkit2gtk-4.1/jsc + +%files -n webkit2gtk4.0 -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 @@ -263,8 +445,32 @@ export NINJA_STATUS="[%f/%t][%e] " %{_libexecdir}/webkit2gtk-4.0/ %exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser %exclude %{_libexecdir}/webkit2gtk-4.0/jsc -%{_bindir}/WebKitWebDriver -%{abidir}/WebKitWebDriver-option.list + + +%files -n webkitgtk6.0-devel +%{_libexecdir}/webkitgtk-6.0/MiniBrowser +%{_includedir}/webkitgtk-6.0/ +%exclude %{_includedir}/webkitgtk-6.0/jsc +%{_libdir}/libwebkitgtk-6.0.so +%{_libdir}/pkgconfig/webkitgtk-6.0.pc +%{_libdir}/pkgconfig/webkitgtk-web-process-extension-6.0.pc +%dir %{_datadir}/gir-1.0 +%{_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/ +%exclude %{_includedir}/webkitgtk-4.1/JavaScriptCore +%exclude %{_includedir}/webkitgtk-4.1/jsc +%{_libdir}/libwebkit2gtk-4.1.so +%{_libdir}/pkgconfig/webkit2gtk-4.1.pc +%{_libdir}/pkgconfig/webkit2gtk-web-extension-4.1.pc +%dir %{_datadir}/gir-1.0 +%{_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 @@ -278,14 +484,49 @@ export NINJA_STATUS="[%f/%t][%e] " %{_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* -%dir %{abidir} -%{_libdir}/libjavascriptcoregtk-4.0.so.* -%{abidir}/libjavascriptcoregtk-4.0.dump +%{_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 +%{_includedir}/webkitgtk-6.0/jsc/ +%{_libdir}/libjavascriptcoregtk-6.0.so +%{_libdir}/pkgconfig/javascriptcoregtk-6.0.pc +%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 +%{_includedir}/webkitgtk-4.1/JavaScriptCore/ +%{_includedir}/webkitgtk-4.1/jsc/ +%{_libdir}/libjavascriptcoregtk-4.1.so +%{_libdir}/pkgconfig/javascriptcoregtk-4.1.pc +%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 @@ -297,6 +538,20 @@ export NINJA_STATUS="[%f/%t][%e] " %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir %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/ + +%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/ + %files -n webkit2gtk4.0-doc %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html @@ -305,7 +560,13 @@ export NINJA_STATUS="[%f/%t][%e] " %{_datadir}/gtk-doc/html/webkit2gtk-web-extension-4.0/ %endif +%files doc +%doc NEWS + %changelog +* Mon Mar 20 2023 yuanhui - 2.40.0-1 +- Update to 2.40.0 + * Thu Feb 16 2023 Funda Wang - 2.38.5-1 - New version 2.38.5 @@ -332,4 +593,4 @@ export NINJA_STATUS="[%f/%t][%e] " - update to 2.37.1 * Thu Apr 14 2022 Chunmei Xu - 2.36.0-1 -- init from upstream +- init from upstream