Dominique Leuenberger 2024-11-21 08:51:22 +00:00 committed by Git OBS Bridge
commit ca3a4e430d
8 changed files with 418 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

37
_constraints Normal file
View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<constraints>
<hardware>
<jobs>4</jobs>
<disk>
<size unit="G">26</size>
</disk>
<physicalmemory>
<size unit="G">16</size>
</physicalmemory>
</hardware>
<hostlabel exclude="true">SLOW_CPU</hostlabel>
<overwrite>
<conditions>
<arch>armv6l</arch>
<arch>armv7l</arch>
</conditions>
<hardware>
<disk>
<size unit="G">12</size>
</disk>
<physicalmemory>
<size unit="G">8</size>
</physicalmemory>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>aarch64</arch>
</conditions>
<hardware>
<cpu>
<flag>asimdrdm</flag>
</cpu>
</hardware>
</overwrite>
</constraints>

12
fix-icu-build.patch Normal file
View File

@ -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

3
wpewebkit-2.44.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a3d23cb4fb071ca0db3a09c5a85f27b8bcc6094a2026d3b7407bed4f99218f7
size 35182184

3
wpewebkit-2.46.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:301550fbd8703f3ba4c4a65fe596686960569f8a3b0f6668243179cbc77bbc50
size 40616660

90
wpewebkit.changes Normal file
View File

@ -0,0 +1,90 @@
-------------------------------------------------------------------
Wed Nov 20 17:13:30 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Add fix-icu-build.patch: Support ICU 76.1 build
-------------------------------------------------------------------
Sat Sep 28 12:44:54 UTC 2024 - Michael Gorse <mgorse@suse.com>
- 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 <joan.torres@suse.com>
- 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 <joan.torres@suse.com>
- 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 <dimstar@opensuse.org>
- 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 <joan.torres@suse.com>
- 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 <joan.torres@suse.com>
- 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 <joan.torres@suse.com>
- Init repo.

249
wpewebkit.spec Normal file
View File

@ -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