#
# Conditional build:
%bcond_without qch # documentation in QCH format
+%bcond_without qm # QM translations
%define orgname qtquick1
%define qtbase_ver %{version}
%define qtdeclarative_ver %{version}
%define qtscript_ver %{version}
%define qttools_ver %{version}
+%define qtwebkit_ver %{version}
%define qtxmlpatterns_ver %{version}
Summary: The Qt5 Quick1 (Qt5Declarative) library
Summary(pl.UTF-8): Biblioteka Qt5 Quick1 (Qt5Declarative)
Name: qt5-%{orgname}
-Version: 5.3.0
+Version: 5.5.1
Release: 1
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: cd6ffd4a29f7050f71670e7afec09e5d
-URL: http://qt-project.org/
+Source0: http://download.qt.io/official_releases/qt/5.5/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
+# Source0-md5: 46a61a405844cbe88a754127422f6b6d
+Source1: http://download.qt.io/official_releases/qt/5.5/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
+# Source1-md5: 1f89d53fe759db123b4b6d9de9d9e8c9
+URL: http://www.qt.io/
BuildRequires: Qt5Core-devel >= %{qtbase_ver}
BuildRequires: Qt5Designer-devel >= %{qttools_ver}
BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
BuildRequires: Qt5OpenGL-devel >= %{qtbase_ver}
BuildRequires: Qt5Script-devel >= %{qtscript_ver}
BuildRequires: Qt5Sql-devel >= %{qtbase_ver}
-#TODO: BuildRequires: Qt5WebkitWidgets-devel >= %{qtwebkit_ver}
+# uiplugin module
+BuildRequires: Qt5UiTools-devel >= %{qttools_ver}
+BuildRequires: Qt5WebKit-devel >= %{qtwebkit_ver}
BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
BuildRequires: Qt5XmlPatterns-devel >= %{qtxmlpatterns_ver}
%if %{with qch}
BuildRequires: qt5-assistant >= %{qttools_ver}
%endif
BuildRequires: qt5-build >= %{qtbase_ver}
+%{?with_qm:BuildRequires: qt5-linguist >= 5.2}
BuildRequires: qt5-qmake >= %{qtbase_ver}
BuildRequires: rpmbuild(macros) >= 1.654
BuildRequires: sed >= 4.0
Summary: Qt5 Quick1 (Qt5Declarative) library - development files
Summary(pl.UTF-8): Biblioteka Qt5 Quick1 (Qt5Declarative) - pliki programistyczne
Group: X11/Development/Libraries
-Requires: %{name} = %{version}-%{release}
Requires: OpenGL-devel
Requires: Qt5Core-devel >= %{qtbase_ver}
+Requires: Qt5Declarative = %{version}-%{release}
Requires: Qt5Gui-devel >= %{qtbase_ver}
Requires: Qt5Network-devel >= %{qtbase_ver}
Requires: Qt5Script-devel >= %{qtscript_ver}
%description -n Qt5Declarative-devel -l pl.UTF-8
Biblioteka Qt5 Quick1 (Qt5Declarative) - pliki programistyczne.
-%package -n Qt5Designer-qdeclarativeview
+%package -n Qt5Declarative-plugin-webkit
+Summary: WebKit plugin for Qt5 Quick1 library
+Summary(pl.UTF-8): Wtyczka WebKit dla biblioteki Qt5 Quick1
+Group: X11/Libraries
+Requires: Qt5Declarative = %{version}-%{release}
+Requires: Qt5WebKit >= %{qtwebkit_ver}
+Obsoletes: Qt5Declarative-webkit
+
+%description -n Qt5Declarative-plugin-webkit
+WebKit plugin for Qt5 Quick1 library.
+
+%description -n Qt5Declarative-plugin-webkit -l pl.UTF-8
+Wtyczka WebKit dla biblioteki Qt5 Quick1.
+
+%package -n Qt5Designer-plugin-qdeclarativeview
Summary: QDeclarativeView (Quick1) plugin for Qt5 Designer
Summary(pl.UTF-8): Wtyczka QDeclarativeView (Quick1) dla Qt5 Designera
Group: X11/Libraries
Requires: Qt5Declarative = %{version}-%{release}
Requires: Qt5Designer >= %{qttools_ver}
Requires: Qt5Widgets >= %{qtbase_ver}
+Obsoletes: Qt5Designer-qdeclarativeview
-%description -n Qt5Designer-qdeclarativeview
+%description -n Qt5Designer-plugin-qdeclarativeview
QDeclarativeView (Quick1) plugin for Qt5 Designer.
-%description -n Qt5Designer-qdeclarativeview -l pl.UTF-8
+%description -n Qt5Designer-plugin-qdeclarativeview -l pl.UTF-8
Wtyczka QDeclarativeView (Quick1) dla Qt5 Designera.
%package doc
Summary: Qt5 Quick1 (Qt5Declarative) documentation in HTML format
Summary(pl.UTF-8): Dokumentacja do biblioteki Qt5 Quick1 (Qt5Declarative) w formacie HTML
Group: Documentation
-%if "%{_rpmversion}" >= "5"
+Requires: qt5-doc-common >= %{qtbase_ver}
BuildArch: noarch
-%endif
%description doc
Qt5 Quick1 (Qt5Declarative) documentation in HTML format.
Summary(pl.UTF-8): Dokumentacja do biblioteki Qt5 Quick1 (Qt5Declarative) w formacie QCH
Group: Documentation
Requires: qt5-doc-common >= %{qtbase_ver}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc-qch
Qt5 Quick1 (Qt5Declarative) documentation in QCH format.
Summary: Qt5 Quick1 (Qt5Declarative) examples
Summary(pl.UTF-8): Przykłady do biblioteki Qt5 Quick1 (Qt5Declarative)
Group: X11/Development/Libraries
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description examples
Qt5 Quick1 (Qt5Declarative) examples.
Przykłady do biblioteki Qt5 Quick1 (Qt5Declarative).
%prep
-%setup -q -n %{orgname}-opensource-src-%{version}
+%setup -q -n %{orgname}-opensource-src-%{version} %{?with_qm:-a1}
# enable docs
%{__sed} -i -e '/^# SUBDIRS += doc/s/^# //' src/src.pro
%{__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
%{__make} install \
%{__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 qmlviewer and qtquick1
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qt,qtbase,qtconfig,qtconnectivity,qtdeclarative,qtlocation,qtmultimedia,qtquickcontrols,qtscript,qtwebsockets,qtxmlpatterns}_*.qm
+%endif
+
# useless symlinks
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?
# actually drop *.la, follow policy of not packaging them when *.pc exist
echo "%defattr(644,root,root,755)" > examples.files
ifecho_tree examples %{_examplesdir}/qt5/declarative
+# 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)' > qtquick1.lang
+%if %{with qm}
+find_qt5_qm qmlviewer >> qtquick1.lang
+find_qt5_qm qtquick1 >> qtquick1.lang
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
%post -n Qt5Declarative -p /sbin/ldconfig
%postun -n Qt5Declarative -p /sbin/ldconfig
-%files -n Qt5Declarative
+%files -n Qt5Declarative -f qtquick1.lang
%defattr(644,root,root,755)
%doc LGPL_EXCEPTION.txt dist/changes-*
%attr(755,root,root) %{_libdir}/libQt5Declarative.so.*.*.*
%{_libdir}/libQt5Declarative.prl
%{_includedir}/qt5/QtDeclarative
%{_pkgconfigdir}/Qt5Declarative.pc
-%{_libdir}/cmake/Qt5Declarative
+%dir %{_libdir}/cmake/Qt5Declarative
+%{_libdir}/cmake/Qt5Declarative/Qt5DeclarativeConfig*.cmake
+%{_libdir}/cmake/Qt5Declarative/Qt5Declarative_QTcpServerConnection.cmake
+%{_libdir}/cmake/Qt5Declarative/Qt5Declarative_QtQuick1Plugin.cmake
%{qt5dir}/mkspecs/modules/qt_lib_declarative.pri
%{qt5dir}/mkspecs/modules/qt_lib_declarative_private.pri
-%files -n Qt5Designer-qdeclarativeview
+%files -n Qt5Declarative-plugin-webkit
+%defattr(644,root,root,755)
+%dir %{qt5dir}/imports/QtWebKit
+%attr(755,root,root) %{qt5dir}/imports/QtWebKit/libqmlwebkitplugin.so
+%{qt5dir}/imports/QtWebKit/plugins.qmltypes
+%{qt5dir}/imports/QtWebKit/qmldir
+
+%files -n Qt5Designer-plugin-qdeclarativeview
%defattr(644,root,root,755)
%attr(755,root,root) %{qt5dir}/plugins/designer/libqdeclarativeview.so
%{_libdir}/cmake/Qt5Designer/Qt5Designer_QDeclarativeViewPlugin.cmake