%define oname wxWidgets %define gtkver 2 %define major 0 %define api 3.0 %define libnameu %mklibname wxgtku %{api} %{major} %define libnameudev %mklibname wxgtku %{api} -d %define libglu %mklibname wxgtkugl %{api} %{major} Summary: GTK+ port of the wxWidgets library Name: wxgtk Version: 3.0.3.1 %define subrel 1 Release: %mkrel 1 License: wxWidgets Library Licence Group: System/Libraries URL: http://www.wxwidgets.org/ Source0: https://github.com/wxWidgets/wxWidgets/releases/download/v%{version}/%{oname}-%{version}.tar.bz2 Patch0: wxWidgets-2.9.5-fix-linking.patch Patch1: wxWidgets-2.9.5-multiarch-includes.patch # Originally from Gentoo Patch2: wxWidgets-3.0.3.1-collision.patch # Upstream patches # due to https://trac.filezilla-project.org/ticket/11436 (mga#24547#c13) # https://github.com/wxWidgets/wxWidgets/commit/4a71ba820f085a3d5a7233e9fd0e23ae4e45af58 Patch3: wxWidgets-3.0.3-avoid-tlw-destroy-assert.patch BuildRequires: bakefile BuildRequires: jpeg-devel BuildRequires: tiff-devel BuildRequires: expat-devel BuildRequires: pkgconfig(cppunit) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) %if %{gtkver} == 3 BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(webkitgtk-3.0) %endif %if %{gtkver} == 2 BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(webkit-1.0) >= 1.3.1 %endif BuildRequires: pkgconfig(libgnomeprintui-2.2) BuildRequires: pkgconfig(libmspack) BuildRequires: pkgconfig(libnotify) >= 0.7 BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(sdl) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(xxf86vm) BuildRequires: pkgconfig(zlib) # only needed for running autotools BuildRequires: gtk3-devel %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 -n %{libnameu} Group: System/Libraries Summary: Base shared library part of wxGTK - Unicode enabled Requires: %{name} >= %{version}-%{release} %description -n %{libnameu} 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. This package contains the library needed to run programs dynamically linked with the unicode enabled version of %{name}. %package -n %{libnameudev} Summary: Header files and development documentation for wxGTK - unicode Group: Development/C++ Requires: %{libnameu} = %{version}-%{release} Requires: %{libglu} = %{version}-%{release} Provides: libwxgtku%{api}-devel = %{version}-%{release} Provides: wxgtku%{api}-devel = %{version}-%{release} Provides: wxgtk%{api}-devel = %{version}-%{release} Provides: libwxgtk%{api}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Requires(post): update-alternatives Requires(postun): update-alternatives %description -n %{libnameudev} Header files for the unicode enabled version of wxGTK, the GTK+ port of the wxWidgets library. %package -n %{libglu} Summary: GTK+ port of the wxWidgets library, OpenGl add-on - unicode Group: System/Libraries %description -n %{libglu} OpenGl add-on library for the unicode enabled version of wxGTK, the GTK+ port of the wxWidgets library. %prep %setup -qn %{oname}-%{version} %autopatch -p1 # (fwang) Don't promote LDFLAGS in wx-config sed -i -e 's/@LDFLAGS@//' -e 's/@WXCONFIG_CXXFLAGS@//' wx-config.in # fix plugin dir for 64-bit sed -i -e 's|/lib|/%{_lib}|' src/unix/stdpaths.cpp find samples demos -name .cvsignore -delete %build aclocal --force -I$PWD/build/aclocal autoconf -f libtoolize --copy --force # --disable-optimise prevents our $RPM_OPT_FLAGS being overridden # (see OPTIMISE in configure). # this code dereferences type-punned pointers like there's no tomorrow. CFLAGS="%{optflags} -fno-strict-aliasing" CXXFLAGS="%{optflags} -fno-strict-aliasing" %configure2_5x \ --enable-intl \ --with-gtk=%{gtkver} \ --without-debug_flag \ --without-debug_info \ --with-sdl \ --with-libpng=sys \ --with-libjpeg=sys \ --with-libtiff=sys \ --with-zlib=sys \ --with-expat=sys \ --with-regex=builtin \ --disable-optimise \ --enable-calendar \ --enable-wave \ --enable-fraction \ --enable-wxprintfv \ --enable-xresources \ --enable-controls \ --enable-tabdialog \ --enable-msgdlg \ --enable-dirdlg \ --enable-numberdlg \ --enable-splash \ --enable-textdlg \ --enable-graphics_ctx \ --enable-grid \ --enable-catch_segvs \ --enable-mediactrl \ --enable-dataviewctrl \ --enable-permissive \ --enable-libmspack \ --disable-rpath %make_build # Why isn't this this part of the main build? Need to investigate. %make_build -C locale allmo #gw prepare samples pushd demos make clean rm -f makefile* demos.bkl popd pushd samples make clean rm -f makefile* samples.bkl popd find demos samples -name Makefile|xargs perl -pi -e 's^CXXC =.*^CXXC=\$(CXX) `wx-config --cflags`^' find demos samples -name Makefile|xargs perl -pi -e 's^EXTRALIBS =.*^EXTRALIBS=^' find demos samples -name Makefile|xargs perl -pi -e 's^SAMPLES_RPATH_FLAG =.*^SAMPLES_RPATH_FLAG=^' %install %make_install install -d %{buildroot}/usr/share/aclocal install wxwin.m4 %{buildroot}/usr/share/aclocal/ # dummy translation file find %{buildroot} -name "wxmsw.mo" -delete %find_lang wxstd30 %multiarch_binaries %{buildroot}%{_bindir}/wx-config-%{api} %multiarch_includes %{buildroot}%{_includedir}/wx-%{api}/wx/defs.h %post -n %{libnameudev} %{_sbindir}/update-alternatives \ --install %{_bindir}/wx-config \ wx-config \ %{_bindir}/wx-config-%{api} \ 30 %{_sbindir}/update-alternatives \ --install %{_bindir}/wxrc \ wxrc \ %{_bindir}/wxrc-%{api} \ 30 %postun -n %{libnameudev} if [ $1 -eq 0 ]; then %{_sbindir}/update-alternatives \ --remove wx-config \ %{_bindir}/wx-config-%{api} %{_sbindir}/update-alternatives \ --remove wxrc \ %{_bindir}/wxrc-%{api} fi %files -f wxstd30.lang %doc *.txt %files -n %{libnameu} %{_libdir}/libwx_baseu-%{api}.so.%{major}* %{_libdir}/libwx_baseu_net-%{api}.so.%{major}* %{_libdir}/libwx_baseu_xml-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_adv-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_aui-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_core-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_html-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_media-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_propgrid-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_qa-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_ribbon-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_richtext-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_stc-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_webview-%{api}.so.%{major}* %{_libdir}/libwx_gtk%{gtkver}u_xrc-%{api}.so.%{major}* %files -n %{libnameudev} %doc samples/ docs/ demos/ %{_bindir}/wx-config-%{api} %{_bindir}/wxrc-%{api} %{multiarch_bindir}/wx-config-%{api} %{_includedir}/wx-%{api}/ %dir %{_libdir}/wx/ %dir %{_libdir}/wx/include/ %dir %{_libdir}/wx/include/gtk%{gtkver}-unicode-%{api}/ %dir %{_libdir}/wx/include/gtk%{gtkver}-unicode-%{api}/wx/ %dir %{_libdir}/wx/config %{_libdir}/wx/config/gtk%{gtkver}-unicode-%{api} %{_libdir}/wx/include/gtk%{gtkver}-unicode-%{api}/wx/setup.h %{_libdir}/libwx_baseu-%{api}.so %{_libdir}/libwx_baseu_net-%{api}.so %{_libdir}/libwx_baseu_xml-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_adv-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_aui-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_core-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_gl-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_html-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_media-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_propgrid-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_qa-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_ribbon-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_richtext-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_stc-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_webview-%{api}.so %{_libdir}/libwx_gtk%{gtkver}u_xrc-%{api}.so %{_datadir}/bakefile/presets/wx* %{_datadir}/aclocal/wxwin.m4 %{multiarch_includedir}/wx-%{api}/wx/defs.h %files -n %{libglu} %{_libdir}/libwx_gtk%{gtkver}u_gl-%{api}.so.%{major}* %changelog * Mon Apr 29 2019 daviddavid <daviddavid> 3.0.3.1-1.1.mga6 + Revision: 1395853 - add upstream patch to avoid delayed destruction if TLW was never created thus fixing filezilla popup (mga#24547#c13) * Sat Jun 03 2017 akien <akien> 3.0.3.1-1.mga6 + Revision: 1106032 - Version 3.0.3.1 - Rediff P2 and drop upstreamed P3 * Sat Feb 18 2017 cjw <cjw> 3.0.2-11.mga6 + Revision: 1086672 - package wxwin.m4 to fix build of spek * Sat Feb 18 2017 cjw <cjw> 3.0.2-10.mga6 + Revision: 1086660 - patch3: build with gstreamer1.0 instead of gstreamer0.10 * Thu Jun 02 2016 daviddavid <daviddavid> 3.0.2-9.mga6 + Revision: 1019795 - return back wxgtk built with gtk2 (fixes some gtk3 regressions) * Wed May 25 2016 daviddavid <daviddavid> 3.0.2-8.mga6 + Revision: 1018261 - add upstream patch to fix window sizing issue with gtk 3.19+ * https://github.com/wxWidgets/wxWidgets/commit/9fea81c069f9d803d79c4ce82f87a00a6e10b490 + luigiwalser <luigiwalser> - back to webkit1 for now - try building with webkit2 * Fri Jan 08 2016 wally <wally> 3.0.2-7.mga6 + Revision: 920622 - add patch (P4) from ustream to fix drawing checkbox and radiobutton in checked state with GTK+ >= 3.14 - add Mga patch (P5) to fix 'Gtk-WARNING **: State 0 for GtkButton 0x990b1e0 doesn't match state 128 set via gtk_style_context_set_state ()' flood in cmd line with GTK+ 3.19 * Wed Aug 26 2015 fwang <fwang> 3.0.2-6.mga6 + Revision: 869528 - rebuild for gcc5 * Fri Aug 14 2015 ycantin <ycantin> 3.0.2-5.mga6 + Revision: 864678 - Use builtin regex to enable wxRE_ADVANCED * Sun Aug 02 2015 wally <wally> 3.0.2-4.mga6 + Revision: 860799 - increase update-alternatives priority for wx-config and wxrc so they'll be used as a default when also older wxgtk2.8-devel is installed * Tue Jul 21 2015 philippem <philippem> 3.0.2-3.mga6 + Revision: 856002 - build with gtk3 * Tue Mar 17 2015 guillomovitch <guillomovitch> 3.0.2-2.mga6 + Revision: 818725 - disable utf8 usage for strings, fixing a compilation issue with another software (veracrypt) * Wed Mar 04 2015 luigiwalser <luigiwalser> 3.0.2-1.mga5 + Revision: 817651 - 3.0.2 - enable libmspack * Wed Oct 15 2014 umeabot <umeabot> 3.0.1-3.mga5 + Revision: 750323 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 3.0.1-2.mga5 + Revision: 690382 - Mageia 5 Mass Rebuild * Wed Jun 18 2014 wally <wally> 3.0.1-1.mga5 + Revision: 637995 - new version 3.0.1 * Wed Feb 05 2014 fwang <fwang> 3.0.0-2.mga5 + Revision: 583484 - add virtual provides - don't override Werror_cflags * Wed Feb 05 2014 fwang <fwang> 3.0.0-1.mga5 + Revision: 583461 - update file list - use macro - fix link - update filename - update config suffix - new version 3.0.0 * Tue Oct 22 2013 umeabot <umeabot> 2.9.5-2.mga4 + Revision: 542368 - Mageia 4 Mass Rebuild + wally <wally> - loosen requires * Mon Oct 14 2013 wally <wally> 2.9.5-1.mga4 + Revision: 497442 - new version 2.9.5 - add update-alternatives support for wx-config and wxrc - add patch to make pkgs parallel installable with wxgtk2.8 (originally from Gentoo) - rename source pkg as wxgtk for future stable ones * Sun Jun 02 2013 fwang <fwang> 2.8.12-11.mga4 + Revision: 434699 - rebuild for new libpng * Mon Jan 14 2013 umeabot <umeabot> 2.8.12-10.mga3 + Revision: 385897 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Jan 24 2012 fwang <fwang> 2.8.12-9.mga3 + Revision: 200605 - move to correct section - fix wrong symlink - drop old packages - only build unicode flavour - cleanup messed up multiarch programs * Fri Jan 20 2012 fwang <fwang> 2.8.12-7.mga2 + Revision: 198660 - do not promote permissive in cnfig - drop permissive build, as it is default to off by upstream * Fri Dec 23 2011 fwang <fwang> 2.8.12-6.mga2 + Revision: 186478 - rebuild for new libtiff * Tue Dec 13 2011 wally <wally> 2.8.12-5.mga2 + Revision: 181328 - fix lib names - fix and clean provides - clean .spec a bit - update configure options to fix build and to build more libs - drop old conflicts - clean and sort BRs * Sun Sep 11 2011 fwang <fwang> 2.8.12-4.mga2 + Revision: 142256 - rebuild for new libpng + ahmad <ahmad> - Change the BR to pkgconfig BR style - Drop redundant BR libGConf2-devel - Don't promote LDFLAGS in wx-config (fwang) - Build with --enable-catch_segvs. The only pro I could find for disabling it is that it interferes with ABRT support[1], since we don't have ABRT support (either proper integration in the distro nor server side (bugzilla)) we can enable it for the time being. This should (fix mga#2232). [1] http://comments.gmane.org/gmane.linux.redhat.fedora.devel/135119 * Tue Jun 21 2011 ahmad <ahmad> 2.8.12-1.mga2 + Revision: 111191 - Update to 2.8.12 - fix linking, and drop _disable_ld_no_undefined - disable rpath for the unicode build too * Fri Feb 25 2011 ahmad <ahmad> 2.8.11-4.mga1 + Revision: 59942 - add more BR (Fedora) - configure with --disable-rpath (Fedora) * Sun Jan 16 2011 ahmad <ahmad> 2.8.11-3.mga1 + Revision: 19943 - imported package wxgtk2.8