File wxGTK3.spec of Package wxGTK3
%global srcname wxWidgets
%global wxgtkname wxGTK3
%global gtk3dir bld_gtk3
Name: %{wxgtkname}
Version: 3.0.4
Release: 10%{?snapshottag}%{?dist}.1
Summary: GTK port of the wxWidgets GUI library
License: wxWidgets
URL: https://www.wxwidgets.org/
Source0: https://github.com/%{srcname}/%{srcname}/releases/download/v%{version}/%{srcname}-%{version}.tar.bz2
Source10: wx-config
# https://bugzilla.redhat.com/show_bug.cgi?id=1225148
# remove abort when ABI check fails
# Backport from wxGTK
Patch0: %{name}-3.0.3-abicheck.patch
Patch1: fix-filename-test.patch
Patch2: fix-vararg-test.patch
Patch3: fix-glcanvas-crash-wayland.patch
BuildRequires: gcc-c++
BuildRequires: gtk3-devel
BuildRequires: zlib-devel
BuildRequires: libpng-devel
BuildRequires: libjpeg-devel
BuildRequires: libtiff-devel
BuildRequires: expat-devel
BuildRequires: libSM-devel
BuildRequires: gstreamer1-plugins-base-devel
BuildRequires: gettext
BuildRequires: cppunit-devel
BuildRequires: libmspack-devel
BuildRequires: doxygen
BuildRequires: graphviz
%if 0%{?rhel}
BuildRequires: alternatives
%endif
Provides: %{srcname} = %{version}-%{release}
Provides: bundled(scintilla) = 3.2.1
%description
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
GUI library, offering classes for all common GUI controls as well as a
comprehensive set of helper classes for most common application tasks,
ranging from networking to HTML display and image manipulation.
%package devel
Summary: Development files for the wxGTK3 library
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gtk3-devel
Provides: %{srcname}-devel = %{version}-%{release}
%description devel
This package include files needed to link with the wxGTK3 library.
wxWidgets is the GTK port of the C++ cross-platform wxWidgets
GUI library, offering classes for all common GUI controls as well as a
comprehensive set of helper classes for most common application tasks,
ranging from networking to HTML display and image manipulation.
%prep
%autosetup -n %{srcname}-%{version} -p1
# patch some installed files to avoid conflicts with 2.8.*
sed -i -e 's|aclocal)|aclocal/wxwin3.m4)|' Makefile.in
sed -i -e 's|wxstd.mo|wxstd3.mo|' Makefile.in
sed -i -e 's|wxmsw.mo|wxmsw3.mo|' Makefile.in
# fix plugin dir for 64-bit
sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
sed -i -e 's|/lib|/%{_lib}|' src/unix/stdpaths.cpp
%build
# likely still dereferences type-punned pointers
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
# fix unused-direct-shlib-dependency error:
export LDFLAGS="-Wl,--as-needed"
%global _configure ../configure
mkdir %{gtk3dir}
pushd %{gtk3dir}
%configure \
--with-gtk=3 \
--without-opengl \
--with-sdl \
--with-gnomeprint \
--with-libmspack \
--enable-intl \
--enable-no_deps \
--disable-rpath \
--enable-ipv6
%make_build
popd
%install
pushd %{gtk3dir}
%makeinstall
popd
# install our multilib-aware wrapper
##Remove installed
rm %{buildroot}%{_bindir}/wx-config
##Install new and symlink
install -p -D -m 755 %{SOURCE10} %{buildroot}%{_bindir}/wx-config-3.0
sed -i -e 's|=/usr|=%{_prefix}|' %{buildroot}%{_bindir}/wx-config-3.0
ln -s wx-config-3.0 %{buildroot}%{_bindir}/wx-config
# move bakefiles to avoid conflicts with 2.8.*
mkdir %{buildroot}%{_datadir}/bakefile/presets/wx3
mv %{buildroot}%{_datadir}/bakefile/presets/*.* %{buildroot}%{_datadir}/bakefile/presets/wx3
%find_lang wxstd3
%find_lang wxmsw3
cat wxmsw3.lang >> wxstd3.lang
%check
pushd %{gtk3dir}/tests
make %{?_smp_mflags}
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./test
popd
%files
%doc docs/changes.txt docs/gpl.txt docs/lgpl.txt docs/licence.txt
%doc docs/licendoc.txt docs/preamble.txt docs/readme.txt
%{_libdir}/libwx_gtk3u_adv-*.so.*
%{_libdir}/libwx_gtk3u_aui-*.so.*
%{_libdir}/libwx_gtk3u_core-*.so.*
%{_libdir}/libwx_gtk3u_html-*.so.*
%{_libdir}/libwx_gtk3u_propgrid-*.so.*
%{_libdir}/libwx_gtk3u_qa-*.so.*
%{_libdir}/libwx_gtk3u_ribbon-*.so.*
%{_libdir}/libwx_gtk3u_richtext-*.so.*
%{_libdir}/libwx_gtk3u_stc-*.so.*
%{_libdir}/libwx_gtk3u_xrc-*.so.*
%{_libdir}/libwx_baseu-*.so.*
%{_libdir}/libwx_baseu_net-*.so.*
%{_libdir}/libwx_baseu_xml-*.so.*
%{_libdir}/libwx_gtk3u_media-*.so.*
%{_datadir}/locale/*
%files devel
%{_bindir}/wx-config
%{_bindir}/wx-config-3.0
%{_bindir}/wxrc
%{_bindir}/wxrc-3.0
%{_includedir}/wx-3.0
%{_libdir}/libwx_baseu*.so
%dir %{_libdir}/wx
%dir %{_libdir}/wx/config
%dir %{_libdir}/wx/include
%{_datadir}/aclocal/wxwin3.m4
%{_datadir}/bakefile/presets/wx3
%{_libdir}/libwx_gtk3u_*.so
%{_libdir}/wx/config/gtk3-unicode-3.0
%{_libdir}/wx/include/gtk3-unicode-3.0
%changelog
* Sat Aug 17 2019 Scott Talbert <swt@techie.net> - 3.0.4-10.1
- Avoid building webview on aarch64 and s390x on epel8