0aea9ee
%global srcname wxWidgets
0aea9ee
%global wxbasename wxBase
0aea9ee
%global gtk3dir bld_gtk3
b91582d
%global sover 4
0aea9ee
d53e678
Name:           wxGTK
b91582d
Version:        3.1.4
b91582d
Release:        1%{?dist}
0aea9ee
Summary:        GTK port of the wxWidgets GUI library
d53e678
License:        wxWidgets
0aea9ee
URL:            https://www.wxwidgets.org/
0aea9ee
0aea9ee
Source0:        https://github.com/%{srcname}/%{srcname}/releases/download/v%{version}/%{srcname}-%{version}.tar.bz2
0aea9ee
Source10:       wx-config
0aea9ee
# https://bugzilla.redhat.com/show_bug.cgi?id=1225148
d53e678
# remove abort when ABI check fails
0aea9ee
# Backport from wxGTK
0aea9ee
Patch0:         %{name}-3.0.3-abicheck.patch
0aea9ee
Patch1:         disable-tests-failing-mock.patch
b91582d
Patch2:         fix-webview-tests.patch
b91582d
Patch3:         skip-test-s390x.patch
d53e678
d53e678
BuildRequires:  gcc-c++
0aea9ee
BuildRequires:  gtk3-devel
0aea9ee
BuildRequires:  webkit2gtk3-devel
0aea9ee
BuildRequires:  zlib-devel
0aea9ee
BuildRequires:  libpng-devel
0aea9ee
BuildRequires:  libjpeg-devel
0aea9ee
BuildRequires:  libtiff-devel
0aea9ee
BuildRequires:  expat-devel
0aea9ee
BuildRequires:  SDL2-devel
0aea9ee
BuildRequires:  libGLU-devel
d53e678
BuildRequires:  libSM-devel
0aea9ee
BuildRequires:  gstreamer1-plugins-base-devel
d53e678
BuildRequires:  GConf2-devel
0aea9ee
BuildRequires:  gettext
0aea9ee
BuildRequires:  cppunit-devel
0aea9ee
BuildRequires:  libmspack-devel
0aea9ee
BuildRequires:  doxygen
0aea9ee
BuildRequires:  graphviz
b91582d
BuildRequires:  libsecret-devel
b91582d
# For Tests
b91582d
BuildRequires:  xorg-x11-apps
b91582d
BuildRequires:  xorg-x11-server-Xvfb
d53e678
0aea9ee
Provides:       %{srcname} = %{version}-%{release}
0aea9ee
Provides:       bundled(scintilla) = 3.7.2
0aea9ee
Requires:       %{wxbasename}%{?_isa} = %{version}-%{release}
0aea9ee
Requires:       %{name}-i18n = %{version}-%{release}
d53e678
d53e678
%description
0aea9ee
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
0aea9ee
GUI library, offering classes for all common GUI controls as well as a
0aea9ee
comprehensive set of helper classes for most common application tasks,
0aea9ee
ranging from networking to HTML display and image manipulation.
0aea9ee
0aea9ee
0aea9ee
%package -n     %{wxbasename}-devel
0aea9ee
Summary:        Development files for the wxBase3 library
0aea9ee
Requires:       %{wxbasename}%{?_isa} = %{version}-%{release}
0aea9ee
Requires(post): /usr/sbin/update-alternatives
0aea9ee
Requires(postun): /usr/sbin/update-alternatives
0aea9ee
0aea9ee
%description -n %{wxbasename}-devel
0aea9ee
This package include files needed to link with the wxBase3 library.
0aea9ee
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
d53e678
GUI library, offering classes for all common GUI controls as well as a
d53e678
comprehensive set of helper classes for most common application tasks,
d53e678
ranging from networking to HTML display and image manipulation.
d53e678
d53e678
d53e678
%package        devel
0aea9ee
Summary:        Development files for the wxGTK library
0aea9ee
Requires:       %{name}%{?_isa} = %{version}-%{release}
d53e678
Requires:       %{name}-gl = %{version}-%{release}
d53e678
Requires:       %{name}-media = %{version}-%{release}
0aea9ee
Requires:       %{name}-webview = %{version}-%{release}
0aea9ee
Requires:       %{wxbasename} = %{version}-%{release}
0aea9ee
Requires:       %{wxbasename}-devel%{?_isa} = %{version}-%{release}
0aea9ee
Requires:       gtk3-devel
0aea9ee
Requires:       libGLU-devel
0aea9ee
Provides:       %{srcname}-devel = %{version}-%{release}
d53e678
d53e678
%description devel
0aea9ee
This package include files needed to link with the wxGTK library.
0aea9ee
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
0aea9ee
GUI library, offering classes for all common GUI controls as well as a
0aea9ee
comprehensive set of helper classes for most common application tasks,
0aea9ee
ranging from networking to HTML display and image manipulation.
d53e678
d53e678
d53e678
%package        gl
d53e678
Summary:        OpenGL add-on for the wxWidgets library
0aea9ee
Requires:       %{name}%{?_isa} = %{version}-%{release}
d53e678
d53e678
%description gl
d53e678
OpenGL (a 3D graphics API) add-on for the wxWidgets library.
0aea9ee
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
0aea9ee
GUI library, offering classes for all common GUI controls as well as a
0aea9ee
comprehensive set of helper classes for most common application tasks,
0aea9ee
ranging from networking to HTML display and image manipulation.
0aea9ee
0aea9ee
0aea9ee
%package        i18n
0aea9ee
Summary:        i18n message catalogs for the wxWidgets library
0aea9ee
BuildArch:      noarch
0aea9ee
0aea9ee
%description i18n
0aea9ee
i18n message catalogs for the wxWidgets library.
0aea9ee
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
0aea9ee
GUI library, offering classes for all common GUI controls as well as a
0aea9ee
comprehensive set of helper classes for most common application tasks,
0aea9ee
ranging from networking to HTML display and image manipulation.
d53e678
d53e678
d53e678
%package        media
d53e678
Summary:        Multimedia add-on for the wxWidgets library
0aea9ee
Requires:       %{name}%{?_isa} = %{version}-%{release}
d53e678
d53e678
%description media
d53e678
Multimedia add-on for the wxWidgets library.
0aea9ee
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
0aea9ee
GUI library, offering classes for all common GUI controls as well as a
0aea9ee
comprehensive set of helper classes for most common application tasks,
0aea9ee
ranging from networking to HTML display and image manipulation.
0aea9ee
d53e678
0aea9ee
%package        webview
0aea9ee
Summary:        WebView add-on for the wxWidgets library
0aea9ee
Requires:       %{name}%{?_isa} = %{version}-%{release}
d53e678
0aea9ee
%description webview
0aea9ee
WebView add-on for the wxWidgets library.
0aea9ee
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
0aea9ee
GUI library, offering classes for all common GUI controls as well as a
0aea9ee
comprehensive set of helper classes for most common application tasks,
0aea9ee
ranging from networking to HTML display and image manipulation.
0aea9ee
0aea9ee
0aea9ee
%package -n     %{wxbasename}
d53e678
Summary:        Non-GUI support classes from the wxWidgets library
d53e678
0aea9ee
%description -n %{wxbasename}
d53e678
Every wxWidgets application must link against this library. It contains
d53e678
mandatory classes that any wxWidgets code depends on (like wxString) and
d53e678
portability classes that abstract differences between platforms. wxBase can
d53e678
be used to develop console mode applications -- it does not require any GUI
d53e678
libraries or the X Window System.
d53e678
d53e678
0aea9ee
%package        docs
0aea9ee
Summary:        Documentation for the wxGTK library
0aea9ee
Requires:       %{name} = %{version}-%{release}
0aea9ee
Provides:       %{srcname}-docs = %{version}-%{release}
0aea9ee
BuildArch:      noarch
0aea9ee
0aea9ee
%description docs
0aea9ee
This package provides documentation for the %{srcname} library.
0aea9ee
0aea9ee
d53e678
%prep
0aea9ee
%autosetup -n %{srcname}-%{version} -p1
d53e678
0aea9ee
# patch some installed files to avoid conflicts with 2.8.*
0aea9ee
sed -i -e 's|aclocal)|aclocal/wxwin31.m4)|' Makefile.in
0aea9ee
sed -i -e 's|wxstd.mo|wxstd31.mo|' Makefile.in
0aea9ee
sed -i -e 's|wxmsw.mo|wxmsw31.mo|' Makefile.in
d53e678
d53e678
# fix plugin dir for 64-bit
0aea9ee
sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
d53e678
sed -i -e 's|/lib|/%{_lib}|' src/unix/stdpaths.cpp
d53e678
d53e678
d53e678
%build
0aea9ee
%global _configure ../configure
d53e678
0aea9ee
mkdir %{gtk3dir}
0aea9ee
pushd %{gtk3dir}
d53e678
%configure \
0aea9ee
  --with-gtk=3 \
d53e678
  --with-opengl \
d53e678
  --with-sdl \
0aea9ee
  --with-libmspack \
d53e678
  --enable-intl \
d53e678
  --disable-rpath \
0aea9ee
  --enable-ipv6
d53e678
0aea9ee
%make_build
0aea9ee
popd
d53e678
0aea9ee
#Docs
0aea9ee
WX_SKIP_DOXYGEN_VERSION_CHECK=1 docs/doxygen/regen.sh html
0aea9ee
mv docs/doxygen/out/html .
d53e678
d53e678
%install
0aea9ee
pushd %{gtk3dir}
0aea9ee
%make_install
0aea9ee
popd
d53e678
d53e678
# install our multilib-aware wrapper
0aea9ee
##Remove installed
d53e678
rm %{buildroot}%{_bindir}/wx-config
0aea9ee
##Install new and symlink
0aea9ee
install -p -D -m 755 %{SOURCE10} %{buildroot}%{_libexecdir}/%{name}/wx-config
0aea9ee
sed -i -e 's|=/usr|=%{_prefix}|' %{buildroot}%{_libexecdir}/%{name}/wx-config
0aea9ee
ln -s ../..%{_libexecdir}/%{name}/wx-config %{buildroot}%{_bindir}/wx-config-3.1
d53e678
touch %{buildroot}%{_bindir}/wx-config
d53e678
d53e678
#Alternatives setup with wxrc
0aea9ee
mv %{buildroot}%{_bindir}/wxrc* %{buildroot}%{_libexecdir}/%{name}
0aea9ee
ln -s ../..%{_libexecdir}/%{name}/wxrc-3.1 %{buildroot}%{_bindir}/wxrc-3.1
d53e678
touch %{buildroot}%{_bindir}/wxrc
d53e678
0aea9ee
# move bakefiles to avoid conflicts with 2.8.*
0aea9ee
mkdir %{buildroot}%{_datadir}/bakefile/presets/wx31
0aea9ee
mv %{buildroot}%{_datadir}/bakefile/presets/*.* %{buildroot}%{_datadir}/bakefile/presets/wx31
0aea9ee
0aea9ee
%find_lang wxstd31
0aea9ee
%find_lang wxmsw31
0aea9ee
cat wxmsw31.lang >> wxstd31.lang
d53e678
d53e678
%check
0aea9ee
pushd %{gtk3dir}/tests
0aea9ee
make %{?_smp_mflags}
b91582d
LD_LIBRARY_PATH=%{buildroot}%{_libdir} TZ=UTC wxUSE_XVFB=1 xvfb-run -a ./test
b91582d
LD_LIBRARY_PATH=%{buildroot}%{_libdir} wxUSE_XVFB=1 xvfb-run -a ./test_gui \
b91582d
  ~wxDVC::GetItemRect ~wxHtmlPrintout::Pagination ~wxExecute::RedirectUTF8 \
b91582d
  ~WebViewTestCase
d53e678
popd
d53e678
0aea9ee
%post -n %{wxbasename}-devel
d53e678
if [ -f %{_bindir}/wx-config ] && [ ! -h %{_bindir}/wx-config ] ; then
d53e678
  rm %{_bindir}/wx-config
d53e678
fi
0aea9ee
/usr/sbin/update-alternatives --install %{_bindir}/wx-config \
0aea9ee
  wx-config %{_libexecdir}/%{name}/wx-config 25
0aea9ee
/usr/sbin/update-alternatives --install %{_bindir}/wxrc \
0aea9ee
  wxrc %{_libexecdir}/%{name}/wxrc 25
d53e678
0aea9ee
%postun -n %{wxbasename}-devel
d53e678
if [ $1 -eq 0 ] ; then
0aea9ee
  /usr/sbin/update-alternatives --remove wx-config %{_libexecdir}/%{name}/wx-config
0aea9ee
  /usr/sbin/update-alternatives --remove wxrc %{_libexecdir}/%{name}/wxrc
d53e678
fi
d53e678
0aea9ee
%files
0aea9ee
%doc docs/changes.txt docs/readme.txt
0aea9ee
%license docs/gpl.txt docs/lgpl.txt docs/licence.txt docs/licendoc.txt
0aea9ee
%license docs/preamble.txt
0aea9ee
%{_libdir}/libwx_gtk3u_adv-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_aui-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_core-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_html-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_propgrid-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_qa-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_ribbon-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_richtext-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_stc-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_gtk3u_xrc-*.so.%{sover}*
0aea9ee
0aea9ee
%files -n %{wxbasename}-devel
d53e678
%ghost %{_bindir}/wx-config
d53e678
%ghost %{_bindir}/wxrc
0aea9ee
%{_bindir}/wxrc-3.1
0aea9ee
%{_bindir}/wx-config-3.1
0aea9ee
%{_includedir}/wx-3.1
0aea9ee
%{_libdir}/libwx_baseu*.so
d53e678
%dir %{_libdir}/wx
d53e678
%dir %{_libdir}/wx/config
0aea9ee
%dir %{_libdir}/wx/include
0aea9ee
%{_datadir}/aclocal/wxwin31.m4
0aea9ee
%{_datadir}/bakefile/presets/wx31
0aea9ee
%{_libexecdir}/%{name}
0aea9ee
0aea9ee
%files devel
0aea9ee
%{_libdir}/libwx_gtk3u_*.so
0aea9ee
%{_libdir}/wx/config/gtk3-unicode-3.1
0aea9ee
%{_libdir}/wx/include/gtk3-unicode-3.1
d53e678
d53e678
%files gl
0aea9ee
%{_libdir}/libwx_gtk3u_gl-*.so.%{sover}*
0aea9ee
0aea9ee
%files i18n -f wxstd31.lang
d53e678
d53e678
%files media
0aea9ee
%{_libdir}/libwx_gtk3u_media-*.so.%{sover}*
0aea9ee
0aea9ee
%files webview
0aea9ee
%{_libdir}/libwx_gtk3u_webview-*.so.%{sover}*
0aea9ee
%dir %{_libdir}/wx
0aea9ee
%{_libdir}/wx/%{version}
d53e678
0aea9ee
%files -n %{wxbasename}
0aea9ee
%doc docs/changes.txt docs/readme.txt
0aea9ee
%license docs/gpl.txt docs/lgpl.txt docs/licence.txt docs/licendoc.txt
0aea9ee
%license docs/preamble.txt
d53e678
%{_libdir}/libwx_baseu-*.so.*
0aea9ee
%{_libdir}/libwx_baseu_net-*.so.%{sover}*
0aea9ee
%{_libdir}/libwx_baseu_xml-*.so.%{sover}*
d53e678
0aea9ee
%files docs
0aea9ee
%doc html
d53e678
d53e678
%changelog
b91582d
* Wed Jul 22 2020 Scott Talbert <swt@techie.net> - 3.1.4-1
b91582d
- Update to new upstream release 3.1.4 (#1859715)
b91582d
0509650
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-3
0509650
- Second attempt - Rebuilt for
0509650
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
0509650
3b94490
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-2
3b94490
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
3b94490
0aea9ee
* Tue Mar 03 2020 Scott Talbert <swt@techie.net> - 3.1.3-1
0aea9ee
- Initial packaging of wxWidgets 3.1.x (dev version) (#1714714)