#
# Conditional build:
-%bcond_without qch # documentation in QCH format
+%bcond_without qch # documentation in QCH format
+%bcond_without qm # QM translations
+%bcond_without qtxmlpatterns # XmlListModel plugin (Qt5XmlPatterns based)
%define orgname qtdeclarative
-%define qtbase_ver %{version}
-%define qttools_ver %{version}
+%define qtbase_ver %{version}
+%define qttools_ver %{version}
+%define qtxmlpatterns_ver %{version}
Summary: The Qt5 Declarative libraries
Summary(pl.UTF-8): Biblioteki Qt5 Declarative
Name: qt5-%{orgname}
-Version: 5.3.0
+Version: 5.3.1
Release: 1
License: LGPL v2.1 with Digia Qt LGPL Exception v1.1 or GPL v3.0
Group: X11/Libraries
Source0: http://download.qt-project.org/official_releases/qt/5.3/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
-# Source0-md5: 9e29d2b481c771ce5c798a3319835673
+# Source0-md5: 765579f4f64cb64a812c8a80104eb8ec
+Source1: http://download.qt-project.org/official_releases/qt/5.3/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
+# Source1-md5: d43878fc7a5b9fdee03039770dbac1fa
URL: http://qt-project.org/
BuildRequires: OpenGL-devel
BuildRequires: Qt5Core-devel >= %{qtbase_ver}
BuildRequires: Qt5Sql-devel >= %{qtbase_ver}
BuildRequires: Qt5Test-devel >= %{qtbase_ver}
BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
+%{?with_qtxmlpatterns:BuildRequires: Qt5XmlPatterns-devel >= %{qtxmlpatterns_ver}}
%if %{with qch}
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
%description -n Qt5Quick-devel -l pl.UTF-8
Biblioteki Qt5 Qml - pliki programistyczne.
+%package -n Qt5Quick-xmllistmodel
+Summary: XmlListModel plugin for Qt5 Quick
+Summary(pl.UTF-8): Wtyczka XmlListModel dla Qt5 Quick
+Group: X11/Libraries
+Requires: Qt5Qml = %{version}-%{release}
+Requires: Qt5Quick = %{version}-%{release}
+Requires: Qt5XmlPatterns >= %{qtxmlpatterns_ver}
+
+%description -n Qt5Quick-xmllistmodel
+XmlListModel plugin for Qt5 Quick provides QML types for creating
+models from XML data.
+
+%description -n Qt5Quick-xmllistmodel -l pl.UTF-8
+Wtyczka XmlListModel dla Qt5 Quick dostarcza typy QML do tworzenia
+modeli z danych XML.
+
%package doc
Summary: Qt5 Declarative documentation in HTML format
Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Declarative w formacie HTML
Przykłady do bibliotek Qt5 Declarative.
%prep
-%setup -q -n %{orgname}-opensource-src-%{version}
+%setup -q -n %{orgname}-opensource-src-%{version} %{?with_qm:-a1}
%build
qmake-qt5
%{__make}
%{__make} %{!?with_qch:html_}docs
+%if %{with qm}
+cd qttranslations-opensource-src-%{version}
+qmake-qt5
+%{__make}
+cd ..
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_bindir}
%{__make} install_%{!?with_qch:html_}docs \
INSTALL_ROOT=$RPM_BUILD_ROOT
+%if %{with qm}
+%{__make} -C qttranslations-opensource-src-%{version} install \
+ INSTALL_ROOT=$RPM_BUILD_ROOT
+# keep only qtdeclarative
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt,qtbase,qtconfig,qtconnectivity,qtlocation,qtmultimedia,qtquick1,qtscript,qtxmlpatterns}_*.qm
+%endif
+
# kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
%{__sed} -i -e "s,-L%{_libdir} \?,,g" \
$RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
ifecho_tree examples %{_examplesdir}/qt5/qmltest
ifecho_tree examples %{_examplesdir}/qt5/quick
+# 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)' > qtdeclarative.lang
+%if %{with qm}
+find_qt5_qm qtdeclarative >> qtdeclarative.lang
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{qt5dir}/bin/qmlscene
%attr(755,root,root) %{qt5dir}/bin/qmltestrunner
-%files -n Qt5Qml
+%files -n Qt5Qml -f qtdeclarative.lang
%defattr(644,root,root,755)
%doc LGPL_EXCEPTION.txt
%attr(755,root,root) %{_libdir}/libQt5Qml.so.*.*.*
%attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_qtquick2.so
%dir %{qt5dir}/qml/QtQuick
+
%dir %{qt5dir}/qml/QtQuick/LocalStorage
# R: Core Qml Sql
%attr(755,root,root) %{qt5dir}/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
%{qt5dir}/qml/QtQuick/LocalStorage/plugins.qmltypes
%{qt5dir}/qml/QtQuick/LocalStorage/qmldir
+
%dir %{qt5dir}/qml/QtQuick/Particles.2
# R: Core Qml QuickParticles
%attr(755,root,root) %{qt5dir}/qml/QtQuick/Particles.2/libparticlesplugin.so
%{qt5dir}/qml/QtQuick/Particles.2/plugins.qmltypes
%{qt5dir}/qml/QtQuick/Particles.2/qmldir
+
%dir %{qt5dir}/qml/QtQuick/Window.2
# R: Core Qml Quick
%attr(755,root,root) %{qt5dir}/qml/QtQuick/Window.2/libwindowplugin.so
%{qt5dir}/qml/QtQuick/Window.2/plugins.qmltypes
%{qt5dir}/qml/QtQuick/Window.2/qmldir
+
%dir %{qt5dir}/qml/QtQuick.2
# R: Core Qml Quick
%attr(755,root,root) %{qt5dir}/qml/QtQuick.2/libqtquick2plugin.so
%{qt5dir}/qml/QtQuick.2/plugins.qmltypes
%{qt5dir}/qml/QtQuick.2/qmldir
+
%dir %{qt5dir}/qml/QtTest
# R: Core Gui Qml QuickTest Test
%attr(755,root,root) %{qt5dir}/qml/QtTest/libqmltestplugin.so
%{qt5dir}/mkspecs/modules/qt_lib_quickwidgets.pri
%{qt5dir}/mkspecs/modules/qt_lib_quickwidgets_private.pri
+%if %{with qtxmlpatterns}
+%files -n Qt5Quick-xmllistmodel
+%defattr(644,root,root,755)
+%dir %{qt5dir}/qml/QtQuick/XmlListModel
+# R: Core Network Qml XmlPatterns
+%attr(755,root,root) %{qt5dir}/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
+%{qt5dir}/qml/QtQuick/XmlListModel/plugins.qmltypes
+%{qt5dir}/qml/QtQuick/XmlListModel/qmldir
+%endif
+
%files doc
%defattr(644,root,root,755)
%{_docdir}/qt5-doc/qtqml