[packages/wpe-webkit] - updated to 2.40.3; added libWPEWebKit-2.0 API packages

qboosh qboosh at pld-linux.org
Fri Jul 21 21:02:52 CEST 2023


commit 5527eb16703f46c010f1766764874360e3eea6ac
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Jul 21 20:47:25 2023 +0200

    - updated to 2.40.3; added libWPEWebKit-2.0 API packages

 parallel-gir.patch     |   9 +++
 wpe-webkit-gcc13.patch |  27 ---------
 wpe-webkit.spec        | 156 ++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 143 insertions(+), 49 deletions(-)
---
diff --git a/wpe-webkit.spec b/wpe-webkit.spec
index cbb60b6..b87224c 100644
--- a/wpe-webkit.spec
+++ b/wpe-webkit.spec
@@ -2,18 +2,22 @@
 # - ENABLE_WEBXR (experimental; BR: OpenXR >= 1.0.9, openxr.pc)?
 # - ENABLE_ENCRYPTED_MEDIA, ENABLE_THUNDER (experimental; https://github.com/rdkcentral/Thunder)?
 # - FTL_JIT on !x86_64?
-# - MEDIA_RECORDER (experimental; BR: gstreamer-transcoder-devel >= 1.20)
 # - WEB_RTC (experimental; BR: gstreamer-plugins-bad-devel (webrtc component) >= 1.20, openssl-devel)
 # - WEB_RTC+MEDIA_STREAM (BR: openwebrtc)
-# - USE_AVIF? (experimental; BR: libavif-devel >= 0.9.0)
 # - USE_JPEGXL? (experimental; BR: libjxl-devel)
-# - libsoup3 for HTTP/2 (drop USE_SOUP2=ON)? (BR: libsoup3-devel >= 3.0.0; changes abi tag from -1.0 to -1.1; doc tag remains -1.0)
+# - SPEECH_SYNTHESIS? (experimental; BR: flite-devel >= 2.2)
 #
 # Conditional build:
 %bcond_without	libsoup2	# libWPEWebKit-1.0 (libsoup2 based) variant
-%bcond_without	libsoup3	# libWPEWebKit-1.1 (libsoup3 based) variant (HTTP/2 support)
+%bcond_without	libsoup3	# libWPEWebKit-1.1/2.0 (libsoup3 based) variants (HTTP/2 support)
+%bcond_without	api_1_1		# libWPEWebKit-1.1 (libsoup3 based) variant
+%bcond_without	api_2_0		# libWPEWebKit-2.0 (libsoup3 based) variant
 %bcond_with	lowmem		# try to reduce build memory usage by adjusting gcc gc
 #
+%if %{without libsoup3}
+%undefine	with_api_1_1
+%undefine	with_api_2_0
+%endif
 # it's not possible to build this with debuginfo on 32bit archs due to
 # memory constraints during linking
 %ifarch %{ix86} x32
@@ -22,15 +26,14 @@
 Summary:	Port of WebKit embeddable web component to WPE
 Summary(pl.UTF-8):	Port osadzalnego komponentu WWW WebKit do WPE
 Name:		wpe-webkit
-# NOTE: 2.38.x is stable, 2.39.x devel
-Version:	2.38.6
-Release:	2
+# NOTE: 2.40.x is stable, 2.41.x devel
+Version:	2.40.3
+Release:	1
 License:	BSD-like
 Group:		X11/Libraries
 Source0:	https://wpewebkit.org/releases/wpewebkit-%{version}.tar.xz
-# Source0-md5:	eb44d3132208218f3752170cae3220b8
+# Source0-md5:	1568a6b0669aef438de51c892b69215b
 Patch0:		%{name}-x32.patch
-Patch1:		%{name}-gcc13.patch
 Patch2:		%{name}-driver-version-suffix.patch
 Patch3:		parallel-gir.patch
 URL:		https://wpewebkit.org/
@@ -45,9 +48,8 @@ BuildRequires:	cmake >= 3.20
 BuildRequires:	docbook-dtd412-xml
 BuildRequires:	fontconfig-devel >= 2.13.0
 BuildRequires:	freetype-devel >= 1:2.9.0
-BuildRequires:	gcc-c++ >= 6:7.3.0
 BuildRequires:	gi-docgen
-BuildRequires:	glib2-devel >= 1:2.67.1
+BuildRequires:	glib2-devel >= 1:2.70.0
 BuildRequires:	glibc-misc
 BuildRequires:	gobject-introspection-devel
 BuildRequires:	gperf >= 3.0.1
@@ -57,10 +59,12 @@ BuildRequires:	gstreamer-gl-devel >= 1.14.0
 BuildRequires:	gstreamer-plugins-bad-devel >= 1.14.0
 # app,audio,fft,pbutils,tag,video
 BuildRequires:	gstreamer-plugins-base-devel >= 1.14.0
+BuildRequires:	gstreamer-transcoder-devel >= 1.20
 BuildRequires:	gtk-doc >= 1.10
 BuildRequires:	harfbuzz-devel >= 1.4.2
 BuildRequires:	harfbuzz-icu-devel >= 1.4.2
 BuildRequires:	lcms2-devel >= 2
+BuildRequires:	libavif-devel >= 0.9.0
 BuildRequires:	libepoxy-devel >= 1.4.0
 BuildRequires:	libgcrypt-devel >= 1.7.0
 BuildRequires:	libicu-devel >= 61.2
@@ -69,8 +73,8 @@ BuildRequires:	libpng-devel
 BuildRequires:	libseccomp-devel
 %{?with_libsoup2:BuildRequires:	libsoup-devel >= 2.54}
 %{?with_libsoup3:BuildRequires:	libsoup3-devel >= 3.0}
-# -std=c++2a
-BuildRequires:	libstdc++-devel >= 6:8.3
+# -std=c++2a; WebKitCommon.cmake says gcc 9.3.0 is minimum, but 9.5.0 fails to build
+BuildRequires:	libstdc++-devel >= 6:10
 BuildRequires:	libtasn1-devel
 BuildRequires:	libwebp-devel
 BuildRequires:	libwpe-devel >= 1.14.0
@@ -82,11 +86,12 @@ BuildRequires:	pkgconfig
 BuildRequires:	python >= 1:2.7.0
 BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpmbuild(macros) >= 1.699
-BuildRequires:	ruby >= 1:1.9
-BuildRequires:	ruby-modules >= 1:1.9
+BuildRequires:	ruby >= 1:2.5
+BuildRequires:	ruby-modules >= 1:2.5
 BuildRequires:	sqlite3-devel >= 3
 BuildRequires:	systemd-devel
 BuildRequires:	tar >= 1:1.22
+BuildRequires:	unifdef
 BuildRequires:	wayland-devel
 BuildRequires:	wayland-egl-devel
 BuildRequires:	wpebackend-fdo-devel >= 1.9.0
@@ -105,7 +110,7 @@ Requires:	atk >= 1:2.16.0
 Requires:	cairo >= 1.16.0
 Requires:	fontconfig-libs >= 2.13.0
 Requires:	freetype >= 1:2.9.0
-Requires:	glib2 >= 1:2.67.1
+Requires:	glib2 >= 1:2.70.0
 Requires:	gstreamer >= 1.2.3
 Requires:	gstreamer-plugins-base >= 1.2.3
 Requires:	harfbuzz >= 1.4.2
@@ -141,7 +146,7 @@ Summary:	Development files for WebKit for WPE
 Summary(pl.UTF-8):	Pliki programistyczne komponentu WebKit dla WPE
 Group:		X11/Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	glib2-devel >= 1:2.67.1
+Requires:	glib2-devel >= 1:2.70.0
 Requires:	libsoup-devel >= 2.54.0
 Requires:	libstdc++-devel >= 6:8.3
 Requires:	libwpe-devel >= 1.14.0
@@ -206,11 +211,11 @@ urządzeń komputerowych wbudowanych oraz o niskim poborze energii.
 Summary:	Development files for WebKit for WPE with HTTP/2 support
 Summary(pl.UTF-8):	Pliki programistyczne komponentu WebKit dla WPE z obsługą HTTP/2
 Group:		X11/Development/Libraries
-Requires:	%{name} = %{version}-%{release}
 Requires:	glib2-devel >= 1:2.67.1
 Requires:	libsoup3-devel >= 3.0.0
 Requires:	libstdc++-devel >= 6:8.3
 Requires:	libwpe-devel >= 1.14.0
+Requires:	wpe-webkit1.1 = %{version}-%{release}
 
 %description -n wpe-webkit1.1-devel
 Development files for WebKit for WPE with HTTP/2 support.
@@ -231,10 +236,75 @@ API documentation for WebKit WPE port with HTTP/2 support.
 %description -n wpe-webkit1.1-apidocs -l pl.UTF-8
 Dokumentacja API portu WebKitu do WPE z obsługą HTTP/2.
 
+%package -n wpe-webkit2
+Summary:	Port of WebKit embeddable web component to WPE with HTTP/2 support
+Summary(pl.UTF-8):	Port osadzalnego komponentu WWW WebKit do WPE z obsługą HTTP/2
+Group:		X11/Libraries
+Requires:	at-spi2-atk-libs >= 2.5.3
+Requires:	atk >= 1:2.16.0
+Requires:	cairo >= 1.16.0
+Requires:	fontconfig-libs >= 2.13.0
+Requires:	freetype >= 1:2.9.0
+Requires:	glib2 >= 1:2.70.0
+Requires:	gstreamer >= 1.2.3
+Requires:	gstreamer-plugins-base >= 1.2.3
+Requires:	harfbuzz >= 1.4.2
+Requires:	libepoxy >= 1.4.0
+Requires:	libgcrypt >= 1.7.0
+Requires:	libsoup3 >= 3.0.0
+Requires:	libwpe >= 1.14.0
+Requires:	libxml2 >= 1:2.8.0
+Requires:	libxslt >= 1.1.7
+Requires:	openjpeg2 >= 2.2.0
+Requires:	woff2 >= 1.0.2
+Requires:	wpebackend-fdo >= 1.9.0
+
+%description -n wpe-webkit2
+wpe-webkit2 is a port of the WebKit embeddable web component to WPE
+with HTTP/2 (libsoup 3) support.
+
+WPE (Webkit Port for Embedded) is the reference WebKit port for
+embedded and low-consumption computer devices.
+
+%description -n wpe-webkit2 -l pl.UTF-8
+wpe-webkit2 to port osadzalnego komponentu WWW WebKit do WPE z
+obsługą HTTP/2 (libsoup 3).
+
+WPE (Webkit Port for Embedded) to wzorcowy port biblioteki WebKit dla
+urządzeń komputerowych wbudowanych oraz o niskim poborze energii.
+
+%package -n wpe-webkit2-devel
+Summary:	Development files for WebKit for WPE with HTTP/2 support
+Summary(pl.UTF-8):	Pliki programistyczne komponentu WebKit dla WPE z obsługą HTTP/2
+Group:		X11/Development/Libraries
+Requires:	glib2-devel >= 1:2.70.0
+Requires:	libsoup3-devel >= 3.0.0
+Requires:	libstdc++-devel >= 6:8.3
+Requires:	libwpe-devel >= 1.14.0
+Requires:	wpe-webkit2 = %{version}-%{release}
+
+%description -n wpe-webkit2-devel
+Development files for WebKit for WPE with HTTP/2 support.
+
+%description -n wpe-webkit2-devel -l pl.UTF-8
+Pliki programistyczne komponentu WebKit dla WPE z obsługą HTTP/2.
+
+%package -n wpe-webkit2-apidocs
+Summary:	API documentation for WebKit WPE port with HTTP/2 support
+Summary(pl.UTF-8):	Dokumentacja API portu WebKitu do WPE z obsługą HTTP/2
+Group:		Documentation
+Requires:	gtk-doc-common
+BuildArch:	noarch
+
+%description -n wpe-webkit2-apidocs
+API documentation for WebKit WPE port with HTTP/2 support.
+
+%description -n wpe-webkit2-apidocs -l pl.UTF-8
+Dokumentacja API portu WebKitu do WPE z obsługą HTTP/2.
+
 %prep
 %setup -q -n wpewebkit-%{version}
 %patch0 -p1
-%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 
@@ -242,7 +312,7 @@ Dokumentacja API portu WebKitu do WPE z obsługą HTTP/2.
 %if %{with lowmem}
 CXXFLAGS="%{rpmcxxflags} --param ggc-min-expand=20 --param ggc-min-heapsize=65536"
 %endif
-for kind in %{?with_libsoup2:soup2} %{?with_libsoup3:soup3} ; do
+for kind in %{?with_libsoup2:soup2} %{?with_api_1_1:soup3-1.1} %{?with_api_2_0:soup3-2.0} ; do
 %cmake -B build-${kind} \
 	-DENABLE_GEOLOCATION=ON \
 	-DENABLE_GTKDOC=ON \
@@ -254,6 +324,7 @@ for kind in %{?with_libsoup2:soup2} %{?with_libsoup3:soup3} ; do
 	-DENABLE_VIDEO=ON \
 	-DENABLE_WEB_AUDIO=ON \
 	-DENABLE_WEBGL=ON \
+	$([ "$kind" = "soup3-1.1" ] && echo -DENABLE_WPE_1_1_API=ON) \
 %ifarch %{ix86} %{x8664} x32
 	-DHAVE_SSE2_EXTENSIONS=ON \
 %endif
@@ -267,7 +338,7 @@ done
 %install
 rm -rf $RPM_BUILD_ROOT
 
-for kind in %{?with_libsoup2:soup2} %{?with_libsoup3:soup3} ; do
+for kind in %{?with_libsoup2:soup2} %{?with_api_1_1:soup3-1.1} %{?with_api_2_0:soup3-2.0} ; do
 %{__make} -C build-${kind} install \
 	DESTDIR=$RPM_BUILD_ROOT
 done
@@ -286,6 +357,9 @@ rm -rf $RPM_BUILD_ROOT
 %post	-n wpe-webkit1.1 -p /sbin/ldconfig
 %postun	-n wpe-webkit1.1 -p /sbin/ldconfig
 
+%post	-n wpe-webkit2 -p /sbin/ldconfig
+%postun	-n wpe-webkit2 -p /sbin/ldconfig
+
 %if %{with libsoup2}
 %files
 %defattr(644,root,root,755)
@@ -324,7 +398,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_gtkdocdir}/wpe-webkit-1.0
 %endif
 
-%if %{with libsoup3}
+%if %{with api_1_1}
 %files -n wpe-webkit1.1
 %defattr(644,root,root,755)
 %doc NEWS
@@ -361,3 +435,41 @@ rm -rf $RPM_BUILD_ROOT
 %{_gtkdocdir}/wpe-web-extension-1.1
 %{_gtkdocdir}/wpe-webkit-1.1
 %endif
+
+%if %{with api_2_0}
+%files -n wpe-webkit2
+%defattr(644,root,root,755)
+%doc NEWS
+%attr(755,root,root) %{_bindir}/WPEWebDriver-2.0
+%attr(755,root,root) %{_libdir}/libWPEWebKit-2.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libWPEWebKit-2.0.so.1
+%{_libdir}/girepository-1.0/WPEJavaScriptCore-2.0.typelib
+%{_libdir}/girepository-1.0/WPEWebKit-2.0.typelib
+%{_libdir}/girepository-1.0/WPEWebProcessExtension-2.0.typelib
+%if "%{_libexecdir}" != "%{_libdir}"
+%dir %{_libexecdir}/wpe-webkit-2.0
+%endif
+%attr(755,root,root) %{_libexecdir}/wpe-webkit-2.0/WPENetworkProcess
+%attr(755,root,root) %{_libexecdir}/wpe-webkit-2.0/WPEWebProcess
+%attr(755,root,root) %{_libexecdir}/wpe-webkit-2.0/jsc
+%dir %{_libdir}/wpe-webkit-2.0
+%attr(755,root,root) %{_libdir}/wpe-webkit-2.0/libWPEWebInspectorResources.so
+%dir %{_libdir}/wpe-webkit-2.0/injected-bundle
+%attr(755,root,root) %{_libdir}/wpe-webkit-2.0/injected-bundle/libWPEInjectedBundle.so
+
+%files -n wpe-webkit2-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libWPEWebKit-2.0.so
+%{_includedir}/wpe-webkit-2.0
+%{_datadir}/gir-1.0/WPEJavaScriptCore-2.0.gir
+%{_datadir}/gir-1.0/WPEWebKit-2.0.gir
+%{_datadir}/gir-1.0/WPEWebProcessExtension-2.0.gir
+%{_pkgconfigdir}/wpe-web-process-extension-2.0.pc
+%{_pkgconfigdir}/wpe-webkit-2.0.pc
+
+%files -n wpe-webkit2-apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/wpe-javascriptcore-2.0
+%{_gtkdocdir}/wpe-web-process-extension-2.0
+%{_gtkdocdir}/wpe-webkit-2.0
+%endif
diff --git a/parallel-gir.patch b/parallel-gir.patch
index ab5ccc2..ec5658e 100644
--- a/parallel-gir.patch
+++ b/parallel-gir.patch
@@ -32,6 +32,15 @@ diff --git a/Source/cmake/FindGI.cmake b/Source/cmake/FindGI.cmake
 index fdc56b21b148..6b636af69a28 100644
 --- a/Source/cmake/FindGI.cmake
 +++ b/Source/cmake/FindGI.cmake
+@@ -265,7 +265,7 @@ function(GI_INTROSPECT namespace nsversi
+             get_property(dep_gir_lib TARGET "gir-${dep}" PROPERTY GI_GIR_LIBRARY)
+             if (dep_gir_path)
+                 list(APPEND scanner_flags "--include-uninstalled=${dep_gir_path}")
+-                list(APPEND gir_deps "${dep_gir_path}")
++                list(APPEND gir_deps "gir-${dep}")
+             else ()
+                 message(AUTHOR_WARNING
+                     "Target '${dep}' listed as a dependency but it has not "
 @@ -376,7 +376,7 @@ function(GI_INTROSPECT namespace nsversion header)
      add_custom_command(
          OUTPUT "${typ_path}"
diff --git a/wpe-webkit-gcc13.patch b/wpe-webkit-gcc13.patch
deleted file mode 100644
index 13ce0e9..0000000
--- a/wpe-webkit-gcc13.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- webkitgtk-2.38.6/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h.orig	2022-08-19 13:14:22.903425000 +0200
-+++ webkitgtk-2.38.6/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h	2023-05-05 06:11:59.781732404 +0200
-@@ -12,6 +12,7 @@
- 
- #include <algorithm>
- #include <array>
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
---- webkitgtk-2.38.6/Source/WebCore/platform/graphics/SourceBrush.cpp.orig	2022-09-20 10:13:48.250555000 +0200
-+++ webkitgtk-2.38.6/Source/WebCore/platform/graphics/SourceBrush.cpp	2023-05-05 06:14:14.776532489 +0200
-@@ -65,12 +65,12 @@ Pattern* SourceBrush::pattern() const
- 
- void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& spaceTransform)
- {
--    m_brush = { Brush::LogicalGradient { WTFMove(gradient), spaceTransform } };
-+    m_brush = Brush { Brush::LogicalGradient { WTFMove(gradient), spaceTransform } };
- }
- 
- void SourceBrush::setPattern(Ref<Pattern>&& pattern)
- {
--    m_brush = { WTFMove(pattern) };
-+    m_brush = Brush { WTFMove(pattern) };
- }
- 
- WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/wpe-webkit.git/commitdiff/5527eb16703f46c010f1766764874360e3eea6ac



More information about the pld-cvs-commit mailing list