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
5 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-e4293e9.tar.gz
/wxWidgets-3.0.3.tar.bz2 /wxWidgets-3.0.3.tar.bz2
/wxWidgets-3.0.4.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 if [ -x $wxconfig ]; then
exec $wxconfig $@ exec $wxconfig $@
else else
echo "wxWidgets3-devel isn't installed for architecture '$arch'" echo "wxGTK3-devel isn't installed for architecture '$arch'"
exit 9 exit 9
fi fi

@ -1,14 +1,38 @@
--- wxWidgets-3.0.2/src/common/appbase.cpp.abicheck 2015-05-28 12:36:40.697163073 +0900 Description: Suppress error about mismatching C++ ABI version
+++ wxWidgets-3.0.2/src/common/appbase.cpp 2015-05-28 12:38:30.597154298 +0900 In practice, the differences between recent ABI versions don't seem to be
@@ -762,10 +762,7 @@ 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."), 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()); lib.c_str(), progName.c_str(), prog.c_str());
- wxLogFatalError(msg.c_str()); + int l_off = lib.Find("compiler with C++ ABI ");
- + int p_off = prog.Find("compiler with C++ ABI ");
- // normally wxLogFatalError doesn't return + if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
- return false; + int space;
+ wxLogWarning(msg.c_str()); + 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 %global builddocs 1
Name: %{wxgtkname} Name: %{wxgtkname}
Version: 3.0.4 Version: 3.0.5.1
Release: 10%{?snapshottag}%{?dist} Release: 6%{?snapshottag}%{?dist}
Summary: GTK port of the wxWidgets GUI library Summary: GTK port of the wxWidgets GUI library
License: wxWidgets License: wxWidgets
URL: https://www.wxwidgets.org/ URL: https://www.wxwidgets.org/
@ -38,8 +38,9 @@ Source10: wx-config
Patch0: %{name}-3.0.3-abicheck.patch Patch0: %{name}-3.0.3-abicheck.patch
Patch1: fix-filename-test.patch Patch1: fix-filename-test.patch
Patch2: fix-vararg-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: gcc-c++
BuildRequires: gtk2-devel BuildRequires: gtk2-devel
BuildRequires: gtk3-devel BuildRequires: gtk3-devel
@ -53,7 +54,6 @@ BuildRequires: SDL2-devel
BuildRequires: libGLU-devel BuildRequires: libGLU-devel
BuildRequires: libSM-devel BuildRequires: libSM-devel
BuildRequires: gstreamer1-plugins-base-devel BuildRequires: gstreamer1-plugins-base-devel
BuildRequires: GConf2-devel
BuildRequires: gettext BuildRequires: gettext
BuildRequires: cppunit-devel BuildRequires: cppunit-devel
BuildRequires: libmspack-devel BuildRequires: libmspack-devel
@ -89,7 +89,8 @@ ranging from networking to HTML display and image manipulation.
%package -n %{wxbasename}-devel %package -n %{wxbasename}-devel
Summary: Development files for the wxBase3 library Summary: Development files for the wxBase3 library
Requires: %{wxbasename}%{?_isa} = %{version}-%{release} 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 %description -n %{wxbasename}-devel
This package include files needed to link with the wxBase3 library. This package include files needed to link with the wxBase3 library.
@ -326,9 +327,15 @@ popd
##Remove installed ##Remove installed
rm %{buildroot}%{_bindir}/wx-config rm %{buildroot}%{_bindir}/wx-config
##Install new and symlink ##Install new and symlink
install -p -D -m 755 %{SOURCE10} %{buildroot}%{_bindir}/wx-config-3.0 install -p -D -m 755 %{SOURCE10} %{buildroot}%{_libexecdir}/%{name}/wx-config
sed -i -e 's|=/usr|=%{_prefix}|' %{buildroot}%{_bindir}/wx-config-3.0 sed -i -e 's|=/usr|=%{_prefix}|' %{buildroot}%{_libexecdir}/%{name}/wx-config
ln -s wx-config-3.0 %{buildroot}%{_bindir}/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.* # move bakefiles to avoid conflicts with 2.8.*
mkdir %{buildroot}%{_datadir}/bakefile/presets/wx3 mkdir %{buildroot}%{_datadir}/bakefile/presets/wx3
@ -341,20 +348,27 @@ cat wxmsw3.lang >> wxstd3.lang
%check %check
pushd %{gtk2dir}/tests pushd %{gtk2dir}/tests
make %{?_smp_mflags} make %{?_smp_mflags}
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./test LD_LIBRARY_PATH=%{buildroot}%{_libdir} TZ=UTC ./test
popd popd
pushd %{gtk3dir}/tests pushd %{gtk3dir}/tests
make %{?_smp_mflags} make %{?_smp_mflags}
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./test LD_LIBRARY_PATH=%{buildroot}%{_libdir} TZ=UTC ./test
popd popd
# Drop the pre script in F32 %post -n %{wxbasename}-devel
%pre -n %{wxbasename}-devel if [ -f %{_bindir}/wx-config ] && [ ! -h %{_bindir}/wx-config ] ; then
if [ $1 -gt 1 ] ; then rm %{_bindir}/wx-config
# Remove obsolete wx-config and wxrc alternatives fi
/usr/sbin/update-alternatives --remove wx-config %{_libexecdir}/%{name}/wx-config >& /dev/null ||: /usr/sbin/update-alternatives --install %{_bindir}/wx-config \
/usr/sbin/update-alternatives --remove wxrc %{_libexecdir}/%{name}/wxrc >& /dev/null ||: 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 fi
%files %files
@ -386,10 +400,10 @@ fi
%{_libdir}/libwx_gtk2u_xrc-*.so.* %{_libdir}/libwx_gtk2u_xrc-*.so.*
%files -n %{wxbasename}-devel %files -n %{wxbasename}-devel
%{_bindir}/wx-config %ghost %{_bindir}/wx-config
%{_bindir}/wx-config-3.0 %ghost %{_bindir}/wxrc
%{_bindir}/wxrc
%{_bindir}/wxrc-3.0 %{_bindir}/wxrc-3.0
%{_bindir}/wx-config-3.0
%{_includedir}/wx-3.0 %{_includedir}/wx-3.0
%{_libdir}/libwx_baseu*.so %{_libdir}/libwx_baseu*.so
%dir %{_libdir}/wx %dir %{_libdir}/wx
@ -400,6 +414,7 @@ fi
#Exclude some python bitecode #Exclude some python bitecode
%exclude %{_datadir}/bakefile/presets/wx3/*.pyc %exclude %{_datadir}/bakefile/presets/wx3/*.pyc
%exclude %{_datadir}/bakefile/presets/wx3/*.pyo %exclude %{_datadir}/bakefile/presets/wx3/*.pyo
%{_libexecdir}/%{name}
%files devel %files devel
%{_libdir}/libwx_gtk3u_*.so %{_libdir}/libwx_gtk3u_*.so
@ -441,6 +456,39 @@ fi
%doc html %doc html
%changelog %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 * Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

Loading…
Cancel
Save