From 42d9f00cfdb79ddca4c2ef6de878d5c193f5413b Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 19:30:41 +0100 Subject: [PATCH] revert to using autotools because cmake does not build libraries with version information [release 3.2.1-4mamba;Fri Jan 06 2023] --- README.md | 3 + wxWidgets-3.0.2-gcc-6.1.0.patch | 39 ++ ...dgets-3.0.2-make-abi-check-not-fatal.patch | 15 + wxwidgets.spec | 471 ++++++++++++++++++ 4 files changed, 528 insertions(+) create mode 100644 wxWidgets-3.0.2-gcc-6.1.0.patch create mode 100644 wxWidgets-3.0.2-make-abi-check-not-fatal.patch create mode 100644 wxwidgets.spec diff --git a/README.md b/README.md index 7eb7418..e474e21 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # wxwidgets +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif/LessTif, MS Windows, Mac) from the same source code. + diff --git a/wxWidgets-3.0.2-gcc-6.1.0.patch b/wxWidgets-3.0.2-gcc-6.1.0.patch new file mode 100644 index 0000000..119175c --- /dev/null +++ b/wxWidgets-3.0.2-gcc-6.1.0.patch @@ -0,0 +1,39 @@ +From 73e9e18ea09ffffcaac50237def0d9728a213c02 Mon Sep 17 00:00:00 2001 +From: Scott Talbert +Date: Sat, 20 Feb 2016 00:08:14 -0500 +Subject: [PATCH] Fix STC compilation with GCC6 + +Use std::abs() from instead of abs() from to avoid problems +with ambiguous overloads. + +Closes #17147. + +Closes https://github.com/wxWidgets/wxWidgets/pull/222 +--- + src/stc/scintilla/src/Editor.cxx | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/stc/scintilla/src/Editor.cxx b/src/stc/scintilla/src/Editor.cxx +index cd72953..2081df2 100644 +--- a/src/stc/scintilla/src/Editor.cxx ++++ b/src/stc/scintilla/src/Editor.cxx +@@ -11,6 +11,7 @@ + #include + #include + ++#include + #include + #include + #include +@@ -5841,9 +5842,9 @@ void Editor::GoToLine(int lineNo) { + } + + static bool Close(Point pt1, Point pt2) { +- if (abs(pt1.x - pt2.x) > 3) ++ if (std::abs(pt1.x - pt2.x) > 3) + return false; +- if (abs(pt1.y - pt2.y) > 3) ++ if (std::abs(pt1.y - pt2.y) > 3) + return false; + return true; + } diff --git a/wxWidgets-3.0.2-make-abi-check-not-fatal.patch b/wxWidgets-3.0.2-make-abi-check-not-fatal.patch new file mode 100644 index 0000000..97055ba --- /dev/null +++ b/wxWidgets-3.0.2-make-abi-check-not-fatal.patch @@ -0,0 +1,15 @@ +diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp +--- wxGTK-2.8.12/src/common/appbase.cpp.abicheck 2015-03-12 17:15:18.000000000 +0100 ++++ wxGTK-2.8.12/src/common/appbase.cpp 2015-03-12 17:15:57.000000000 +0100 +@@ -424,10 +424,7 @@ bool wxAppConsole::CheckBuildOptions(con + msg.Printf(_T("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()); + } + #undef wxCMP + diff --git a/wxwidgets.spec b/wxwidgets.spec new file mode 100644 index 0000000..3c94af0 --- /dev/null +++ b/wxwidgets.spec @@ -0,0 +1,471 @@ +%define majversion %(echo %version | cut -d. -f1-2) +%define majver %(echo %version | cut -d. -f1-3) + +Name: wxwidgets +Version: 3.2.1 +Release: 4mamba +Summary: GTK+ port of the wxWidgets library +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://rcialisgl.com/ +Source: https://github.com/wxWidgets/wxWidgets.git/v%{version}/wxWidgets-%{version}.tar.bz2 +Patch0: wxWidgets-3.0.2-gcc-6.1.0.patch +Patch1: wxWidgets-3.0.2-make-abi-check-not-fatal.patch +License: LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: gst-plugins-bad-devel +BuildRequires: libGConf-devel +BuildRequires: libGLU-devel +BuildRequires: libSDL2-devel +BuildRequires: libSM-devel +BuildRequires: libX11-devel +BuildRequires: libXtst-devel +BuildRequires: libXxf86vm-devel +BuildRequires: libat-spi2-core-devel +BuildRequires: libcairo-devel +BuildRequires: libcurl-devel +BuildRequires: libenchant-devel +BuildRequires: libexpat-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libgcc +BuildRequires: libgdk-pixbuf-devel +BuildRequires: libglib-devel +BuildRequires: libglvnd-devel +BuildRequires: libgnome-vfs-devel +BuildRequires: libgspell-devel +BuildRequires: libgst-plugins-base-devel +BuildRequires: libgstreamer-devel +BuildRequires: libgtk3-devel +BuildRequires: libharfbuzz-devel +BuildRequires: libjbig-devel +BuildRequires: libjpeg-devel +BuildRequires: libmspack-devel +BuildRequires: libnotify-devel +BuildRequires: libpango-devel +BuildRequires: libpng-devel +BuildRequires: libsecret-devel +BuildRequires: libsoup2-devel +BuildRequires: libstdc++6-devel +BuildRequires: libtiff-devel +BuildRequires: libwayland-devel +BuildRequires: libwayland-egl-devel +BuildRequires: libwebkit2gtk-devel +BuildRequires: libz-devel +BuildRequires: qt5-qtbase-devel +## AUTOBUILDREQ-END +BuildRequires: xorg-proto-devel +#BuildRequires: libesound-devel +#BuildRequires: libgnomecanvas-devel +BuildRequires: bison +BuildRequires: flex +BuildRequires: libcppunit-devel +Requires: %{name}-i18n = %{?epoch:%epoch:}%{version}-%{release} +Provides: libwx_base +Obsoletes: libwx_base < 3.1.3 +Provides: libwx_baseu +Obsoletes: libwx_baseu < 3.2.1-2mamba + +%description +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif/LessTif, MS Windows, Mac) from the same source code. + +%package devel +Summary: Common headers files and static libraries for %{wxMain} +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-gtk3 = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} +Provides: libwx_base-devel +Obsoletes: libwx_base-devel < 3.1.3 +Provides: libwx_baseu-devel +Obsoletes: libwx_baseu-devel < 3.2.1-2mamba +Provides: lib%{name}-devel +Provides: wxWidgets-devel +Obsoletes: wxWidgets-devel < 3.2.1-2mamba +Conflicts: libWxGTK-devel + +%description devel +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code. +This package contains common static libraries and header files need for development. + +%package examples +Summary: wxGTK example programs +Group: Development/Libraries +Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} +Provides: wxWidgets-examples +Obsoletes: wxWidgets-examples < 3.2.1-2mamba + +%description examples +wxBase and wxGTK example programs. + +%package i18n +Summary: The translations for the wxWidgets library +Group: System/Internationalization +Provides: wxWidgets-i18n +Obsoletes: wxWidgets-i18n < 3.2.1-2mamba + +%description i18n +The translations files for the wxWidgets library. + +%package gtk3 +Summary: GTK+3 port of the wxWidgets library +Group: System/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: libwxGTKu = %{?epoch:%epoch:}%{version}-%{release} +Provides: libwx_gtk3 +Obsoletes: libwx_gtk3 < 3.1.3 +Provides: libwx_gtk3u +Obsoletes: libwx_gtk3u < 3.2.1-2mamba + +%description gtk3 +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code. +This package contains the Gtk3 port of wxWidgets. + +%package gtk3-devel +Summary: Headers files and static libraries for %{wxGTKu_name} +Group: Development/Libraries +Requires: %{name}-gtk3 = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} +Provides: libwx_gtk3-devel +Obsoletes: libwx_gtk3-devel < 3.1.3 +Provides: libwx_gtk3u-devel +Obsoletes: libwx_gtk3u-devel < 3.2.1-2mamba + +%description gtk3-devel +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code. +This package contains static libraries and header files needed for development with the Gtk+3 port of wxGTK. + +%package qt5 +Summary: Qt5 port of the wxWidgets library +Group: System/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description qt5 +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code. +This package contains the Qt5 port of wxWidgets. + +%package qt5-devel +Summary: Headers files and static libraries for %{name}-qt5 +Group: Development/Libraries +Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} + +%description qt5-devel +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code. +This package contains static libraries and header files needed for development with the Qt5 port of wxWidgets. + +%debug_package + +# Don't clean build at the end +%global __spec_rmbuild_cmd /bin/true + +%prep +%setup -q -n wxWidgets-%{version} +#-D -T +#:<< _EOF +#%patch0 -p1 +#%patch1 -p1 +# FIXME: cmake build system doesn't support custom libdir +sed -i "s|/usr/lib$|%{_libdir}|" wx-config.in +sed -i "s|/lib)|/%{_lib})|" CMakeLists.txt +sed -i "s|lib\\\$|%{_lib}$|" build/cmake/functions.cmake +sed -i "s|CMAKE_INSTALL_PREFIX}/lib/|CMAKE_INSTALL_PREFIX}/%{_lib}/|" build/cmake/install.cmake +sed -i "s|lib/|%{_lib}/|" build/cmake/install.cmake build/cmake/lib/webview/CMakeLists.txt + +%build +#:<< _EOF +mkdir -p build-gtk3 +cd build-gtk3 +ln -s ../configure . +%configure \ + --with-gtk=3 \ + --enable-unicode \ + --enable-plugins \ + --enable-shared \ + --enable-mediactrl \ + --enable-printfposparam \ + --enable-mediactrl \ + --enable-webview \ + --enable-graphics_ctx \ + --with-regex=builtin \ + --with-libpng=sys \ + --with-libjpeg=sys \ + --with-libtiff=sys \ + --with-regex=builtin \ + --with-zlib=sys \ + --with-opengl \ + --with-sdl \ + --with-libmspack \ + --with-gnomevfs \ + --enable-optimise + +%make +cd .. + +mkdir -p build-qt5 +cd build-qt5 +ln -s ../configure . +%configure \ + --with-qt \ + --enable-unicode \ + --enable-plugins \ + --enable-shared \ + --enable-mediactrl \ + --enable-printfposparam \ + --enable-mediactrl \ + --enable-webview \ + --enable-graphics_ctx \ + --with-regex=builtin \ + --with-libpng=sys \ + --with-libjpeg=sys \ + --with-libtiff=sys \ + --with-regex=builtin \ + --with-zlib=sys \ + --with-opengl \ + --with-sdl \ + --with-libmspack \ + --with-gnomevfs \ + --enable-optimise + +%make +cd .. + +#% make -C contrib/src +%make -C locale allmo + +%install +[ "%{buildroot}" != / ] && rm -rf %{buildroot} +%makeinstall -C build-qt5 + +#mv %{buildroot}%{_libdir}/cmake/wxWidgets{,Qt} +#for _f in %{buildroot}%{_libdir}/cmake/wxWidgetsQt/*; do +# mv $_f $(dirname $_f)/$(basename $_f | sed -e 's/wxWidgets/wxWidgetsQt/') +#done + +%makeinstall locale_install -C build-gtk3 + +ln -s wxrc-%{majversion} %{buildroot}%{_bindir}/wxrc-%{majversion}-unicode + +rm -f %{buildroot}%{_bindir}/wxrc + +ln -sf %{_libdir}/wx/config/gtk3-unicode-%{majversion} \ + %{buildroot}%{_bindir}/wx-config-unicode-3 + +ln -sf %{_libdir}/wx/config/qt-unicode-%{majversion} \ + %{buildroot}%{_bindir}/wx-config-qt-unicode-3 + +rm -f %{buildroot}%{_bindir}/wx-config + +install -d %{buildroot}%{_datadir}/wx/examples/src +cp -a demos samples %{buildroot}%{_datadir}/wx/examples + +%find_lang %{name} --all-name +#rm -f %{buildroot}%{_datadir}/locale/it/LC_MESSAGES/wxmsw.mo + +%clean +[ "%{buildroot}" != / ] && rm -rf %{buildroot} + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%post devel +/usr/sbin/update-alternatives --install \ + %{_bindir}/wx-config wx-config %{_bindir}/wx-config-unicode-3 50 \ + --slave %{_bindir}/wxrc wxrc %{_bindir}/wxrc-%{majversion}-unicode +: + +%postun devel +if [ "$1" = "0" ]; then + /usr/sbin/update-alternatives --remove wx-config \ + %{_bindir}/wx-config-unicode-3 +fi +: + +%post gtk3 -p /sbin/ldconfig +%postun gtk3 -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_libdir}/libwx_baseu-%{majversion}.so.* +%{_libdir}/libwx_baseu_net-%{majversion}.so.* +%{_libdir}/libwx_baseu_xml-%{majversion}.so.* +#%{_libdir}/wx/%{majversion}/sound_sdlu-%{majversion}.so +%{_libdir}/wx/%{majversion}/web-extensions/webkit2_extu-%{majversion}.so +%{_libdir}/wx/%{majversion}/sound_sdlu-3.2.so +%doc docs/licence.txt + +%files devel +%defattr(-,root,root) +%{_bindir}/wxrc-%{majversion} +%{_bindir}/wx-config-unicode-3 +%{_bindir}/wxrc-*unicode +%{_includedir}/wx-%{majversion}/ +%{_libdir}/libwx_baseu-%{majversion}.so +%{_libdir}/libwx_baseu_net-%{majversion}.so +%{_libdir}/libwx_baseu_xml-%{majversion}.so +%{_datadir}/aclocal/wxwin.m4 +%{_datadir}/bakefile/ +#%dir %{_libdir}/cmake/wxWidgets +#%{_libdir}/cmake/wxWidgets/wxWidgets*.cmake + +%files i18n -f %{name}.lang +%defattr(-,root,root) + +%files examples +%defattr(-,root,root) +%{_datadir}/wx/examples + +%files gtk3 +%defattr(-,root,root) +%{_libdir}/libwx_gtk3u_*-%{majversion}.so.* + +%files gtk3-devel +%defattr(-,root,root) +%dir %{_libdir}/wx/include/gtk3-unicode-%{majversion}/ +%dir %{_libdir}/wx/include/gtk3-unicode-%{majversion}/wx/ +%{_libdir}/wx/config/gtk3-unicode-%{majversion} +%{_libdir}/wx/include/gtk3-unicode-%{majversion}/wx/setup.h +%{_libdir}/libwx_gtk3u_*-%{majversion}.so + +%files qt5 +%defattr(-,root,root) +%{_libdir}/libwx_qtu_*.so.* + +%files qt5-devel +%defattr(-,root,root) +%{_bindir}/wx-config-qt-unicode-3 +%{_libdir}/libwx_qtu_*.so +%{_libdir}/wx/config/qt-unicode-%{majversion} +%{_libdir}/wx/include/qt-unicode-%{majversion}/wx/setup.h +#%dir %{_libdir}/cmake/wxWidgetsQt +#%{_libdir}/cmake/wxWidgetsQt/wxWidgetsQt*.cmake + +%changelog +* Fri Jan 06 2023 Silvan Calarco 3.2.1-4mamba +- revert to using autotools because cmake does not build libraries with version information + +* Wed Jan 04 2023 Silvan Calarco 3.2.1-3mamba +- added missing legacy provides + +* Sun Jan 01 2023 Silvan Calarco 3.2.1-2mamba +- rebuilt with cmake and qt5 additional toolkit support; reworked subpackages names + +* Wed Sep 14 2022 Automatic Build System 3.2.1-1mamba +- automatic version update by autodist + +* Sun Jul 17 2022 Automatic Build System 3.2.0-1mamba +- automatic version update by autodist + +* Sat Jul 10 2021 Silvan Calarco 3.1.5-1mamba +- update to 3.1.5 + +* Sun Mar 21 2021 Silvan Calarco 3.1.3.20210321git-1mamba +- update to 3.1.3.20210321git (audacity patched) + +* Tue May 19 2020 Silvan Calarco 3.1.3-1mamba +- update to 3.1.3 + +* Mon May 18 2020 Silvan Calarco 3.1.1-1mamba +- update to 3.1.1 + +* Mon Aug 01 2016 Silvan Calarco 3.1.0-1mamba +- update to 3.1.0 + +* Mon Aug 01 2016 Silvan Calarco 3.0.2-6mamba +- added patch to make abi check not fatal + +* Tue Jul 26 2016 Ercole 'ercolinux' Carpanetto 3.0.2-5mamba +- rebuilt with --enable-mediactrl --with-regex=builtin --enable-webview + +* Tue Jul 26 2016 Ercole 'ercolinux' Carpanetto 3.0.2-4mamba +- rebuilt with --enable-graphics_ctx + +* Mon Jul 25 2016 Ercole 'ercolinux' Carpanetto 3.0.2-3mamba +- rebuilt with enable-stl + +* Wed Feb 03 2016 Silvan Calarco 3.0.2-2mamba +- rebuilt with --enable-printfposparam to fix FileZilla build on i586 + +* Tue Dec 29 2015 Automatic Build System 3.0.2-1mamba +- automatic update by autodist + +* Tue Aug 05 2014 Automatic Build System 3.0.1-1mamba +- automatic update by autodist + +* Tue Jan 21 2014 Silvan Calarco 3.0.0-1mamba +- update to 3.0.0 + +* Fri May 10 2013 Silvan Calarco 2.8.12-3mamba +- use with-regex=builtin also for unicode version + +* Mon Apr 29 2013 Silvan Calarco 2.8.12-2mamba +- rebuilt with --with-regex=builtin for codeblock (see https://bugs.archlinux.org/task/27878) + +* Thu Oct 20 2011 Silvan Calarco 2.8.12-1mamba +- update to 2.8.12 +- add --enable-mediactrl to build gstreamer media library (required by DVDStyler 1.8.4) + +* Wed Oct 27 2010 Automatic Build System 2.8.11-1mamba +- update to 2.8.11 + +* Wed Jul 29 2009 Automatic Build System 2.8.10-1mamba +- automatic update by autodist + +* Mon Dec 08 2008 Silvan Calarco 2.8.9-1mamba +- automatic update to 2.8.9 by autodist + +* Mon Apr 07 2008 Silvan Calarco 2.8.7-2mamba +- fixed alternatives update + +* Sat Apr 05 2008 Silvan Calarco 2.8.7-1mamba +- update to 2.8.7 + +* Wed Sep 12 2007 Silvan Calarco 2.8.5-1mamba +- update to 2.8.5 + +* Tue Jun 19 2007 Stefano Cotta Ramusino 2.8.4-1mamba +- update to 2.8.4 + +* Thu Jan 25 2007 Davide Madrisan 2.8.0-1qilnx +- update to version 2.8.0 by autospec +- added build requirements for xorg7 +- enabled unicode +- added a new package with coding examples + +* Wed Jun 29 2005 Davide Madrisan 2.6.1-1qilnx +- update to version 2.6.1 by autospec +- added missing build requirements +- added missing %%post, %%postun scripts +- fixed package groups +- specfile updates +- libwx_base*.so libraries in wxBase-devel + +* Tue May 17 2005 Silvan Calarco 2.6.0-2qilnx +- rebuilt with wxBase and wxBase-devel packages + +* Wed May 11 2005 Silvan Calarco 2.6.0-1qilnx +- update to version 2.6.0 by autospec + +* Tue Sep 14 2004 Silvan Calarco 2.4.2-6qilnx +- added patch for gtk_accel_group_attach and GTK 2.4 + +* Wed Jun 30 2004 Silvan Calarco 2.4.2-5qilnx +- added symlink /usb/bin/wx-config + +* Tue Apr 20 2004 Silvan Calarco 2.4.2-4qilnx +- fixed default permission for devel package (%defattr missing) +- *.so moved to main package + +* Sun Feb 29 2004 Silvan Calarco 2.4.2-3qilnx +- rebuilt with opengl + +* Wed Oct 15 2003 Silvan Calarco 2.4.2-1qilnx +- first build