# - check Qt ui tool
#
# Conditional build:
-%bcond_with nas # enable NAS audio support
%bcond_without static_libs # don't build static libraries
-%bcond_without cups # disable CUPS support
-%bcond_without mysql # don't build MySQL plugin
-%bcond_without odbc # don't build unixODBC plugin
-%bcond_without pgsql # don't build PostgreSQL plugin
-%bcond_without sqlite3 # don't build SQLite3 plugin
-%bcond_without sqlite # don't build SQLite2 plugin
-%bcond_without ibase # don't build ibase (InterBase/Firebird) plugin
-%bcond_without pch # disable pch in qmake
-%bcond_without gtk # don't build GTK theme integration
-%bcond_without system_phonon # don't build phonon libraries
+# -- features
+%bcond_without cups # CUPS printing support
+%bcond_with nas # NAS audio support
+%bcond_without gtk # GTK+ theme integration
+%bcond_without pch # pch (pre-compiled headers) in qmake
+%bcond_without system_phonon # phonon libraries from phonon.spec intead of qt4.spec
+%bcond_with wkhtml # WKHTMLTOPDF patch (affects QtGui ABI)
+%bcond_with openvg # OpenVG support
+# -- databases
+%bcond_without mysql # MySQL plugin
+%bcond_without odbc # unixODBC plugin
+%bcond_without pgsql # PostgreSQL plugin
+%bcond_without sqlite3 # SQLite3 plugin
+%bcond_without sqlite # SQLite2 plugin
+%bcond_without ibase # ibase (InterBase/Firebird) plugin
+# -- SIMD CPU instructions
%bcond_with mmx # use MMX instructions
%bcond_with 3dnow # use 3Dnow instructions
%bcond_with sse # use SSE instructions in gui/painting module
%define _withsql 1
%{!?with_sqlite3:%{!?with_sqlite:%{!?with_ibase:%{!?with_mysql:%{!?with_pgsql:%{!?with_odbc:%undefine _withsql}}}}}}
-%define icu_abi 49
+%define icu_abi 54
%define next_icu_abi %(echo $((%{icu_abi} + 1)))
Summary: The Qt GUI application framework
Summary(pl.UTF-8): Biblioteka Qt do tworzenia GUI
Summary(pt_BR.UTF-8): Estrutura para rodar aplicações GUI Qt
Name: qt4
-Version: 4.8.4
-Release: 5
+Version: 4.8.6
+Release: 12
License: LGPL v2.1 or GPL v3.0
Group: X11/Libraries
-Source0: http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-%{version}.tar.gz
-# Source0-md5: 89c5ecba180cae74c66260ac732dc5cb
+Source0: http://download.qt-project.org/official_releases/qt/4.8/%{version}/qt-everywhere-opensource-src-%{version}.tar.gz
+# Source0-md5: 2edbe4d6c2eff33ef91732602f3518eb
Source2: %{name}-qtconfig.desktop
Source3: %{name}-designer.desktop
Source4: %{name}-assistant.desktop
Patch8: %{name}-ibase.patch
Patch9: qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
Patch10: webkit-no_Werror.patch
-Patch11: moc-boost148.patch
+Patch11: %{name}-wkhtml.patch
Patch12: fix-crash-in-assistant.patch
Patch13: improve-cups-support.patch
-Patch14: qt4-CVE-2013-0254.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
-URL: http://qt.nokia.com/
+Patch17: l-qclipboard_delay.patch
+Patch18: l-qclipboard_fix_recursive.patch
+Patch19: qtcore-4.8.5-honor-ExcludeSocketNotifiers-in-glib-event-loop.patch
+Patch20: 0010-QDbus-Fix-a-b-comparison.patch
+Patch21: 0023-Don-t-crash-on-broken-GIF-images.patch
+Patch22: 0025-Fix-visual-index-lookup-in-QTreeViewPrivate-adjustVi.patch
+Patch23: 0030-Memory-and-file-descriptor-leak-in-QFontCache.patch
+Patch24: 0034-Fix-raster-graphics-on-X11-RGB30.patch
+Patch25: 0065-Fix-QPainter-drawPolyline-painting-errors-with-cosme.patch
+Patch26: 0072-Fix-font-cache-check-in-QFontEngineFT-recalcAdvances.patch
+Patch27: moc-boost-workaround.patch
+URL: http://qt-project.org/
%{?with_ibase:BuildRequires: Firebird-devel}
-BuildRequires: Mesa-libOpenVG-devel
+%{?with_openvg:BuildRequires: Mesa-libOpenVG-devel}
BuildRequires: OpenGL-GLU-devel
BuildRequires: OpenGL-devel
BuildRequires: alsa-lib-devel
BuildRequires: dbus-devel >= 0.93
BuildRequires: fontconfig-devel
BuildRequires: freetds-devel
-BuildRequires: freetype-devel >= 1:2.0.0
+BuildRequires: freetype-devel >= 2.1.3
%{?with_pch:BuildRequires: gcc >= 5:4.0}
BuildRequires: glib2-devel >= 2.0.0
BuildRequires: gstreamer0.10-plugins-base-devel
%ifarch %{x8664} ppc64 sparc64 s390x
Requires: libicui18n.so.%{icu_abi}()(64bit)
%else
+%ifarch x32
+Requires: libicui18n.so.%{icu_abi}()(x32bit)
+%else
Requires: libicui18n.so.%{icu_abi}
%endif
+%endif
Obsoletes: QtAssistant
%description -n QtCore
Requires: QtCore-devel = %{version}-%{release}
Requires: QtGui = %{version}-%{release}
Requires: fontconfig-devel
-Requires: freetype-devel >= 1:2.0.0
+Requires: freetype-devel >= 2.1.3
Requires: libpng-devel >= 2:1.0.8
Requires: xorg-lib-libSM-devel
Requires: xorg-lib-libXcursor-devel
%patch8 -p1
%patch9 -p1
%patch10 -p1
-%patch11 -p1
+%{?with_wkhtml:%patch11 -p1}
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
+%patch17 -p0
+%patch18 -p0
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
%{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
mkspecs/common/linux.conf
%{?with_nas:-system-nas-sound} \
%{?debug:-debug} \
%{!?debug:-release} \
+ -%{!?with_openvg:no-}openvg \
-qt3support \
-fontconfig \
-largefile \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/env.d,%{_bindir},%{_desktopdir},%{_pixmapsdir},%{_pkgconfigdir}}
+install -d $RPM_BUILD_ROOT{/etc/{env.d,qt4},%{_bindir},%{_desktopdir},%{_pixmapsdir},%{_pkgconfigdir}}
install -d $RPM_BUILD_ROOT%{_qtdir}/plugins/{crypto,network}
+install -d $RPM_BUILD_ROOT%{_qtdir}/imports/org
+
+# for QtSolutions (qtlockedfile, qtsingleapplication, etc)
+install -d $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions
echo '#QT_GRAPHICSSYSTEM=raster' > $RPM_BUILD_ROOT/etc/env.d/QT_GRAPHICSSYSTEM
cd -
# Ship doc & qmake stuff
-ln -s %{_docdir}/%{name}-doc $RPM_BUILD_ROOT%{_qtdir}/doc
ln -s %{_datadir}/qt4/mkspecs $RPM_BUILD_ROOT%{_qtdir}/mkspecs
for f in $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc; do
mkdevfl QtMultimedia
mkdevfl QtNetwork
mkdevfl QtOpenGL
-mkdevfl QtOpenVG
+%{?with_openvg:mkdevfl QtOpenVG}
mkdevfl QtScript
mkdevfl QtScriptTools
mkdevfl QtSql
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQtCore.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libQtCore.so.4
+%dir /etc/qt4
%dir %{_qtdir}
%dir %{_qtdir}/bin
%dir %{_qtdir}/plugins
%dir %{_qtdir}/imports/QtWebKit
%attr(755,root,root) %{_qtdir}/imports/QtWebKit/*.so
%{_qtdir}/imports/QtWebKit/qmldir
+%dir %{_qtdir}/imports/org
%dir %{_qtdir}/plugins/qmltooling
%attr(755,root,root) %{_qtdir}/plugins/qmltooling/libqmldbg_tcp.so
%attr(755,root,root) %{_qtdir}/plugins/qmltooling/libqmldbg_inspector.so
%attr(755,root,root) %ghost %{_libdir}/libQtOpenGL.so.4
%attr(755,root,root) %{_qtdir}/plugins/graphicssystems/libqglgraphicssystem.so
+%if %{with openvg}
%files -n QtOpenVG
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQtOpenVG.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libQtOpenVG.so.4
+%endif
%files -n QtScript
%defattr(644,root,root,755)
%files doc
%defattr(644,root,root,755)
%{_docdir}/%{name}-doc
-%{_qtdir}/doc
%files -n QtCLucene-devel -f QtCLucene-devel.files
%defattr(644,root,root,755)
%files -n QtCore-devel -f QtCore-devel.files
%defattr(644,root,root,755)
+%dir %{_includedir}/qt4/QtSolutions
%files -n QtDBus-devel -f QtDBus-devel.files
%defattr(644,root,root,755)
%files -n QtOpenGL-devel -f QtOpenGL-devel.files
%defattr(644,root,root,755)
+%if %{with openvg}
%files -n QtOpenVG-devel -f QtOpenVG-devel.files
%defattr(644,root,root,755)
+%endif
%files -n QtScript-devel -f QtScript-devel.files
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%{_libdir}/libQtOpenGL.a
+%if %{with openvg}
%files -n QtOpenVG-static
%defattr(644,root,root,755)
%{_libdir}/libQtOpenVG.a
+%endif
%files -n QtScript-static
%defattr(644,root,root,755)