revert to using autotools because cmake does not build libraries with version information [release 3.2.1-4mamba;Fri Jan 06 2023]

This commit is contained in:
Silvan Calarco 2024-01-05 19:30:41 +01:00
parent 7081ed1b71
commit 42d9f00cfd
4 changed files with 528 additions and 0 deletions

View File

@ -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.

View File

@ -0,0 +1,39 @@
From 73e9e18ea09ffffcaac50237def0d9728a213c02 Mon Sep 17 00:00:00 2001
From: Scott Talbert <swt@techie.net>
Date: Sat, 20 Feb 2016 00:08:14 -0500
Subject: [PATCH] Fix STC compilation with GCC6
Use std::abs() from <cmath> instead of abs() from <math.h> 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 <ctype.h>
#include <assert.h>
+#include <cmath>
#include <string>
#include <vector>
#include <map>
@@ -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;
}

View File

@ -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

471
wxwidgets.spec Normal file
View File

@ -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 <silvan.calarco@mambasoft.it>
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 <silvan.calarco@mambasoft.it> 3.2.1-4mamba
- revert to using autotools because cmake does not build libraries with version information
* Wed Jan 04 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.2.1-3mamba
- added missing legacy provides
* Sun Jan 01 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.2.1-2mamba
- rebuilt with cmake and qt5 additional toolkit support; reworked subpackages names
* Wed Sep 14 2022 Automatic Build System <autodist@mambasoft.it> 3.2.1-1mamba
- automatic version update by autodist
* Sun Jul 17 2022 Automatic Build System <autodist@mambasoft.it> 3.2.0-1mamba
- automatic version update by autodist
* Sat Jul 10 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.5-1mamba
- update to 3.1.5
* Sun Mar 21 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.3.20210321git-1mamba
- update to 3.1.3.20210321git (audacity patched)
* Tue May 19 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.3-1mamba
- update to 3.1.3
* Mon May 18 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.1-1mamba
- update to 3.1.1
* Mon Aug 01 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.0-1mamba
- update to 3.1.0
* Mon Aug 01 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.2-6mamba
- added patch to make abi check not fatal
* Tue Jul 26 2016 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 3.0.2-5mamba
- rebuilt with --enable-mediactrl --with-regex=builtin --enable-webview
* Tue Jul 26 2016 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 3.0.2-4mamba
- rebuilt with --enable-graphics_ctx
* Mon Jul 25 2016 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 3.0.2-3mamba
- rebuilt with enable-stl
* Wed Feb 03 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.2-2mamba
- rebuilt with --enable-printfposparam to fix FileZilla build on i586
* Tue Dec 29 2015 Automatic Build System <autodist@mambasoft.it> 3.0.2-1mamba
- automatic update by autodist
* Tue Aug 05 2014 Automatic Build System <autodist@mambasoft.it> 3.0.1-1mamba
- automatic update by autodist
* Tue Jan 21 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.0-1mamba
- update to 3.0.0
* Fri May 10 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.8.12-3mamba
- use with-regex=builtin also for unicode version
* Mon Apr 29 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.8.12-2mamba
- rebuilt with --with-regex=builtin for codeblock (see https://bugs.archlinux.org/task/27878)
* Thu Oct 20 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <autodist@mambasoft.it> 2.8.11-1mamba
- update to 2.8.11
* Wed Jul 29 2009 Automatic Build System <autodist@mambasoft.it> 2.8.10-1mamba
- automatic update by autodist
* Mon Dec 08 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.8.9-1mamba
- automatic update to 2.8.9 by autodist
* Mon Apr 07 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.8.7-2mamba
- fixed alternatives update
* Sat Apr 05 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.8.7-1mamba
- update to 2.8.7
* Wed Sep 12 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 2.8.5-1mamba
- update to 2.8.5
* Tue Jun 19 2007 Stefano Cotta Ramusino <stefano.cotta@openmamba.org> 2.8.4-1mamba
- update to 2.8.4
* Thu Jan 25 2007 Davide Madrisan <davide.madrisan@qilinux.it> 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 <davide.madrisan@qilinux.it> 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 <silvan.calarco@mambasoft.it> 2.6.0-2qilnx
- rebuilt with wxBase and wxBase-devel packages
* Wed May 11 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.0-1qilnx
- update to version 2.6.0 by autospec
* Tue Sep 14 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.2-6qilnx
- added patch for gtk_accel_group_attach and GTK 2.4
* Wed Jun 30 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.2-5qilnx
- added symlink /usb/bin/wx-config
* Tue Apr 20 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.2-4qilnx
- fixed default permission for devel package (%defattr missing)
- *.so moved to main package
* Sun Feb 29 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.2-3qilnx
- rebuilt with opengl
* Wed Oct 15 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.2-1qilnx
- first build