Compare commits

...

12 Commits
epel8 ... epel9

Author SHA1 Message Date
Orion Poplawski e2ac132014 Drop unused BR on GConf2-devel
3 years ago
Fedora Release Engineering 0fafbd88d1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
4 years ago
Scott Talbert 6165d7c42a Adobt Debian patch to avoid warning on C++ ABI mismatches (#1957142)
4 years ago
Fedora Release Engineering a8ca135bc1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
4 years ago
Tom Stellard 64cf806507 Add BuildRequires: make
4 years ago
Fedora Release Engineering 9b33e9c28e - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
4 years ago
Scott Talbert e6508ded9b Update to new upstream release 3.0.5.1
5 years ago
Scott Talbert 5deb323f7e Bring back alternatives system for wx-config and wxrc
5 years ago
Scott Talbert dab268033e Update wx-config error message when wxGTK3-devel is missing (#1795500)
5 years ago
Fedora Release Engineering b6ad472238 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
5 years ago
Scott Talbert 4ce19f9b88 Incorporate patch from Debian to force X11 when using wxGLCanvas
5 years ago
Scott Talbert 3f46e867bf Force timezone to UTC when running tests (#1753405)
5 years ago

1
.gitignore vendored

@ -9,3 +9,4 @@
/wxWidgets-e4293e9.tar.gz
/wxWidgets-3.0.3.tar.bz2
/wxWidgets-3.0.4.tar.bz2
/wxWidgets-3.0.5.1.tar.bz2

@ -1,52 +0,0 @@
From 76c393b8bd1968dcf18e2c93f1c37d1c58215d4f Mon Sep 17 00:00:00 2001
From: Scott Talbert <swt@techie.net>
Date: Wed, 1 Aug 2018 20:52:11 -0700
Subject: [PATCH] Give an error when trying to use wxGLCanvas on non-X11
display
Currently, wxGLCanvas on wxGTK is only supported on X11 displays. If a
user attempts to use wxGLCanvas on Wayland, for example, the application
will core dump. This change adds an error message and a suggested
workaround until wxGLCanvas is supported on Wayland.
See #17702
See https://github.com/wxWidgets/wxWidgets/pull/871
(backport of 95857a1f71bd0c19e3059ebf0eea28e9bb8b7602)
---
src/gtk/glcanvas.cpp | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/gtk/glcanvas.cpp b/src/gtk/glcanvas.cpp
index d4acb9c8c2a..0953be61807 100644
--- a/src/gtk/glcanvas.cpp
+++ b/src/gtk/glcanvas.cpp
@@ -208,6 +208,19 @@ wxGLCanvas::wxGLCanvas(wxWindow *parent,
#endif // WXWIN_COMPATIBILITY_2_8
+static bool IsAvailable()
+{
+#ifdef GDK_WINDOWING_X11
+ if ( !GDK_IS_X11_DISPLAY(gdk_display_get_default()) )
+#endif
+ {
+ wxSafeShowMessage(_("Fatal Error"), _("wxGLCanvas is only supported on X11 currently. You may be able to\nwork around this by setting environment variable GDK_BACKEND=x11 before starting\nyour program."));
+ return false;
+ }
+
+ return true;
+}
+
bool wxGLCanvas::Create(wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
@@ -217,6 +230,9 @@ bool wxGLCanvas::Create(wxWindow *parent,
const int *attribList,
const wxPalette& palette)
{
+ if ( !IsAvailable() )
+ return false;
+
#if wxUSE_PALETTE
wxASSERT_MSG( !palette.IsOk(), wxT("palettes not supported") );
#endif // wxUSE_PALETTE

@ -0,0 +1,27 @@
Description: Force X11 if wx GL library is loaded
Author: Olly Betts <olly@survex.com>
Bug: https://trac.wxwidgets.org/ticket/17702
Bug-Debian: https://bugs.debian.org/900678
Forwarded: no
Last-Update: 2019-08-13
--- a/src/gtk/glcanvas.cpp
+++ b/src/gtk/glcanvas.cpp
@@ -19,6 +19,17 @@
#include <gdk/gdkx.h>
#include "wx/gtk/private/gtk2-compat.h"
+#if GTK_CHECK_VERSION(3,10,0)
+// wxGTK's wxGLCanvas requires X11 currently, so tell GDK that so under
+// Wayland the app is still run using X11. We put this here so it's
+// only run when the wx GL library is loaded (in a monolithic build this
+// will always be active if wx's GL support is enabled).
+struct ForceX11 {
+ ForceX11() { gdk_set_allowed_backends("x11"); }
+};
+static ForceX11 forcex11;
+#endif
+
#if WXWIN_COMPATIBILITY_2_8
//-----------------------------------------------------------------------------

@ -1 +1 @@
SHA512 (wxWidgets-3.0.4.tar.bz2) = c9e6b35d541a99921c54cfdac260843f574f146b27f924a7a0fca5007344fa99865a96ded95e6802329ad9221b4880d62b92277a1b4c1ce71420acb672ad9158
SHA512 (wxWidgets-3.0.5.1.tar.bz2) = 0a789fc5e71d414e43f75b5c16076fe8b1bcd7671be0770e4269dcef66d830c1bc74e183f49db270b928862f13472666c283fe2aa98b9006681722e06100725d

@ -46,6 +46,6 @@ fi
if [ -x $wxconfig ]; then
exec $wxconfig $@
else
echo "wxWidgets3-devel isn't installed for architecture '$arch'"
echo "wxGTK3-devel isn't installed for architecture '$arch'"
exit 9
fi

@ -1,14 +1,38 @@
--- wxWidgets-3.0.2/src/common/appbase.cpp.abicheck 2015-05-28 12:36:40.697163073 +0900
+++ wxWidgets-3.0.2/src/common/appbase.cpp 2015-05-28 12:38:30.597154298 +0900
@@ -762,10 +762,7 @@
Description: Suppress error about mismatching C++ ABI version
In practice, the differences between recent ABI versions don't seem to be
incompatible since they apparently only affect obscure corner cases. So
suppress this error so we don't have to rebuild the entire wx world in one
go.
Author: Olly Betts <olly@survex.com>
Forwarded: no
Last-Update: 2017-07-26
--- a/src/common/appbase.cpp
+++ b/src/common/appbase.cpp
@@ -766,6 +766,26 @@
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());
- wxLogFatalError(msg.c_str());
-
- // normally wxLogFatalError doesn't return
- return false;
+ wxLogWarning(msg.c_str());
}
+ 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 + 22);
+ lib.erase(l_off, space - l_off);
+ space = prog.find(',', p_off + 22);
+ prog.erase(p_off, space - p_off);
+ if (lib == prog) {
+ // The only difference is the ABI version, which apparently only
+ // affect obscure cases. We used to warn here, so at least
+ // there was an indication of what's up if there is a problem
+ // due to ABI incompatibilities, but wxLogWarning() can result
+ // in a pop up dialog with some applications, which is just too
+ // intrusive, so just quietly ignore instead.
+ //wxLogWarning(msg.c_str());
+ return false;
+ }
+ }
+
wxLogFatalError(msg.c_str());
return true;
// normally wxLogFatalError doesn't return

@ -17,8 +17,8 @@
%global builddocs 1
Name: %{wxgtkname}
Version: 3.0.4
Release: 10%{?snapshottag}%{?dist}
Version: 3.0.5.1
Release: 6%{?snapshottag}%{?dist}
Summary: GTK port of the wxWidgets GUI library
License: wxWidgets
URL: https://www.wxwidgets.org/
@ -38,8 +38,9 @@ Source10: wx-config
Patch0: %{name}-3.0.3-abicheck.patch
Patch1: fix-filename-test.patch
Patch2: fix-vararg-test.patch
Patch3: fix-glcanvas-crash-wayland.patch
Patch3: force-x11-for-wxgl.patch
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: gtk2-devel
BuildRequires: gtk3-devel
@ -53,7 +54,6 @@ BuildRequires: SDL2-devel
BuildRequires: libGLU-devel
BuildRequires: libSM-devel
BuildRequires: gstreamer1-plugins-base-devel
BuildRequires: GConf2-devel
BuildRequires: gettext
BuildRequires: cppunit-devel
BuildRequires: libmspack-devel
@ -89,7 +89,8 @@ ranging from networking to HTML display and image manipulation.
%package -n %{wxbasename}-devel
Summary: Development files for the wxBase3 library
Requires: %{wxbasename}%{?_isa} = %{version}-%{release}
Requires(pre): /usr/sbin/update-alternatives
Requires(post): /usr/sbin/update-alternatives
Requires(postun): /usr/sbin/update-alternatives
%description -n %{wxbasename}-devel
This package include files needed to link with the wxBase3 library.
@ -326,9 +327,15 @@ popd
##Remove installed
rm %{buildroot}%{_bindir}/wx-config
##Install new and symlink
install -p -D -m 755 %{SOURCE10} %{buildroot}%{_bindir}/wx-config-3.0
sed -i -e 's|=/usr|=%{_prefix}|' %{buildroot}%{_bindir}/wx-config-3.0
ln -s wx-config-3.0 %{buildroot}%{_bindir}/wx-config
install -p -D -m 755 %{SOURCE10} %{buildroot}%{_libexecdir}/%{name}/wx-config
sed -i -e 's|=/usr|=%{_prefix}|' %{buildroot}%{_libexecdir}/%{name}/wx-config
ln -s ../..%{_libexecdir}/%{name}/wx-config %{buildroot}%{_bindir}/wx-config-3.0
touch %{buildroot}%{_bindir}/wx-config
#Alternatives setup with wxrc
mv %{buildroot}%{_bindir}/wxrc* %{buildroot}%{_libexecdir}/%{name}
ln -s ../..%{_libexecdir}/%{name}/wxrc-3.0 %{buildroot}%{_bindir}/wxrc-3.0
touch %{buildroot}%{_bindir}/wxrc
# move bakefiles to avoid conflicts with 2.8.*
mkdir %{buildroot}%{_datadir}/bakefile/presets/wx3
@ -341,20 +348,27 @@ cat wxmsw3.lang >> wxstd3.lang
%check
pushd %{gtk2dir}/tests
make %{?_smp_mflags}
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./test
LD_LIBRARY_PATH=%{buildroot}%{_libdir} TZ=UTC ./test
popd
pushd %{gtk3dir}/tests
make %{?_smp_mflags}
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./test
LD_LIBRARY_PATH=%{buildroot}%{_libdir} TZ=UTC ./test
popd
# Drop the pre script in F32
%pre -n %{wxbasename}-devel
if [ $1 -gt 1 ] ; then
# Remove obsolete wx-config and wxrc alternatives
/usr/sbin/update-alternatives --remove wx-config %{_libexecdir}/%{name}/wx-config >& /dev/null ||:
/usr/sbin/update-alternatives --remove wxrc %{_libexecdir}/%{name}/wxrc >& /dev/null ||:
%post -n %{wxbasename}-devel
if [ -f %{_bindir}/wx-config ] && [ ! -h %{_bindir}/wx-config ] ; then
rm %{_bindir}/wx-config
fi
/usr/sbin/update-alternatives --install %{_bindir}/wx-config \
wx-config %{_libexecdir}/%{name}/wx-config 30
/usr/sbin/update-alternatives --install %{_bindir}/wxrc \
wxrc %{_libexecdir}/%{name}/wxrc 30
%postun -n %{wxbasename}-devel
if [ $1 -eq 0 ] ; then
/usr/sbin/update-alternatives --remove wx-config %{_libexecdir}/%{name}/wx-config
/usr/sbin/update-alternatives --remove wxrc %{_libexecdir}/%{name}/wxrc
fi
%files
@ -386,10 +400,10 @@ fi
%{_libdir}/libwx_gtk2u_xrc-*.so.*
%files -n %{wxbasename}-devel
%{_bindir}/wx-config
%{_bindir}/wx-config-3.0
%{_bindir}/wxrc
%ghost %{_bindir}/wx-config
%ghost %{_bindir}/wxrc
%{_bindir}/wxrc-3.0
%{_bindir}/wx-config-3.0
%{_includedir}/wx-3.0
%{_libdir}/libwx_baseu*.so
%dir %{_libdir}/wx
@ -400,6 +414,7 @@ fi
#Exclude some python bitecode
%exclude %{_datadir}/bakefile/presets/wx3/*.pyc
%exclude %{_datadir}/bakefile/presets/wx3/*.pyo
%{_libexecdir}/%{name}
%files devel
%{_libdir}/libwx_gtk3u_*.so
@ -441,6 +456,39 @@ fi
%doc html
%changelog
* Mon Dec 06 2021 Orion Poplawski <orion@nwra.com> - 3.0.5.1-6
- Drop unused BR on GConf2-devel
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu May 06 2021 Scott Talbert <swt@techie.net> - 3.0.5.1-4
- Adobt Debian patch to avoid warning on C++ ABI mismatches (#1957142)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun May 10 2020 Scott Talbert <swt@techie.net> - 3.0.5.1-1
- Update to new upstream release 3.0.5.1
* Fri Mar 13 2020 Scott Talbert <swt@techie.net> - 3.0.4-15
- Bring back alternatives system for wx-config and wxrc
* Fri Jan 31 2020 Scott Talbert <swt@techie.net> - 3.0.4-14
- Update wx-config error message when wxGTK3-devel is missing (#1795500)
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 22 2019 Scott Talbert <swt@techie.net> - 3.0.4-12
- Incorporate patch from Debian to force X11 when using wxGLCanvas
* Thu Sep 19 2019 Scott Talbert <swt@techie.net> - 3.0.4-11
- Force timezone to UTC when running tests (#1753405)
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

Loading…
Cancel
Save