[packages/wxWidgets] - up to 3.2.2.1 - stop building non-unicode libs - enable SDL support

baggins baggins at pld-linux.org
Sat Sep 23 23:42:16 CEST 2023


commit 8c83cec1161903cb3ed02700a40e0208910de4c9
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Sep 23 15:30:12 2023 +0200

    - up to 3.2.2.1
    - stop building non-unicode libs
    - enable SDL support

 export-wxGetRootWindow.patch |  11 ---
 os-release.patch             |  77 ++++++++++++++++++++
 relax-abicheck.patch         |  47 ++++---------
 webkit2gtk4.1.patch          | 164 +++++++++++++++++++++++++++++++++++++++++++
 wxWidgets-c++.patch          |  95 -------------------------
 wxWidgets-gifdelay.patch     |   2 +-
 wxWidgets-link.patch         |  14 ----
 wxWidgets-samples.patch      |   2 +-
 wxWidgets.spec               |  69 +++++++++---------
 9 files changed, 291 insertions(+), 190 deletions(-)
---
diff --git a/wxWidgets.spec b/wxWidgets.spec
index 23e2ce2..a87a06a 100644
--- a/wxWidgets.spec
+++ b/wxWidgets.spec
@@ -1,31 +1,29 @@
 #
 # Conditional build:
-%bcond_without	ansi		# only unicode packages
+%bcond_with	ansi		# only unicode packages
 %bcond_with	directfb	# build wxDFB packages
 %bcond_without	gtk3		# don't build wxGTK3 packages
 %bcond_with	motif		# build wxMotif packages
 %bcond_without	x11		# don't build wxX11 packages
-%bcond_with	sdl		# SDL sound support
-%bcond_with	debug		# build with \--enable-debug
-				# (binary incompatible with non-debug)
+%bcond_without	sdl		# SDL sound support
+%bcond_with	debug		# build with \--enable-debug (binary incompatible with non-debug)
 #
 Summary:	wxWidgets library
 Summary(pl.UTF-8):	Biblioteka wxWidgets
 Name:		wxWidgets
-%define	majver	3.0
-Version:	3.0.5
-Release:	1
+%define	majver	3.2
+Version:	3.2.2.1
+Release:	0.1
 License:	wxWindows Library Licence 3.1 (LGPL v2+ with exception)
 Group:		X11/Libraries
 Source0:	https://github.com/wxWidgets/wxWidgets/releases/download/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5:	b4304777652acee8358066cdce5f6f27
+# Source0-md5:	45bd5f56a06e7c4ca7caf6c0b4d5d506
 Patch0:		%{name}-samples.patch
 Patch1:		%{name}-ac.patch
-Patch2:		%{name}-link.patch
-Patch3:		export-wxGetRootWindow.patch
-Patch4:		%{name}-c++.patch
-Patch5:		%{name}-gifdelay.patch
-Patch6:		relax-abicheck.patch
+Patch2:		%{name}-gifdelay.patch
+Patch3:		relax-abicheck.patch
+Patch4:		os-release.patch
+Patch5:		webkit2gtk4.1.patch
 URL:		http://www.wxWidgets.org/
 %{?with_directfb:BuildRequires:	DirectFB-devel >= 0.9.23}
 BuildRequires:	OpenGL-GLU-devel
@@ -33,17 +31,17 @@ BuildRequires:	OpenGL-GLU-devel
 BuildRequires:	autoconf >= 2.59-9
 BuildRequires:	automake
 # for m4 files
-BuildRequires:	bakefile >= 0.2.9
+BuildRequires:	bakefile >= 0.2.12
 BuildRequires:	cairo-devel
 BuildRequires:	cppunit-devel >= 1.8.0
 BuildRequires:	expat-devel
 BuildRequires:	gettext-tools
-BuildRequires:	gstreamer-devel >= 1.0
-BuildRequires:	gstreamer-plugins-base-devel >= 1.0
+BuildRequires:	gstreamer-devel >= 1.7.2
+BuildRequires:	gstreamer-plugins-base-devel >= 1.7.2
 BuildRequires:	gtk+2-devel >= 2:2.10
 %{?with_gtk3:BuildRequires:	gtk+3-devel >= 3.0}
 BuildRequires:	gtk-webkit-devel >= 1.3.1
-%{?with_gtk3:BuildRequires:	gtk-webkit3-devel >= 1.3.1}
+%{?with_gtk3:BuildRequires:	gtk-webkit4.1-devel}
 BuildRequires:	libjpeg-devel
 BuildRequires:	libmspack-devel
 BuildRequires:	libnotify-devel >= 0.7
@@ -62,6 +60,7 @@ BuildRequires:	xorg-lib-libXinerama-devel
 BuildRequires:	xorg-lib-libXt-devel
 BuildRequires:	xorg-lib-libXxf86vm-devel
 %endif
+BuildRequires:	xz-devel
 BuildRequires:	zlib-devel >= 1.1.4
 # these are not supported by wxWidgets
 Obsoletes:	LDAPExplorerTool <= 0.6-1
@@ -781,17 +780,15 @@ obsługą UNICODE.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-%patch6 -p1
 
 %{__rm} build/aclocal/bakefile*.m4
 
 %build
-%if "%(rpm -q bakefile --qf '%%{VERSION}')" != "0.2.9"
+%if "%(rpm -q bakefile --qf '%%{VERSION}')" != "0.2.13"
 cd build/bakefiles
 bakefile_gen -f autoconf
 cd ../..
 %endif
-cp -f /usr/share/automake/config.sub .
 %{__aclocal} -I build/aclocal
 %{__autoconf}
 
@@ -799,19 +796,23 @@ CPPFLAGS="%{rpmcppflags} %{rpmcflags} -Wno-narrowing -fPIC -I`pwd`/include"; exp
 # avoid adding -s to LDFLAGS
 LDFLAGS=" "; export LDFLAGS
 args="%{?with_debug:--enable-debug}%{!?with_debug:--disable-debug} \
+	--enable-ipv6 \
 	--enable-calendar \
 	--enable-controls \
 	--enable-plugins \
 	--enable-std_iostreams \
-	--enable-tabdialog \
 	--with-libmspack \
+	--with-liblzma \
+	--with-libpng \
+	--with-libjpeg \
+	--with-libtiff \
 	%{?with_sdl:--with-sdl} \
 	--with-opengl"
 
-for gui in '--with-gtk' %{?with_gtk3:'--with-gtk=3'} %{?with_motif:'--with-motif'} ; do
+for gui in '--with-gtk=2' %{?with_gtk3:'--with-gtk=3'} %{?with_motif:'--with-motif'} ; do
 for unicode in %{?with_ansi:'--disable-unicode'} '--enable-unicode' ; do
 	objdir=`echo obj${gui}${unicode}|sed 's/ /_/g'`
-	mkdir $objdir
+	mkdir -p $objdir
 	cd $objdir
 	../%configure \
 		${args} \
@@ -829,7 +830,7 @@ done
 for gui in %{?with_x11:'--with-x11'} %{?with_directfb:--with-directfb} ; do
 for unicode in %{?with_ansi:'--disable-unicode'} '--enable-unicode' ; do
 	objdir=`echo obj${gui}${unicode}|sed 's/ /_/g'`
-	mkdir $objdir
+	mkdir -p $objdir
 	cd $objdir
 	../%configure \
 		${args} \
@@ -837,11 +838,10 @@ for unicode in %{?with_ansi:'--disable-unicode'} '--enable-unicode' ; do
 		--enable-universal \
 		${unicode}
 	%{__make}
-	if echo $objdir| grep -q 'with-x11--disable-unicode' ; then
+	if echo $objdir| grep -q 'with-x11--enable-unicode' ; then
 		%{__make} -C utils
 		%{__make} -C utils/emulator
 		%{__make} -C utils/hhp2cached
-		# %{__make} -C contrib/utils
 	fi
 	cd ..
 done
@@ -854,7 +854,7 @@ done
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_bindir}
 
-for gui in '--with-gtk' %{?with_gtk3:'--with-gtk=3'} %{?with_motif:'--with-motif'} ; do
+for gui in '--with-gtk=2' %{?with_gtk3:'--with-gtk=3'} %{?with_motif:'--with-motif'} ; do
 for unicode in %{?with_ansi:'--disable-unicode'} '--enable-unicode' ; do
 	objdir=`echo obj${gui}${unicode}|sed 's/ /_/g'`
 	%{__make} -C $objdir install \
@@ -883,11 +883,10 @@ for unicode in %{?with_ansi:'--disable-unicode'} '--enable-unicode' ; do
 		mandir=$RPM_BUILD_ROOT%{_mandir} \
 		includedir=$RPM_BUILD_ROOT%{_includedir} \
 		LOCALE_MSW_LINGUAS=
-	if echo $objdir| grep -q 'with-x11--disable-unicode' ; then
+	if echo $objdir| grep -q 'with-x11--enable-unicode' ; then
 		# TODO: install default config files and default backgrouds
 		install utils/emulator/src/wxemulator $RPM_BUILD_ROOT%{_bindir}
 		install utils/hhp2cached/hhp2cached $RPM_BUILD_ROOT%{_bindir}
-		install utils/wxrc/wxrc $RPM_BUILD_ROOT%{_bindir}
 	fi
 	cd ..
 done
@@ -917,9 +916,9 @@ install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 cp -a demos samples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 cp -f docs/x11/readme.txt docs/wxX11-readme.txt
 
-rm -f $RPM_BUILD_ROOT%{_bindir}/wx-config
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/wx-config
 
-%find_lang wxstd
+%find_lang wxstd-%{majver}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -980,7 +979,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %define libflag %{?with_debug:d}
 
-%files -f wxstd.lang
+%files -f wxstd-%{majver}.lang
 %defattr(644,root,root,755)
 %doc docs/{changes,licence,licendoc,preamble,readme}.txt
 %dir %{_libdir}/wx
@@ -1268,7 +1267,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %ghost %{_libdir}/libwx_gtk3%{libflag}_webview-%{majver}.so.0
 %attr(755,root,root) %{_libdir}/libwx_gtk3%{libflag}_xrc-%{majver}.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libwx_gtk3%{libflag}_xrc-%{majver}.so.0
-%attr(755,root,root) %{_libdir}/wx/%{majver}/web-extensions/webkit2_ext-3.0.so
+%attr(755,root,root) %{_libdir}/wx/%{majver}/web-extensions/webkit2_ext-%{majver}.so
 
 %files -n wxGTK3-devel
 %defattr(644,root,root,755)
@@ -1324,7 +1323,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %ghost %{_libdir}/libwx_gtk3u%{libflag}_webview-%{majver}.so.0
 %attr(755,root,root) %{_libdir}/libwx_gtk3u%{libflag}_xrc-%{majver}.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libwx_gtk3u%{libflag}_xrc-%{majver}.so.0
-%attr(755,root,root) %{_libdir}/wx/%{majver}/web-extensions/webkit2_extu-3.0.so
+%attr(755,root,root) %{_libdir}/wx/%{majver}/web-extensions/webkit2_extu-%{majver}.so
 
 %files -n wxGTK3-unicode-devel
 %defattr(644,root,root,755)
@@ -1461,7 +1460,6 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %if %{with x11}
-%if %{with ansi}
 %files utils
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/hhp2cached
@@ -1469,6 +1467,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/wxrc
 %attr(755,root,root) %{_bindir}/wxrc-%{majver}
 
+%if %{with ansi}
 %files -n wxX11
 %defattr(644,root,root,755)
 %doc docs/wxX11-readme.txt
diff --git a/export-wxGetRootWindow.patch b/export-wxGetRootWindow.patch
deleted file mode 100644
index 3dddae4..0000000
--- a/export-wxGetRootWindow.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- wxWidgets-3.0.0/src/gtk/app.cpp~	2013-11-11 14:10:39.000000000 +0100
-+++ wxWidgets-3.0.0/src/gtk/app.cpp	2014-01-19 16:44:33.612093277 +0100
-@@ -168,7 +168,7 @@
- // Access to the root window global
- //-----------------------------------------------------------------------------
- 
--GtkWidget* wxGetRootWindow()
-+WXDLLIMPEXP_CORE GtkWidget* wxGetRootWindow()
- {
-     static GtkWidget *s_RootWindow = NULL;
- 
diff --git a/os-release.patch b/os-release.patch
new file mode 100644
index 0000000..3a0456f
--- /dev/null
+++ b/os-release.patch
@@ -0,0 +1,77 @@
+From 1b0c5d63f6269afa46d121c28160a339da5dd5b7 Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt at techie.net>
+Date: Fri, 14 Jul 2023 11:45:19 -0400
+Subject: [PATCH] Read Linux distribution info from os-release file
+
+The Linux distribution community has somewhat deprecated the lsb_release
+utility and has standardized on a new file, os-release, that can be
+simply parsed to get the same information.  Attempt to read this file in
+/etc/os-release, then /usr/lib/os-release, and finally, fall back to
+using the lsb_release utility if neither of those files are found.
+
+See: https://www.freedesktop.org/software/systemd/man/os-release.html
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2184391
+
+See #23712.
+
+(cherry picked from commit aef7df6c9f44f751d97f4f6519ae6e5c3b81019d)
+---
+ docs/changes.txt      |  1 +
+ src/unix/utilsunx.cpp | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 31 insertions(+)
+
+diff --git a/src/unix/utilsunx.cpp b/src/unix/utilsunx.cpp
+index ac5181e187f3..302aaa25b8f5 100644
+--- a/src/unix/utilsunx.cpp
++++ b/src/unix/utilsunx.cpp
+@@ -62,6 +62,8 @@
+ #include "wx/evtloop.h"
+ #include "wx/mstream.h"
+ #include "wx/private/fdioeventloopsourcehandler.h"
++#include "wx/config.h"
++#include "wx/filename.h"
+ 
+ #include <pwd.h>
+ #include <sys/wait.h>       // waitpid()
+@@ -1147,6 +1149,23 @@ wxString wxGetNativeCpuArchitectureName()
+ 
+ #ifdef __LINUX__
+ 
++static bool
++wxGetValuesFromOSRelease(const wxString& filename, wxLinuxDistributionInfo& ret)
++{
++    if ( !wxFileName::Exists(filename) )
++    {
++        return false;
++    }
++
++    wxFileConfig fc(wxEmptyString, wxEmptyString, wxEmptyString, filename);
++    ret.Id = fc.Read(wxS("ID"), wxEmptyString).Capitalize();
++    ret.Description = fc.Read(wxS("PRETTY_NAME"), wxEmptyString);
++    ret.Release = fc.Read(wxS("VERSION_ID"), wxEmptyString);
++    ret.CodeName = fc.Read(wxS("VERSION_CODENAME"), wxEmptyString);
++
++    return true;
++}
++
+ static bool
+ wxGetValueFromLSBRelease(const wxString& arg, const wxString& lhs, wxString* rhs)
+ {
+@@ -1161,6 +1180,17 @@ wxLinuxDistributionInfo wxGetLinuxDistributionInfo()
+ {
+     wxLinuxDistributionInfo ret;
+ 
++    // Read /etc/os-release and fall back to /usr/lib/os-release per below
++    // https://www.freedesktop.org/software/systemd/man/os-release.html
++    if ( wxGetValuesFromOSRelease(wxS("/etc/os-release"), ret) )
++    {
++        return ret;
++    }
++    if ( wxGetValuesFromOSRelease(wxS("/usr/lib/os-release"), ret) )
++    {
++        return ret;
++    }
++
+     if ( !wxGetValueFromLSBRelease(wxS("--id"), wxS("Distributor ID:\t"),
+                                    &ret.Id) )
+     {
diff --git a/relax-abicheck.patch b/relax-abicheck.patch
index 2ba14fe..1c4e618 100644
--- a/relax-abicheck.patch
+++ b/relax-abicheck.patch
@@ -1,35 +1,16 @@
-Description: Relax error about mismatching C++ ABI version to warning
- In practice, the differences between ABI versions 2 and 8 don't seem to be
- incompatible since they apparently only affect obscure corner cases.  So
- relax this error to a warning so we don't have to rebuild the entire wx world
- in one go.
-Author: Olly Betts <olly at survex.com>
-Forwarded: no
-Last-Update: 2015-06-29
-
---- wxwidgets3.0-3.0.2.orig/src/common/appbase.cpp
-+++ wxwidgets3.0-3.0.2/src/common/appbase.cpp
-@@ -762,6 +762,23 @@ bool wxAppConsoleBase::CheckBuildOptions
-         msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
-                    lib.c_str(), progName.c_str(), prog.c_str());
+diff -up wxWidgets-3.1.6/src/common/appbase.cpp.abicheck wxWidgets-3.1.6/src/common/appbase.cpp
+--- wxWidgets-3.1.6/src/common/appbase.cpp.abicheck	2022-04-04 09:41:33.000000000 -0400
++++ wxWidgets-3.1.6/src/common/appbase.cpp	2022-04-04 19:14:33.883814729 -0400
+@@ -843,11 +843,8 @@ bool wxAppConsoleBase::CheckBuildOptions
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
-+
-+	int l_off = lib.Find("compiler with C++ ABI ");
-+	int p_off = prog.Find("compiler with C++ ABI ");
-+	if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
-+	    int space;
-+	    space = lib.Find(' ', l_off);
-+	    lib.erase(l_off, space - l_off);
-+	    space = prog.Find(' ', l_off);
-+	    prog.erase(p_off, space - p_off);
-+	    if (lib == prog) {
-+		// Only difference is the ABI version, which apparently only
-+		// affect obscure cases, so just warn.
-+		wxLogWarning(msg.c_str());
-+		return false;
-+	    }
-+	}
-+
-         wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
+-
+-        // normally wxLogFatalError doesn't return
+-        return false;
+     }
  
-         // normally wxLogFatalError doesn't return
+     return true;
diff --git a/webkit2gtk4.1.patch b/webkit2gtk4.1.patch
new file mode 100644
index 0000000..1fe2cd1
--- /dev/null
+++ b/webkit2gtk4.1.patch
@@ -0,0 +1,164 @@
+From df46add1165314bce93d70e611ddc453561ffb60 Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt at 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;
diff --git a/wxWidgets-c++.patch b/wxWidgets-c++.patch
deleted file mode 100644
index dd53fde..0000000
--- a/wxWidgets-c++.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-.././src/dfb/bitmap.cpp:626:64: error: in C++98 'r' must be initialized by constructor, not by '{...}'
-     DFBRectangle r = { rect.x, rect.y, rect.width, rect.height };
-                                                                ^
-.././src/dfb/dc.cpp:707:47: error: in C++98 'srcRect' must be initialized by constructor, not by '{...}'
-     DFBRectangle srcRect = { srcx, srcy, w, h };
-                                               ^
-.././src/dfb/dc.cpp:709:61: error: in C++98 'dstRect' must be initialized by constructor, not by '{...}'
-                              XLOG2DEVREL(w), YLOG2DEVREL(h) };
-                                                             ^
-.././src/dfb/dcclient.cpp:170:62: error: in C++98 'dfbrect' must be initialized by constructor, not by '{...}'
-         DFBRectangle dfbrect = { r.x, r.y, r.width, r.height };
-                                                              ^
-.././src/dfb/nonownedwnd.cpp:348:67: error: in C++98 'r' must be initialized by constructor, not by '{...}'
-                    paintedRect.GetRight(), paintedRect.GetBottom()};
-                                                                   ^
-.././src/dfb/window.cpp:153:55: error: in C++98 'rect' must be initialized by constructor, not by '{...}'
-     DFBRectangle rect = { r.x, r.y, r.width, r.height };
-                                                       ^
-.././src/dfb/window.cpp:762:60: error: in C++98 'dfbRect' must be initialized by constructor, not by '{...}'
-                                  orect.width, orect.height };
-                                                            ^
-
---- wxWidgets-3.0.2/src/dfb/bitmap.cpp.orig	2014-10-06 23:33:44.000000000 +0200
-+++ wxWidgets-3.0.2/src/dfb/bitmap.cpp	2017-04-08 21:02:22.420076242 +0200
-@@ -623,7 +623,8 @@
- 
-     // NB: DirectFB subsurfaces share the same pixels buffer, so we must
-     //     clone the obtained subsurface
--    DFBRectangle r = { rect.x, rect.y, rect.width, rect.height };
-+    DFBRectangle r;
-+    r.x = rect.x; r.y = rect.y; r.w = rect.width; r.h = rect.height;
-     return wxBitmap(M_BITMAP->m_surface->GetSubSurface(&r)->Clone());
- }
- 
---- wxWidgets-3.0.2/src/dfb/dc.cpp.orig	2014-10-06 23:33:44.000000000 +0200
-+++ wxWidgets-3.0.2/src/dfb/dc.cpp	2017-04-08 22:30:42.656682391 +0200
-@@ -704,9 +704,9 @@
-     CalcBoundingBox(dstx, dsty);
-     CalcBoundingBox(dstx + w, dsty + h);
- 
--    DFBRectangle srcRect = { srcx, srcy, w, h };
--    DFBRectangle dstRect = { XLOG2DEV(dstx), YLOG2DEV(dsty),
--                             XLOG2DEVREL(w), YLOG2DEVREL(h) };
-+    DFBRectangle srcRect; srcRect.x = srcx; srcRect.y = srcy; srcRect.w = w; srcRect.h = h;
-+    DFBRectangle dstRect; dstRect.x = XLOG2DEV(dstx); dstRect.y = YLOG2DEV(dsty);
-+                          dstRect.w = XLOG2DEVREL(w); dstRect.h = YLOG2DEVREL(h);
- 
-     wxIDirectFBSurfacePtr dst(m_surface);
- 
---- wxWidgets-3.0.2/src/dfb/dcclient.cpp.orig	2014-10-06 23:33:44.000000000 +0200
-+++ wxWidgets-3.0.2/src/dfb/dcclient.cpp	2017-04-08 22:35:18.586679239 +0200
-@@ -167,7 +167,7 @@
-     else
-     {
-         m_winRect = r;
--        DFBRectangle dfbrect = { r.x, r.y, r.width, r.height };
-+        DFBRectangle dfbrect; dfbrect.x = r.x; dfbrect.y = r.y; dfbrect.w = r.width; dfbrect.h = r.height;
-         surface = win->GetDfbSurface()->GetSubSurface(&dfbrect);
- 
-         // if the DC was clipped thanks to rectPaint, we must adjust the
---- wxWidgets-3.0.2/src/dfb/nonownedwnd.cpp.orig	2014-10-06 23:33:44.000000000 +0200
-+++ wxWidgets-3.0.2/src/dfb/nonownedwnd.cpp	2017-04-08 22:37:43.196677588 +0200
-@@ -344,8 +344,8 @@
-     // do FlipToFront() for each of them, because that could result in visible
-     // updating of the screen; instead, we prefer to flip everything at once.
- 
--    DFBRegion r = {paintedRect.GetLeft(), paintedRect.GetTop(),
--                   paintedRect.GetRight(), paintedRect.GetBottom()};
-+    DFBRegion r; r.x1 = paintedRect.GetLeft(); r.y1 = paintedRect.GetTop();
-+                 r.x2 = paintedRect.GetRight(); r.y2 = paintedRect.GetBottom();
-     DFBRegion *rptr = (winRect == paintedRect) ? NULL : &r;
- 
-     GetDfbSurface()->FlipToFront(rptr);
---- wxWidgets-3.0.2/src/dfb/window.cpp.orig	2014-10-06 23:33:44.000000000 +0200
-+++ wxWidgets-3.0.2/src/dfb/window.cpp	2017-04-08 22:40:07.890009269 +0200
-@@ -150,7 +150,7 @@
- 
-     wxRect r(GetRect());
-     AdjustForParentClientOrigin(r.x, r.y, 0);
--    DFBRectangle rect = { r.x, r.y, r.width, r.height };
-+    DFBRectangle rect; rect.x = r.x; rect.y = r.y; rect.w = r.width; rect.h = r.height;
- 
-     return parentSurface->GetSubSurface(&rect);
- }
-@@ -758,8 +758,8 @@
-         if ( overlay->IsEmpty() )
-             continue; // nothing to paint
- 
--        DFBRectangle dfbRect = { orect.x - orectOrig.x, orect.y - orectOrig.y,
--                                 orect.width, orect.height };
-+        DFBRectangle dfbRect; dfbRect.x = orect.x - orectOrig.x; dfbRect.y = orect.y - orectOrig.y;
-+                              dfbRect.w = orect.width; dfbRect.h = orect.height;
-         GetDfbSurface()->Blit
-                          (
-                            overlay->GetDirectFBSurface(),
diff --git a/wxWidgets-gifdelay.patch b/wxWidgets-gifdelay.patch
index eae0c43..daa846b 100644
--- a/wxWidgets-gifdelay.patch
+++ b/wxWidgets-gifdelay.patch
@@ -21,4 +21,4 @@
 +        delay = 10;
      timer->Start(delay, true);
  }
- 
+ #endif
diff --git a/wxWidgets-link.patch b/wxWidgets-link.patch
deleted file mode 100644
index 7a27052..0000000
--- a/wxWidgets-link.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- wxWidgets-2.9.1/configure.in~	2011-02-25 10:15:34.175328030 +0100
-+++ wxWidgets-2.9.1/configure.in	2011-02-25 10:56:37.046283458 +0100
-@@ -7478,7 +7478,10 @@
-         fi
-     elif test "$wxUSE_GTK" = 1; then
-         PKG_CHECK_MODULES(CAIRO, cairo,
--            [wx_has_graphics=1],
-+            [
-+                wx_has_graphics=1
-+                LIBS="$LIBS `pkg-config pangocairo --libs`"
-+            ],
-             [AC_MSG_WARN([Cairo library not found])]
-         )
-     else
diff --git a/wxWidgets-samples.patch b/wxWidgets-samples.patch
index a3900d4..16d702c 100644
--- a/wxWidgets-samples.patch
+++ b/wxWidgets-samples.patch
@@ -1,7 +1,7 @@
 --- wxWidgets-2.5.4/configure.in~	2005-02-28 15:03:24.811627176 +0100
 +++ wxWidgets-2.5.4/configure.in	2005-02-28 15:08:28.636438784 +0100
 @@ -5069,7 +5069,7 @@
-         fi
+         AC_DEFINE(HAVE_NL_TIME_FIRST_WEEKDAY)
      fi
  
 -    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/wxWidgets.git/commitdiff/8c83cec1161903cb3ed02700a40e0208910de4c9



More information about the pld-cvs-commit mailing list