#
# 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
%bcond_with sse42 # use SSE4.2 instructions (the same)
%bcond_with avx # use AVX instructions (future Intel x86 CPUs only)
-%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
+%ifnarch %{ix86} %{x8664} x32 sparc sparcv9 alpha ppc
%undefine with_ibase
%endif
%ifarch athlon
%define with_3dnow 1
%endif
-%ifarch athlon pentium3 pentium4 %{x8664}
+%ifarch athlon pentium3 pentium4 %{x8664} x32
%define with_mmx 1
%endif
-%ifarch pentium3 pentium4 %{x8664}
+%ifarch pentium3 pentium4 %{x8664} x32
%define with_sse 1
%endif
-%ifarch pentium4 %{x8664}
+%ifarch pentium4 %{x8664} x32
%define with_sse2 1
%endif
# any SQL
%define _withsql 1
%{!?with_sqlite3:%{!?with_sqlite:%{!?with_ibase:%{!?with_mysql:%{!?with_pgsql:%{!?with_odbc:%{!?with_oci:%undefine _withsql}}}}}}}
-%define icu_abi 59
+%define icu_abi 69
%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: 14
+Release: 34
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: openssl.patch
+Patch13: qt-asm-volatile.patch
Patch14: x32.patch
# backported from Qt5 (essentially)
# http://bugzilla.redhat.com/702493
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
+Patch54: gcc11.patch
+Patch55: qmap_inf_loop.patch
URL: http://qt-project.org/
%{?with_ibase:BuildRequires: Firebird-devel}
%{?with_openvg:BuildRequires: Mesa-libOpenVG-devel}
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_system_phonon:BuildRequires: gstreamer0.10-plugins-base-devel}
%{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.10}
# see dependency on libicu version below
BuildRequires: libicu-devel >= %{icu_abi}
%define _noautoreqdep libGL.so.1 libGLU.so.1
%define _noautostrip '.*_debug\\.so*'
-%define specflags -fno-strict-aliasing -std=gnu++98
+%define specflags -fno-strict-aliasing -Wno-deprecated
%define _qtdir %{_libdir}/qt4
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.
%patch9 -p1
%patch10 -p1
%{?with_wkhtml:%patch11 -p1}
-
+%patch12 -p1
+%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p1
+%patch53 -p1
+%patch54 -p1
+%patch55 -p1
%{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
mkspecs/common/linux.conf
s|^QMAKE_STRIP.*=.*|QMAKE_STRIP =|;
' mkspecs/common/linux.conf
+# disable gstreamer-0.10 based multimedia
+%{__sed} -i -e 's/gstreamer-0.10/&-disabled/' src/3rdparty/webkit/Source/WebCore/features.pri
+
# 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
%{!?with_sse41:-no-sse4.1} \
%{!?with_sse42:-no-sse4.2} \
%{!?with_avx:-no-avx} \
+ %{?with_system_phonon:-no-phonon} \
-qdbus \
-dbus-linked \
-reduce-relocations \
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
mkdevfl QtXml
mkdevfl QtXmlPatterns
mkdevfl Qt3Support
-mkdevfl phonon
+%{!?with_system_phonon:mkdevfl phonon}
# without *.la *.pc etc.
mkdevfl QtDesigner || /bin/true
ifecho demos %{_examplesdir}/qt4-demos/$f
done
-%if %{with system_phonon}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libphonon.so* \
- $RPM_BUILD_ROOT%{_libdir}/libphonon.{la,prl} \
- $RPM_BUILD_ROOT%{_libdir}/qt4/plugins/phonon_backend/libphonon_gstreamer.so \
- $RPM_BUILD_ROOT%{_pkgconfigdir}/phonon.pc
-%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/qt4/phonon
-%if %{with static_libs}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libphonon.a
-%endif
-%endif
-
%clean
rm -rf $RPM_BUILD_ROOT