commit ca3a4e430d47aa98d54b672f2be6b3d235bb1df9c75d4b9c64a7a34c2c62b075 Author: Dominique Leuenberger Date: Thu Nov 21 08:51:22 2024 +0000 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/wpewebkit?expand=0&rev=9 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..ecde99c --- /dev/null +++ b/_constraints @@ -0,0 +1,37 @@ + + + + 4 + + 26 + + + 16 + + + SLOW_CPU + + + armv6l + armv7l + + + + 12 + + + 8 + + + + + + aarch64 + + + + asimdrdm + + + + diff --git a/fix-icu-build.patch b/fix-icu-build.patch new file mode 100644 index 0000000..ac76654 --- /dev/null +++ b/fix-icu-build.patch @@ -0,0 +1,12 @@ +Index: wpewebkit-2.46.0/Source/WTF/wtf/Platform.h +=================================================================== +--- wpewebkit-2.46.0.orig/Source/WTF/wtf/Platform.h ++++ wpewebkit-2.46.0/Source/WTF/wtf/Platform.h +@@ -115,6 +115,7 @@ + /* ICU configuration. Some of these match ICU defaults on some platforms, but we would like them consistently set everywhere we build WebKit. */ + #define U_HIDE_DEPRECATED_API 1 + #define U_SHOW_CPLUSPLUS_API 0 ++#define U_SHOW_CPLUSPLUS_HEADER_API 0 + #ifdef __cplusplus + #define UCHAR_TYPE char16_t + #endif diff --git a/wpewebkit-2.44.2.tar.xz b/wpewebkit-2.44.2.tar.xz new file mode 100644 index 0000000..49b3ac0 --- /dev/null +++ b/wpewebkit-2.44.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a3d23cb4fb071ca0db3a09c5a85f27b8bcc6094a2026d3b7407bed4f99218f7 +size 35182184 diff --git a/wpewebkit-2.46.0.tar.xz b/wpewebkit-2.46.0.tar.xz new file mode 100644 index 0000000..8613c86 --- /dev/null +++ b/wpewebkit-2.46.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:301550fbd8703f3ba4c4a65fe596686960569f8a3b0f6668243179cbc77bbc50 +size 40616660 diff --git a/wpewebkit.changes b/wpewebkit.changes new file mode 100644 index 0000000..052609a --- /dev/null +++ b/wpewebkit.changes @@ -0,0 +1,90 @@ +------------------------------------------------------------------- +Wed Nov 20 17:13:30 UTC 2024 - Bjørn Lie + +- Add fix-icu-build.patch: Support ICU 76.1 build + +------------------------------------------------------------------- +Sat Sep 28 12:44:54 UTC 2024 - Michael Gorse + +- Update to version 2.46.0: + + Fix rendering of images in PDF documents. + + Make process launching fast again. + + Fix webkit_web_resource_get_data() regression that caused we + were always retuning empty data. + + Fix the build with touch events disabled. + + Fix the build with GLib < 2.68. + + Fix several crashes and rendering issues. + + For all changes between 2.44.2 and 2.45.90, please see packaged + NEWS file. +- Add libinput to BuildRequires: new dependency. +- Pass USE_SYSTEM_SYSPROF_CAPTURE=NO to cmake, avoid building + sysprof capture for now. +- Only disable LTO on x86 and ppc64le. +- Package libWPEPlatform (new WPE platform API). + +------------------------------------------------------------------- +Tue Jun 4 17:28:23 UTC 2024 - Joan Torres + +- Stop passing -DENABLE_SAMPLING_PROFILER=OFF and -DENABLE_C_LOOP=ON + on arch64, it's no longer needed to avoid build failure. +- Set wayland and xkbcommon includes through CFLAGS and CXXFLAGS, + it looks like the compiler can't automatically find them. + +------------------------------------------------------------------- +Thu May 23 08:23:41 UTC 2024 - Joan Torres + +- Update to version 2.44.2: + * Fix CVE-2024-27834 bsc#1225071 + * Decrease input notifications for gamepad inputs. + * Disable the gst-libav AAC decoder. + * Make gamepads visible on axis movements, and not only on button presses. + * Make user scripts and style sheets visible in the Web Inspector. + * Use the geolocation portal where available, with the existing Geoclue as fallback if the portal is not usable. + * Use optimized assembler BoringSSL modules with USE_LIBWEBRTC enabled. + * Fix mouse location in WebDriver when output device scaling is in effect. + * Fix touch input event propagation. + * Fix the build on 32-bit ARM with USE_LIBWEBRTC enabled. + * Fix the build with ENABLE_WEBAUDIO disabled. + * Fix several crashes and rendering issues. + +------------------------------------------------------------------- +Fri May 3 15:09:25 UTC 2024 - Dominique Leuenberger + +- Update to version 2.44.1: + + Do not schedule layer flushes when drawing area size is empty. + + Fix videos with alpha when using the DMA-BUF sink. + + Fix the build with ENABLE_WEB_AUDIO=OFF. + + Fix the build with ENABLE_VIDEO=OFF. + + Fix the build with USE_GBM=OFF. + + Fix the build in 32bit platforms + + Fix several crashes and rendering issues. + + For all changes between 2.42.2 and 2.44.1, please see packaged + NEWS file. +- Add libbacktrace-devel BuildRequires: new dependency. +- Drop fix-include-dirs.patch and fix-load-backend-fdo-lib.patch: + no longer needed. + +------------------------------------------------------------------- +Wed Nov 22 11:12:21 UTC 2023 - Joan Torres + +- Update to version 2.42.2: + * Bump Safari version in user agent header. + * Fix CSP regression that broke Unity WebGL applications. + * Fix the build with GBM disabled. + * Fix several crashes and rendering issues. +- Temporaly disable LTO which is currently failing to link + (will be solved in a next release). + +------------------------------------------------------------------- +Tue Sep 26 09:05:23 UTC 2023 - Joan Torres + +- Update to version 2.42.0: + * GBM is no longer required for WebGL implementation. + * Add API to configure experimental features at runtime. + * Add API to set the percentage of volume space that can be used for data storage. + * Fix several crashes and rendering issues. + +------------------------------------------------------------------- +Fri Jun 30 17:43:03 UTC 2023 - Joan Torres + +- Init repo. diff --git a/wpewebkit.spec b/wpewebkit.spec new file mode 100644 index 0000000..23c0405 --- /dev/null +++ b/wpewebkit.spec @@ -0,0 +1,249 @@ +# +# spec file for package wpewebkit +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define _apiver 2.0 +%define _wksover 2_0-1 +%define _wpsover 2_0-0 +%define _sonameverpkg 2_0 + +Name: wpewebkit +### FIXME ### Drop the disabling of LTO on next release/versionbump +%ifarch %{ix86} ppc64le +%define _lto_cflags %{nil} +%endif +Version: 2.46.0 +Release: 0 +Summary: Library for rendering web content, WPE Port +License: BSD-3-Clause AND LGPL-2.1-only +Group: Development/Libraries/C and C++ +URL: https://wpewebkit.org/ +Source: %{url}/releases/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM fix-icu-build.patch -- Support ICU 76.1 build +Patch: fix-icu-build.patch + +BuildRequires: bubblewrap +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: gperf >= 3.0.1 +BuildRequires: libbacktrace-devel +BuildRequires: libicu-devel >= 61.2 +BuildRequires: memory-constraints +BuildRequires: ninja +BuildRequires: perl >= 5.10.0 +BuildRequires: python3 +BuildRequires: ruby >= 2.5 +BuildRequires: unifdef +BuildRequires: xdg-dbus-proxy +BuildRequires: pkgconfig(atk) >= 2.16.0 +BuildRequires: pkgconfig(atk-bridge-2.0) +BuildRequires: pkgconfig(cairo) >= 1.16.0 +BuildRequires: pkgconfig(epoxy) >= 1.5.4 +BuildRequires: pkgconfig(freetype2) >= 2.9.0 +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(glib-2.0) >= 2.70.0 +BuildRequires: pkgconfig(gstreamer-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-app-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-audio-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-base-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-codecparsers-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-fft-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-gl-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-mpegts-1.0) >= 1.4.0 +BuildRequires: pkgconfig(gstreamer-pbutils-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-rtp-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-sdp-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-tag-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-transcoder-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-video-1.0) >= 1.18.4 +BuildRequires: pkgconfig(gstreamer-webrtc-1.0) >= 1.18.4 +BuildRequires: pkgconfig(harfbuzz) >= 1.4.2 +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libavif) >= 0.9.0 +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libgcrypt) >= 1.7.0 +BuildRequires: pkgconfig(libinput) >= 1.19.0 +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libjxl) >= 0.7.0 +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libsoup-3.0) >= 3.0.0 +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libtasn1) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libwoff2common) >= 1.0.2 +BuildRequires: pkgconfig(libwoff2dec) +BuildRequires: pkgconfig(libxml-2.0) >= 2.8.0 +BuildRequires: pkgconfig(libxslt) >= 1.1.7 +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(wayland-client) >= 1.15 +BuildRequires: pkgconfig(wayland-egl) >= 1.15 +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(wayland-server) >= 1.15 +BuildRequires: pkgconfig(wpe-1.0) +BuildRequires: pkgconfig(wpebackend-fdo-1.0) >= 1.3.0 +BuildRequires: pkgconfig(xkbcommon) >= 0.4.0 +BuildRequires: pkgconfig(zlib) + +%description +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package -n libWPEWebKit-%{_wksover} +Summary: Library for rendering web content, WPE port +Group: System/Libraries +Requires: %{name}-%{_sonameverpkg}-injected-bundles +Requires: bubblewrap +Requires: xdg-dbus-proxy +Provides: libWPEWebKit-{_apiver} + +%description -n libWPEWebKit-%{_wksover} +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package -n wpewebkit-%{_sonameverpkg}-injected-bundles +Summary: Injected bundles for wpewebkit +Group: System/Libraries + +%description -n wpewebkit-%{_sonameverpkg}-injected-bundles +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package -n libWPEWebInspectorResources +Summary: WPEWebInspectorResources tool +Group: System/Libraries + +%description -n libWPEWebInspectorResources +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package -n libWPEPlatform-%{_wpsover} +Summary: Library for rendering web content, new WPE platform API +Group: System/Libraries +Requires: %{name}-%{_sonameverpkg}-injected-bundles +Requires: bubblewrap +Requires: xdg-dbus-proxy +Provides: libWPEPlatform-{_apiver} + +%description -n libWPEPlatform-%{_wpsover} +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package -n WPEWebDriver +Summary: WebDriver service implementation for WPE WebKit +Group: System/Libraries + +%description -n WPEWebDriver +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries/C and C++ +Requires: libWPEWebKit-%{_wksover} = %{version} + +%description devel +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package minibrowser +Summary: MiniBrowser from WebKit +Group: Development/Tools/Other +Requires: libWPEWebKit-%{_wksover} = %{version} + +%description minibrowser +A small test browswer from webkit, useful for testing features and +embedded mini browsers. + +%prep +%autosetup -p1 + +%build +# Not eat all memory +%define _dwz_low_mem_die_limit 40000000 +%define _dwz_max_die_limit 250000000 +%limit_build -m 2500 + +# Use linker flags to reduce memory consumption +%global optflags %(echo %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads | sed 's/-g /-g1 /') +export CFLAGS="%{optflags} $(pkg-config --cflags wayland-client xkbcommon)" +export CXXFLAGS="%{optflags} $(pkg-config --cflags wayland-client xkbcommon)" +%cmake \ + -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_DOCUMENTATION=OFF \ + -DENABLE_INTROSPECTION=OFF \ + -DPORT=WPE \ + -DENABLE_MINIBROWSER=ON \ + -DUSE_AVIF=ON \ + -DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libWPEWebKit-%{_wksover} \ +%ifarch aarch64 + -DENABLE_JIT=OFF \ + -DUSE_SYSTEM_MALLOC=ON \ +%endif + -DUSE_SYSTEM_SYSPROF_CAPTURE=NO +%ninja_build + +%install +%ninja_install -C build + +%ldconfig_scriptlets -n libWPEWebKit-%{_wksover} +%ldconfig_scriptlets -n libWPEPlatform-%{_wpsover} + +%files -n libWPEPlatform-%{_wpsover} +%{_libdir}/libWPEPlatform-%{_apiver}.so.* + +%files -n libWPEWebKit-%{_wksover} +%dir %{_libdir}/wpe-webkit-%{_apiver} +%exclude %{_libexecdir}/libWPEWebKit-%{_wksover}/MiniBrowser +%{_libexecdir}/libWPEWebKit-%{_wksover} +%{_libdir}/libWPEWebKit-%{_apiver}.so.* +%doc NEWS + +%files -n wpewebkit-%{_sonameverpkg}-injected-bundles +%dir %{_libdir}/wpe-webkit-%{_apiver}/injected-bundle +%{_libdir}/wpe-webkit-%{_apiver}/injected-bundle/libWPEInjectedBundle.so + +%files -n libWPEWebInspectorResources +%{_libdir}/wpe-webkit-%{_apiver}/libWPEWebInspectorResources.so + +%files -n WPEWebDriver +%{_bindir}/WPEWebDriver + +%files devel +%{_includedir}/wpe-webkit-%{_apiver} +%{_libdir}/libWPEPlatform-%{_apiver}.so +%{_libdir}/libWPEWebKit-%{_apiver}.so +%{_libdir}/pkgconfig/wpe-platform-%{_apiver}.pc +%{_libdir}/pkgconfig/wpe-platform-drm-%{_apiver}.pc +%{_libdir}/pkgconfig/wpe-platform-headless-%{_apiver}.pc +%{_libdir}/pkgconfig/wpe-platform-wayland-%{_apiver}.pc +%{_libdir}/pkgconfig/wpe-webkit-%{_apiver}.pc +%{_libdir}/pkgconfig/wpe-web-process-extension-%{_apiver}.pc + +%files minibrowser +%{_libexecdir}/libWPEWebKit-%{_wksover}/MiniBrowser + +%changelog