#
# TODO:
+# - fix moc failures, see e.g. https://bugzilla.redhat.com/show_bug.cgi?id=1396755
+# at least add some macros to QTBUG-22829 patch (BOOST_PREDEF_VERSION_NUMBER_H, _SYS_SYSMACROS_H_OUTER...)
# - more cleanups
# - check if translations are available
# - check Qt ui tool
%define _withsql 1
%{!?with_sqlite3:%{!?with_sqlite:%{!?with_ibase:%{!?with_mysql:%{!?with_pgsql:%{!?with_odbc:%{!?with_oci:%undefine _withsql}}}}}}}
-%define icu_abi 55
+%define icu_abi 67
%define next_icu_abi %(echo $((%{icu_abi} + 1)))
Summary: The Qt GUI application framework
Summary(pt_BR.UTF-8): Estrutura para rodar aplicações GUI Qt
Name: qt4
Version: 4.8.7
-Release: 3
+Release: 28
License: LGPL v2.1 or GPL v3.0
Group: X11/Libraries
Source0: http://download.qt-project.org/official_releases/qt/4.8/%{version}/qt-everywhere-opensource-src-%{version}.tar.gz
Patch9: qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
Patch10: webkit-no_Werror.patch
Patch11: %{name}-wkhtml.patch
-Patch12: fix-crash-in-assistant.patch
-Patch13: improve-cups-support.patch
+Patch12: openssl.patch
+Patch13: qt-asm-volatile.patch
Patch14: x32.patch
# backported from Qt5 (essentially)
# http://bugzilla.redhat.com/702493
# https://bugreports.qt-project.org/browse/QTBUG-5545
Patch15: qt-everywhere-opensource-src-4.8.4-qgtkstyle_disable_gtk_theme_check.patch
Patch16: qt-everywhere-opensource-src-4.8.3-QTBUG-4862.patch
-Patch17: l-qclipboard_delay.patch
-Patch18: l-qclipboard_fix_recursive.patch
-Patch19: qtcore-4.8.5-honor-ExcludeSocketNotifiers-in-glib-event-loop.patch
-Patch20: %{name}-oracle-instantclient.patch
-Patch27: moc-boost-workaround.patch
+Patch17: %{name}-oracle-instantclient.patch
+# from Debian
+Patch18: add-lxde-support.patch
+Patch19: Better-handling-of-invalid-font-tables.patch
+Patch20: xmlpatterns_stack_overflow_fix.diff
+Patch21: no_libicu_message.diff
+Patch22: add-mate-support.patch
+
+# from FC
+Patch28: qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
+Patch29: qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch
+Patch30: qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch
+Patch31: qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch
+Patch32: qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
+Patch33: qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch
+Patch34: qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch
+Patch35: qt-4.8-poll.patch
+Patch36: qt-cupsEnumDests.patch
+Patch37: qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch
+Patch38: qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch
+Patch39: qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch
+Patch40: qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
+Patch41: qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch
+Patch42: qt-everywhere-opensource-src-4.8.7-gcc6.patch
+Patch43: qt-everywhere-opensource-src-4.6.2-cups.patch
+Patch44: qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch
+Patch45: qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
+Patch46: qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch
+Patch47: qt-everywhere-opensource-src-4.8.2--assistant-crash.patch
+Patch48: qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
+Patch49: icu59.patch
+Patch50: mysql-link.patch
+Patch51: gcc9.patch
+Patch52: gcc9-qforeach.patch
+Patch53: cxx11.patch
URL: http://qt-project.org/
%{?with_ibase:BuildRequires: Firebird-devel}
%{?with_openvg:BuildRequires: Mesa-libOpenVG-devel}
# the rest for qnmbearer plugin
Requires: QtDBus = %{version}-%{release}
Requires: QtXml = %{version}-%{release}
+%requires_ge_to openssl openssl-devel
%description -n QtNetwork
Qt classes for network programming.
%patch14 -p1
%patch15 -p1
%patch16 -p1
-%patch17 -p0
-%patch18 -p0
+%patch17 -p1
+
+%patch18 -p1
%patch19 -p1
%patch20 -p1
-
-%patch27 -p1
+%patch21 -p1
+%patch22 -p1
+
+%patch28 -p1
+%patch29 -p0
+%patch30 -p1
+%patch31 -p0
+%patch32 -p1
+%patch33 -p1
+%patch34 -p1
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
+%patch43 -p1
+%patch44 -p1
+%patch45 -p1
+%patch46 -p1
+%patch47 -p1
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p1
+%patch53 -p1
%{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
mkspecs/common/linux.conf
' mkspecs/common/linux.conf
# disable webkit tests, broken build
-rm -r src/3rdparty/webkit/Source/WebKit/qt/tests
+%{__rm} -r src/3rdparty/webkit/Source/WebKit/qt/tests
%build
# pass OPTFLAGS to build qmake itself with optimization
s|uic_location=.*|uic_location=%{_bindir}/uic-qt4|;
' $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
+# kill -std=XYZ, so qmake won't pass it over to other projects
+#%{__sed} -i -e s#^\(.*\) -std=[a-z0-9+]\+\( .*\|$\)#\1 \2#g' $RPM_BUILD_ROOT%{_datadir}/qt4/mkspecs/common/g++-base.conf
+
# libQtWebKit.la contains '-ljscore' and '-lwebcore', they come
# from src/3rdparty/webkit/{JavaScriptCore,WebCore}} but those libs aren't installed
%{__sed} -i -e "s,-lwebcore,,g;s,-ljscore,,g;" $RPM_BUILD_ROOT%{_libdir}/libQtWebKit.la
cd -
# multilib
-mv $RPM_BUILD_ROOT%{_qtdir}/bin/{qdbus,qdbusviewer} $RPM_BUILD_ROOT%{_bindir}
+%{__mv} $RPM_BUILD_ROOT%{_qtdir}/bin/{qdbus,qdbusviewer} $RPM_BUILD_ROOT%{_bindir}
ln -sf %{_bindir}/qdbus $RPM_BUILD_ROOT%{_qtdir}/bin/qdbus
ln -sf %{_bindir}/qdbusviewer $RPM_BUILD_ROOT%{_qtdir}/bin/qdbusviewer