# - 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)
+# -- 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 53
+%define next_icu_abi %(echo $((%{icu_abi} + 1)))
+
Summary: The Qt GUI application framework
Summary(es.UTF-8): Biblioteca para ejecutar aplicaciones GUI Qt
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: 3
+Version: 4.8.6
+Release: 2
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
# 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/
+URL: http://qt-project.org/
%{?with_ibase:BuildRequires: Firebird-devel}
BuildRequires: Mesa-libOpenVG-devel
BuildRequires: OpenGL-GLU-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
%{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.10}
# see dependency on libicu version below
-BuildRequires: libicu-devel < 50
-BuildRequires: libicu-devel >= 49
+BuildRequires: libicu-devel >= %{icu_abi}
+BuildRequires: libicu-devel < %{next_icu_abi}
BuildRequires: libjpeg-devel
BuildRequires: libmng-devel >= 1.0.0
BuildRequires: libpng-devel >= 2:1.0.8
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: pulseaudio-devel >= 0.9.10
BuildRequires: rpmbuild(macros) >= 1.654
+BuildRequires: rsync
BuildRequires: sed >= 4.0
%{?with_sqlite:BuildRequires: sqlite-devel}
%{?with_sqlite3:BuildRequires: sqlite3-devel}
Summary: Qt core classes used by other modules
Summary(pl.UTF-8): Podstawowe klasy Qt używane przez inne moduły
Group: X11/Libraries
-%requires_eq libicu
+%requires_eq_to libicu libicu-devel
# be sure to depend on proper arch.
-%ifarch %{ix86}
-Requires: libicui18n.so.49
-%endif
-%ifarch %{x8664}
-Requires: libicui18n.so.49()(64bit)
+%ifarch %{x8664} ppc64 sparc64 s390x
+Requires: libicui18n.so.%{icu_abi}()(64bit)
+%else
+Requires: libicui18n.so.%{icu_abi}
%endif
Obsoletes: QtAssistant
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
Zaawansowane narzędzie służące do projektowania interfejsu graficznego
za pomocą biblioteki Qt.
+%package devel-private
+Summary: Private Qt headers files
+Group: X11/Development/Libraries
+Requires: QtCore-devel = %{version}-%{release}
+Requires: QtDeclarative-devel = %{version}-%{release}
+Requires: QtGui-devel = %{version}-%{release}
+Requires: QtScript-devel = %{version}-%{release}
+
+%description devel-private
+Private Qt headers files - for calibre
+
%package linguist
Summary: Translation helper for Qt
Summary(pl.UTF-8): Aplikacja ułatwiająca tłumaczenie aplikacji opartych o Qt
Summary(pl.UTF-8): Dokumentacja Qt w formacie HTML
Group: X11/Development/Libraries
Suggests: %{name}-assistant = %{version}-%{release}
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description doc
Qt documentation in HTML format.
%patch8 -p1
%patch9 -p1
%patch10 -p1
-%patch11 -p1
+%{?with_wkhtml:%patch11 -p1}
%patch12 -p1
%patch13 -p1
-%patch14 -p1
+
%patch15 -p1
%patch16 -p1
%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
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
sed -i -e "s:-DQT_SHARED:-DQT_SHARED $DEFS:" $f
done
+# Ship private headers - ugly hack to build calibre
+install -d $RPM_BUILD_ROOT%{_includedir}/qt4/private
+rsync -aR include/QtCore/private \
+ include/QtDeclarative/private \
+ include/QtGui/private \
+ include/QtScript/private \
+ $RPM_BUILD_ROOT%{_includedir}/qt4/private
+rsync -aR src/corelib/*/*_p.h \
+ src/declarative/*/*_p.h \
+ src/gui/*/*_p.h \
+ src/script/*/*_p.h \
+ $RPM_BUILD_ROOT%{_includedir}/qt4/private
+
+
# Prepare some files list
ifecho() {
RESULT=`echo $RPM_BUILD_ROOT$2 2>/dev/null`
%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
%{_desktopdir}/designer-qt4.desktop
%{_pixmapsdir}/designer-qt4.png
+%files devel-private
+%defattr(644,root,root,755)
+%{_includedir}/qt4/private
+
%files linguist
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/findtr-qt4
%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)