[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