#
# Conditional build:
%bcond_with static_libs # static libraries [incomplete support in .spec]
+%bcond_with bootstrap # disable features to able to build without installed qt5
# -- build targets
%bcond_without qch # QCH documentation
%bcond_without qm # QM translations
%bcond_without pch # pch (pre-compiled headers) in qmake
%bcond_with systemd # logging to journald
%bcond_without tslib # tslib support
+%bcond_with openvg # OpenVG support
# -- databases
%bcond_without freetds # TDS (Sybase/MS SQL) plugin
%bcond_without mysql # MySQL plugin
%bcond_with avx # use AVX instructions (Intel since Sandy Bridge, AMD since Bulldozer)
%bcond_with avx2 # use AVX2 instructions (Intel since Haswell)
-%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 pentium4 %{x8664}
+%ifarch pentium4 %{x8664} x32
%define with_sse2 1
%endif
-%define icu_abi 53
+%if %{with bootstrap}
+%undefine with_qch
+%undefine with_qm
+%endif
+
+%define icu_abi 55
%define next_icu_abi %(echo $((%{icu_abi} + 1)))
%define orgname qtbase
Summary: Qt5 - base components
Summary(pl.UTF-8): Biblioteka Qt5 - podstawowe komponenty
Name: qt5-%{orgname}
-Version: 5.3.0
-Release: 1
+Version: 5.4.2
+Release: 0.1
# See LGPL_EXCEPTION.txt for exception details
License: LGPL v2 with Digia Qt LGPL Exception v1.1 or GPL v3
Group: X11/Libraries
-Source0: http://download.qt-project.org/official_releases/qt/5.3/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
-# Source0-md5: 4bc43a72e1b3d804171e5b52640e8d96
-Source1: http://download.qt-project.org/official_releases/qt/5.3/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
-# Source1-md5: 1f8d488b6ac26cdbec7f7f7364cd01d0
+Source0: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
+# Source0-md5: 67a95eec79ffc4a14f516ad6f3d24c96
+Source1: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
+# Source1-md5: 35151a736e3b720de4f5128386f9c834
Patch0: qtbase-oracle-instantclient.patch
+Patch1: %{name}-system_cacerts.patch
URL: http://qt-project.org/
%{?with_directfb:BuildRequires: DirectFB-devel}
BuildRequires: EGL-devel
%{?with_ibase:BuildRequires: Firebird-devel}
-BuildRequires: Mesa-libOpenVG-devel
+%{?with_openvg:BuildRequires: Mesa-libOpenVG-devel}
%{?with_kms:BuildRequires: Mesa-libgbm-devel}
BuildRequires: OpenGL-devel
%{?with_kms:BuildRequires: OpenGLESv2-devel}
BuildRequires: dbus-devel >= 1.2
BuildRequires: fontconfig-devel
%{?with_freetds:BuildRequires: freetds-devel}
-BuildRequires: freetype-devel >= 1:2.0.0
+BuildRequires: freetype-devel >= 2.1.3
%{?with_pch:BuildRequires: gcc >= 5:4.0}
BuildRequires: gdb
BuildRequires: glib2-devel >= 2.0.0
BuildRequires: xorg-lib-libXrandr-devel
BuildRequires: xorg-lib-libXrender-devel
BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.1
+BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.4.1
BuildRequires: xz
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Requires: Qt5DBus-devel = %{version}-%{release}
Requires: Qt5Gui-devel = %{version}-%{release}
Requires: fontconfig-devel
-Requires: freetype-devel
+Requires: freetype-devel >= 2.1.3
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXrender-devel
Requires: xorg-lib-libXext-devel
%description -n Qt5Widgets
The Qt5 Widgets library extends Qt 5 GUI with C++ widget
-functionality. This package contains also qtaccessiblewidgets plugin
-for Qt5 Gui library.
+functionality.
%description -n Qt5Widgets -l pl.UTF-8
Biblioteka Qt5 Widgets rozszerza graficzny interfejs Qt 5 o
-funkcjonalność widgetów C++. Pakiet zawiera także wtyczkę
-qtaccessiblewidgets dla biblioteki Qt5 Gui.
+funkcjonalność widgetów C++.
%package -n Qt5Widgets-devel
Summary: Qt5 Widgets library - development files
%package -n qt5-build
Summary: Qt5 build tools
-Summary(pl.UTF-8): Narzędzia do budowania dla Qt4
+Summary(pl.UTF-8): Narzędzia do budowania dla Qt5
Group: Development/Tools
%description -n qt5-build
%prep
%setup -q -n %{orgname}-opensource-src-%{version} %{?with_qm:-a1}
%patch0 -p1
+%patch1 -p1
%{__sed} -i -e 's,usr/X11R6/,usr/,g' mkspecs/linux-g++-64/qmake.conf
-system-xkbcommon \
-system-zlib \
%{?with_tslib:-tslib} \
+ -%{!?with_openvg:no-}openvg \
-xcursor \
-xfixes \
-xinerama \
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/etc/qt5,%{_bindir},%{_pkgconfigdir}}
+# for QtSolutions (qtlockedfile, qtsingleapplication, etc)
+install -d $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
+
%{__make} install \
INSTALL_ROOT=$RPM_BUILD_ROOT
%{__make} -C qttranslations-opensource-src-%{version} install \
INSTALL_ROOT=$RPM_BUILD_ROOT
# keep only qt and qtbase
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt_help,qtconfig,qtconnectivity,qtdeclarative,qtlocation,qtmultimedia,qtquick1,qtscript,qtxmlpatterns}_*.qm
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt_help,qtconfig,qtconnectivity,qtdeclarative,qtlocation,qtmultimedia,qtquick1,qtquickcontrols,qtscript,qtxmlpatterns}_*.qm
%else
install -d $RPM_BUILD_ROOT%{_datadir}/qt5/translations
%endif
# actually drop *.la, follow policy of not packaging them when *.pc exist
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
-# install tools
-install bin/findtr $RPM_BUILD_ROOT%{qt5dir}/bin
# symlinks in system bin dir
cd $RPM_BUILD_ROOT%{_bindir}
-ln -sf ../%{_lib}/qt5/bin/findtr findtr-qt5
ln -sf ../%{_lib}/qt5/bin/moc moc-qt5
ln -sf ../%{_lib}/qt5/bin/qmake qmake-qt5
ln -sf ../%{_lib}/qt5/bin/uic uic-qt5
}
echo "%defattr(644,root,root,755)" > examples.files
+ifecho_tree examples %{_examplesdir}/qt5/corelib
ifecho_tree examples %{_examplesdir}/qt5/dbus
ifecho_tree examples %{_examplesdir}/qt5/gui
-ifecho_tree examples %{_examplesdir}/qt5/ipc
-ifecho_tree examples %{_examplesdir}/qt5/json
ifecho_tree examples %{_examplesdir}/qt5/network
ifecho_tree examples %{_examplesdir}/qt5/opengl
ifecho_tree examples %{_examplesdir}/qt5/qpa
ifecho_tree examples %{_examplesdir}/qt5/qtconcurrent
ifecho_tree examples %{_examplesdir}/qt5/qtestlib
ifecho_tree examples %{_examplesdir}/qt5/sql
-ifecho_tree examples %{_examplesdir}/qt5/threads
-ifecho_tree examples %{_examplesdir}/qt5/tools
ifecho_tree examples %{_examplesdir}/qt5/touch
ifecho_tree examples %{_examplesdir}/qt5/widgets
ifecho_tree examples %{_examplesdir}/qt5/xml
%attr(755,root,root) %{_libdir}/libQt5Core.so
%{_libdir}/libQt5Core.prl
%dir %{_includedir}/qt5
+%dir %{_includedir}/qt5/QtSolutions
%{_includedir}/qt5/QtCore
%{_pkgconfigdir}/Qt5Core.pc
%{_libdir}/cmake/Qt5
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQt5Gui.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libQt5Gui.so.5
-# loaded from src/gui/accessible/qaccessible.cpp
-%dir %{qt5dir}/plugins/accessible
# loaded from src/gui/kernel/qgenericpluginfactory.cpp
%dir %{qt5dir}/plugins/generic
# R: udev-libs (by all qevdev* plugins)
%attr(755,root,root) %{_libdir}/libQt5Gui.so
%{_libdir}/libQt5Gui.prl
%{_includedir}/qt5/QtGui
+%{_includedir}/qt5/QtPlatformHeaders
%{_pkgconfigdir}/Qt5Gui.pc
%{_libdir}/cmake/Qt5Gui/Qt5GuiConfig*.cmake
%{_libdir}/cmake/Qt5Gui/Qt5Gui_QEvdevKeyboardPlugin.cmake
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQt5Widgets.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libQt5Widgets.so.5
-# Qt5Gui plugin which requires Qt5Widgets
-%attr(755,root,root) %{qt5dir}/plugins/accessible/libqtaccessiblewidgets.so
%files -n Qt5Widgets-devel
%defattr(644,root,root,755)
%dir %{_libdir}/cmake/Qt5Widgets
%{_libdir}/cmake/Qt5Widgets/Qt5WidgetsConfig*.cmake
%{_libdir}/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake
-%{_libdir}/cmake/Qt5Widgets/Qt5Widgets_AccessibleFactory.cmake
%{qt5dir}/mkspecs/modules/qt_lib_widgets.pri
%{qt5dir}/mkspecs/modules/qt_lib_widgets_private.pri
%{_docdir}/qt5-doc/qtgui
%{_docdir}/qt5-doc/qtnetwork
%{_docdir}/qt5-doc/qtopengl
+%{_docdir}/qt5-doc/qtplatformheaders
%{_docdir}/qt5-doc/qtprintsupport
%{_docdir}/qt5-doc/qtsql
%{_docdir}/qt5-doc/qttestlib
%{_docdir}/qt5-doc/qtgui.qch
%{_docdir}/qt5-doc/qtnetwork.qch
%{_docdir}/qt5-doc/qtopengl.qch
+%{_docdir}/qt5-doc/qtplatformheaders.qch
%{_docdir}/qt5-doc/qtprintsupport.qch
%{_docdir}/qt5-doc/qtsql.qch
%{_docdir}/qt5-doc/qttestlib.qch
%files -n qt5-build
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/findtr-qt5
%attr(755,root,root) %{_bindir}/moc-qt5
%attr(755,root,root) %{_bindir}/qdbuscpp2xml-qt5
%attr(755,root,root) %{_bindir}/qdbusxml2cpp-qt5
%attr(755,root,root) %{_bindir}/qlalr-qt5
%attr(755,root,root) %{_bindir}/rcc-qt5
%attr(755,root,root) %{_bindir}/uic-qt5
-%attr(755,root,root) %{qt5dir}/bin/findtr
%attr(755,root,root) %{qt5dir}/bin/moc
%attr(755,root,root) %{qt5dir}/bin/qdbuscpp2xml
%attr(755,root,root) %{qt5dir}/bin/qdbusxml2cpp