#
# Conditional build:
-%bcond_without qch # documentation in QCH format
+%bcond_without doc # Documentation
+%bcond_without qm # QM translations
%define orgname qtquickcontrols
%define qtbase_ver %{version}
-%define qtdeclarative_ver %{version}
+%define qtdeclarative_ver 5.12.3-2
%define qttools_ver %{version}
Summary: The Qt5 Quick Controls modules
Summary(pl.UTF-8): Moduły Qt5 Quick Controls
Name: qt5-%{orgname}
-Version: 5.3.1
+Version: 5.15.1
Release: 1
-License: LGPL v2.1 with Digia Qt LGPL Exception v1.1 or GPL v3.0 (native code), BSD (Qml scripts)
+License: LGPL v3 or GPL v2 or commercial
Group: X11/Libraries
-Source0: http://download.qt-project.org/official_releases/qt/5.3/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
-# Source0-md5: 90bffd1ea73d2f13322b25aa1b2d5e25
-URL: http://qt-project.org/
+Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
+# Source0-md5: c84a116b1342d967aa5deae135f7a9e6
+Source1: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/qttranslations-everywhere-src-%{version}.tar.xz
+# Source1-md5: 4742dfcb8fa21a899341daabab241716
+URL: http://www.qt.io/
BuildRequires: Qt5Core-devel >= %{qtbase_ver}
BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
BuildRequires: Qt5Network-devel >= %{qtbase_ver}
BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver}
BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver}
BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
-%if %{with qch}
+%if %{with doc}
BuildRequires: qt5-assistant >= %{qttools_ver}
%endif
BuildRequires: qt5-build >= %{qtbase_ver}
+%{?with_qm:BuildRequires: qt5-linguist >= %{qttools_ver}}
BuildRequires: qt5-qmake >= %{qtbase_ver}
BuildRequires: rpmbuild(macros) >= 1.654
BuildRequires: tar >= 1:1.22
write web-enabled applications once and deploy them across desktop,
mobile and embedded systems without rewriting the source code.
-This package contains Qt5 Quick Controls, Dialogs, Layouts modules.
+This package contains Qt5 Quick Controls, Dialogs modules.
%description -l pl.UTF-8
Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
źródłowego.
-Ten pakiet zawiera moduły Qt5 Quick Controls, Dialogs i Layouts.
+Ten pakiet zawiera moduły Qt5 Quick Controls, Dialogs.
%package -n Qt5Quick-controls
Summary: The Qt5 Quick Controls modules
Obsoletes: qt5-qtquickcontrols
%description -n Qt5Quick-controls
-Qt5 Quick Controls, Dialogs, Layouts modules.
+Qt5 Quick Controls, Dialogs modules.
This package provides a set of widgets/controls that can be used to
build complete interfaces in Qt5 Quick (v2).
%description -n Qt5Quick-controls -l pl.UTF-8
-Moduły Qt5 Quick Controls, Dialogs i Layouts.
+Moduły Qt5 Quick Controls, Dialogs.
Ten pakiet dostarcza zestaw widgetów/kontrolek, które można
wykorzystywać do tworzenia kompletnych interfejsów przy użyciu Qt5
Dokumentacja do biblioteki Qt5 Quick Controls w formacie QCH.
%prep
-%setup -q -n %{orgname}-opensource-src-%{version}
+%setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1}
%build
qmake-qt5
%{__make}
-%{__make} %{!?with_qch:html_}docs
+%{?with_doc:%{__make} docs}
+
+%if %{with qm}
+cd qttranslations-everywhere-src-%{version}
+qmake-qt5
+%{__make}
+cd ..
+%endif
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
INSTALL_ROOT=$RPM_BUILD_ROOT
-%{__make} install_%{!?with_qch:html_}docs \
+%if %{with doc}
+%{__make} install_docs \
+ INSTALL_ROOT=$RPM_BUILD_ROOT
+%endif
+
+%if %{with qm}
+%{__make} -C qttranslations-everywhere-src-%{version} install \
INSTALL_ROOT=$RPM_BUILD_ROOT
+# keep only qtquickcontrols
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qt,qtbase,qtconnectivity,qtdeclarative,qtlocation,qtmultimedia,qtquickcontrols2,qtserialport,qtscript,qtwebengine,qtwebsockets,qtxmlpatterns}_*.qm
+%endif
+
+# find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
+find_qt5_qm()
+{
+ name="$1"
+ find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
+ sed -e "s:^$RPM_BUILD_ROOT::" \
+ -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
+}
+
+echo '%defattr(644,root,root,755)' > qtquickcontrols.lang
+%if %{with qm}
+find_qt5_qm qtquickcontrols >> qtquickcontrols.lang
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
-%files -n Qt5Quick-controls
+%files -n Qt5Quick-controls -f qtquickcontrols.lang
%defattr(644,root,root,755)
-%doc LGPL_EXCEPTION.txt README header.BSD dist/changes-*
+%doc README dist/changes-*
%dir %{qt5dir}/qml/QtQuick/Controls
%{qt5dir}/qml/QtQuick/Controls/Private
%{qt5dir}/qml/QtQuick/Controls/Styles
%attr(755,root,root) %{qt5dir}/qml/QtQuick/Controls/libqtquickcontrolsplugin.so
%{qt5dir}/qml/QtQuick/Controls/*.qml
+%{qt5dir}/qml/QtQuick/Controls/*.qmlc
%{qt5dir}/qml/QtQuick/Controls/plugins.qmltypes
%{qt5dir}/qml/QtQuick/Controls/qmldir
%dir %{qt5dir}/qml/QtQuick/Dialogs
%{qt5dir}/qml/QtQuick/Dialogs/Private
%attr(755,root,root) %{qt5dir}/qml/QtQuick/Dialogs/libdialogplugin.so
+%{qt5dir}/qml/QtQuick/Dialogs/*.qml
+%{qt5dir}/qml/QtQuick/Dialogs/*.qmlc
+%{qt5dir}/qml/QtQuick/Dialogs/images
%{qt5dir}/qml/QtQuick/Dialogs/plugins.qmltypes
+%{qt5dir}/qml/QtQuick/Dialogs/qml
%{qt5dir}/qml/QtQuick/Dialogs/qmldir
-%dir %{qt5dir}/qml/QtQuick/Layouts
-%attr(755,root,root) %{qt5dir}/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
-%{qt5dir}/qml/QtQuick/Layouts/plugins.qmltypes
-%{qt5dir}/qml/QtQuick/Layouts/qmldir
+%dir %{qt5dir}/qml/QtQuick/Extras
+%{qt5dir}/qml/QtQuick/Extras/designer
+%attr(755,root,root) %{qt5dir}/qml/QtQuick/Extras/libqtquickextrasplugin.so
+%{qt5dir}/qml/QtQuick/Extras/*.qml
+%{qt5dir}/qml/QtQuick/Extras/*.qmlc
+%{qt5dir}/qml/QtQuick/Extras/plugins.qmltypes
+%{qt5dir}/qml/QtQuick/Extras/qmldir
+%{qt5dir}/qml/QtQuick/Extras/Private
%dir %{qt5dir}/qml/QtQuick/PrivateWidgets
%attr(755,root,root) %{qt5dir}/qml/QtQuick/PrivateWidgets/libwidgetsplugin.so
%{qt5dir}/qml/QtQuick/PrivateWidgets/plugins.qmltypes
%{qt5dir}/qml/QtQuick/PrivateWidgets/qmldir
+%if %{with doc}
%files doc
%defattr(644,root,root,755)
-%{_docdir}/qt5-doc/qtquickcontrols
+%{_docdir}/qt5-doc/qtquickcontrols1
%{_docdir}/qt5-doc/qtquickdialogs
-%{_docdir}/qt5-doc/qtquicklayouts
+%{_docdir}/qt5-doc/qtquickextras
-%if %{with qch}
%files doc-qch
%defattr(644,root,root,755)
-%{_docdir}/qt5-doc/qtquickcontrols.qch
+%{_docdir}/qt5-doc/qtquickcontrols1.qch
%{_docdir}/qt5-doc/qtquickdialogs.qch
-%{_docdir}/qt5-doc/qtquicklayouts.qch
+%{_docdir}/qt5-doc/qtquickextras.qch
%endif