Rebuild with webkit2gtk4.1 (#2232979)
This commit is contained in:
parent
fe80f5f50e
commit
0e4b477a78
|
@ -0,0 +1,164 @@
|
|||
From df46add1165314bce93d70e611ddc453561ffb60 Mon Sep 17 00:00:00 2001
|
||||
From: Scott Talbert <swt@techie.net>
|
||||
Date: Mon, 12 Jun 2023 20:28:35 -0400
|
||||
Subject: [PATCH] Add support for building WebView with libwebkit2gtk-4.1
|
||||
|
||||
libwebkit2gtk-4.1 has the same API as libwebkit2gtk-4.0, except that the
|
||||
former links with libsoup-3.0 and the latter links with libsoup-2.4.
|
||||
|
||||
Fixes #23630.
|
||||
|
||||
(cherry picked from commit 1b8664426603376b68f8ca3c54de97ec630e5940)
|
||||
---
|
||||
build/cmake/init.cmake | 10 ++-
|
||||
build/cmake/modules/FindLIBSOUP.cmake | 14 +++-
|
||||
build/cmake/modules/FindWEBKIT2.cmake | 5 +-
|
||||
configure | 95 +++++++++++++++++++++++++--
|
||||
configure.in | 16 ++++-
|
||||
src/gtk/webview_webkit2.cpp | 4 ++
|
||||
6 files changed, 129 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
|
||||
index fc206cf2e03a..5d88a7e487cc 100644
|
||||
--- a/build/cmake/init.cmake
|
||||
+++ b/build/cmake/init.cmake
|
||||
@@ -453,15 +453,21 @@ if(wxUSE_GUI)
|
||||
if(wxUSE_WEBVIEW)
|
||||
if(WXGTK)
|
||||
if(wxUSE_WEBVIEW_WEBKIT)
|
||||
- find_package(LIBSOUP)
|
||||
+ set(WEBKIT_LIBSOUP_VERSION 2.4)
|
||||
if(WXGTK2)
|
||||
find_package(WEBKIT 1.0)
|
||||
elseif(WXGTK3)
|
||||
- find_package(WEBKIT2)
|
||||
+ find_package(WEBKIT2 4.1 QUIET)
|
||||
+ if(WEBKIT2_FOUND)
|
||||
+ set(WEBKIT_LIBSOUP_VERSION 3.0)
|
||||
+ else()
|
||||
+ find_package(WEBKIT2 4.0)
|
||||
+ endif()
|
||||
if(NOT WEBKIT2_FOUND)
|
||||
find_package(WEBKIT 3.0)
|
||||
endif()
|
||||
endif()
|
||||
+ find_package(LIBSOUP ${WEBKIT_LIBSOUP_VERSION})
|
||||
endif()
|
||||
set(wxUSE_WEBVIEW_WEBKIT OFF)
|
||||
set(wxUSE_WEBVIEW_WEBKIT2 OFF)
|
||||
diff --git a/build/cmake/modules/FindLIBSOUP.cmake b/build/cmake/modules/FindLIBSOUP.cmake
|
||||
index cbfba1cf9366..2433d141eaf7 100644
|
||||
--- a/build/cmake/modules/FindLIBSOUP.cmake
|
||||
+++ b/build/cmake/modules/FindLIBSOUP.cmake
|
||||
@@ -31,19 +31,27 @@
|
||||
# LibSoup does not provide an easy way to retrieve its version other than its
|
||||
# .pc file, so we need to rely on PC_LIBSOUP_VERSION and REQUIRE the .pc file
|
||||
# to be found.
|
||||
+SET(LIBSOUP_VERSION 2.4)
|
||||
+if(DEFINED LIBSOUP_FIND_VERSION)
|
||||
+ SET(LIBSOUP_VERSION ${LIBSOUP_FIND_VERSION})
|
||||
+endif()
|
||||
+
|
||||
+set(LIBSOUP_INCLUDE_DIRS LIBSOUP_INCLUDE_DIRS-NOTFOUND)
|
||||
+set(LIBSOUP_LIBRARIES LIBSOUP_LIBRARIES-NOTFOUND)
|
||||
+
|
||||
FIND_PACKAGE(PkgConfig)
|
||||
-PKG_CHECK_MODULES(PC_LIBSOUP QUIET libsoup-2.4)
|
||||
+PKG_CHECK_MODULES(PC_LIBSOUP QUIET libsoup-${LIBSOUP_VERSION})
|
||||
|
||||
if(PC_LIBSOUP_FOUND)
|
||||
FIND_PATH(LIBSOUP_INCLUDE_DIRS
|
||||
NAMES libsoup/soup.h
|
||||
HINTS ${PC_LIBSOUP_INCLUDEDIR}
|
||||
${PC_LIBSOUP_INCLUDE_DIRS}
|
||||
- PATH_SUFFIXES libsoup-2.4
|
||||
+ PATH_SUFFIXES libsoup-${LIBSOUP_VERSION}
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LIBSOUP_LIBRARIES
|
||||
- NAMES soup-2.4
|
||||
+ NAMES soup-${LIBSOUP_VERSION}
|
||||
HINTS ${PC_LIBSOUP_LIBDIR}
|
||||
${PC_LIBSOUP_LIBRARY_DIRS}
|
||||
)
|
||||
diff --git a/build/cmake/modules/FindWEBKIT2.cmake b/build/cmake/modules/FindWEBKIT2.cmake
|
||||
index 133e7a4563ea..e39077ac4a71 100644
|
||||
--- a/build/cmake/modules/FindWEBKIT2.cmake
|
||||
+++ b/build/cmake/modules/FindWEBKIT2.cmake
|
||||
@@ -5,7 +5,10 @@
|
||||
# WEBKIT2_LIBRARIES - List of libraries when using Webkit2.
|
||||
# WEBKIT2_FOUND - True if Webkit2 found.
|
||||
|
||||
-SET( WEBKIT2_VERSION 4.0)
|
||||
+SET(WEBKIT2_VERSION 4.0)
|
||||
+if(DEFINED WEBKIT2_FIND_VERSION)
|
||||
+ SET(WEBKIT2_VERSION ${WEBKIT2_FIND_VERSION})
|
||||
+endif()
|
||||
|
||||
set(WEBKIT2_INCLUDE_DIR WEBKIT2_INCLUDE_DIR-NOTFOUND)
|
||||
set(WEBKIT2_LIBRARY WEBKIT2_LIBRARY-NOTFOUND)
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 957be8dda34c..257c95a6009b 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -7529,15 +7529,27 @@ if test "$wxUSE_WEBVIEW" = "yes"; then
|
||||
if test "$wxUSE_GTK" = 1; then
|
||||
if test "$WXGTK3" = 1; then
|
||||
PKG_CHECK_MODULES([WEBKIT],
|
||||
- [webkit2gtk-4.0],
|
||||
+ [webkit2gtk-4.1],
|
||||
[
|
||||
USE_WEBVIEW_WEBKIT2=1
|
||||
CXXFLAGS="$CXXFLAGS $WEBKIT_CFLAGS"
|
||||
EXTRALIBS_WEBVIEW="$WEBKIT_LIBS"
|
||||
],
|
||||
[
|
||||
- AC_MSG_WARN([webkit2gtk not found, falling back to webkitgtk])
|
||||
+ AC_MSG_WARN([webkit2gtk-4.1 not found, falling back to webkit2gtk-4.0])
|
||||
])
|
||||
+ if test "$USE_WEBVIEW_WEBKIT2" = 0; then
|
||||
+ PKG_CHECK_MODULES([WEBKIT],
|
||||
+ [webkit2gtk-4.0],
|
||||
+ [
|
||||
+ USE_WEBVIEW_WEBKIT2=1
|
||||
+ CXXFLAGS="$CXXFLAGS $WEBKIT_CFLAGS"
|
||||
+ EXTRALIBS_WEBVIEW="$WEBKIT_LIBS"
|
||||
+ ],
|
||||
+ [
|
||||
+ AC_MSG_WARN([webkit2gtk-4.0 not found, falling back to webkitgtk])
|
||||
+ ])
|
||||
+ fi
|
||||
fi
|
||||
if test "$USE_WEBVIEW_WEBKIT2" = 0; then
|
||||
webkitgtk=webkit-1.0
|
||||
diff --git a/src/gtk/webview_webkit2.cpp b/src/gtk/webview_webkit2.cpp
|
||||
index 191cbcf2cc18..87a9bd5ad3a8 100644
|
||||
--- a/src/gtk/webview_webkit2.cpp
|
||||
+++ b/src/gtk/webview_webkit2.cpp
|
||||
@@ -173,15 +173,18 @@ wxgtk_webview_webkit_load_failed(WebKitWebView *,
|
||||
{
|
||||
switch (error->code)
|
||||
{
|
||||
+#if SOUP_MAJOR_VERSION < 3
|
||||
case SOUP_STATUS_CANCELLED:
|
||||
type = wxWEBVIEW_NAV_ERR_USER_CANCELLED;
|
||||
break;
|
||||
|
||||
case SOUP_STATUS_CANT_RESOLVE:
|
||||
+#endif
|
||||
case SOUP_STATUS_NOT_FOUND:
|
||||
type = wxWEBVIEW_NAV_ERR_NOT_FOUND;
|
||||
break;
|
||||
|
||||
+#if SOUP_MAJOR_VERSION < 3
|
||||
case SOUP_STATUS_CANT_RESOLVE_PROXY:
|
||||
case SOUP_STATUS_CANT_CONNECT:
|
||||
case SOUP_STATUS_CANT_CONNECT_PROXY:
|
||||
@@ -193,6 +196,7 @@ wxgtk_webview_webkit_load_failed(WebKitWebView *,
|
||||
case SOUP_STATUS_MALFORMED:
|
||||
type = wxWEBVIEW_NAV_ERR_REQUEST;
|
||||
break;
|
||||
+#endif
|
||||
|
||||
case SOUP_STATUS_BAD_REQUEST:
|
||||
type = wxWEBVIEW_NAV_ERR_REQUEST;
|
13
wxGTK.spec
13
wxGTK.spec
|
@ -5,7 +5,7 @@
|
|||
|
||||
Name: wxGTK
|
||||
Version: 3.2.2.1
|
||||
Release: 5%{?dist}
|
||||
Release: 6%{?dist}
|
||||
Summary: GTK port of the wxWidgets GUI library
|
||||
License: wxWidgets
|
||||
URL: https://www.wxwidgets.org/
|
||||
|
@ -18,11 +18,13 @@ Source10: wx-config
|
|||
Patch0: %{name}-3.1.6-abicheck.patch
|
||||
Patch1: https://github.com/wxWidgets/wxWidgets/commit/9688ccc0874c0c513b73d01679b1b426f463477f.patch
|
||||
Patch2: os-release.patch
|
||||
Patch3: webkit2gtk4.1.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: webkit2gtk3-devel
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: webkit2gtk4.1-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libjpeg-devel
|
||||
|
@ -172,6 +174,10 @@ sed -i -e 's|aclocal)|aclocal/wxwin32.m4)|' Makefile.in
|
|||
sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
|
||||
sed -i -e 's|/lib|/%{_lib}|' src/unix/stdpaths.cpp
|
||||
|
||||
# Since we're currently patching configure.in
|
||||
rm -f configure
|
||||
./autogen.sh
|
||||
|
||||
|
||||
%build
|
||||
%global _configure ../configure
|
||||
|
@ -315,6 +321,9 @@ fi
|
|||
%doc html
|
||||
|
||||
%changelog
|
||||
* Mon Aug 21 2023 Scott Talbert <swt@techie.net> - 3.2.2.1-6
|
||||
- Rebuild with webkit2gtk4.1 (#2232979)
|
||||
|
||||
* Tue Jul 25 2023 Scott Talbert <swt@techie.net> - 3.2.2.1-5
|
||||
- Make wxGetLinuxDistributionInfo work without lsb_release (#2184391)
|
||||
|
||||
|
|
Loading…
Reference in New Issue