-# TODO:
-# Not packaged:
-# /usr/include/KF5
-# /usr/share/kservicetypes5
-
-%define _state stable
-%define orgname kdeclarative
+#
+# Conditional build:
+%bcond_with tests # build with tests
+%define kdeframever 5.92
+%define qtver 5.9.0
+%define kfname kdeclarative
Summary: Integration of QML and KDE work spaces
-Name: kf5-%{orgname}
-Version: 5.0.0
-Release: 0.1
+Name: kf5-%{kfname}
+Version: 5.92.0
+Release: 1
License: LGPL v2.1+
Group: X11/Libraries
-Source0: ftp://ftp.kde.org/pub/kde/%{_state}/frameworks/%{version}/%{orgname}-%{version}.tar.xz
-# Source0-md5: 9ffd395578771ff0933532aa9a83061f
+Source0: https://download.kde.org/stable/frameworks/%{kdeframever}/%{kfname}-%{version}.tar.xz
+# Source0-md5: 8548b2884b0794f1aec613640d745ce0
URL: http://www.kde.org/
-BuildRequires: Qt5Core-devel >= 5.2.0
-BuildRequires: Qt5DBus-devel >= 5.2.0
-BuildRequires: Qt5Gui-devel
-BuildRequires: Qt5Network-devel >= 5.3.1
-BuildRequires: Qt5Qml-devel
-BuildRequires: Qt5Quick-devel
-BuildRequires: Qt5Test-devel
-BuildRequires: Qt5Widgets-devel >= 5.2.0
-BuildRequires: Qt5Xml-devel >= 5.2.0
+BuildRequires: Qt5Core-devel >= %{qtver}
+BuildRequires: Qt5DBus-devel >= %{qtver}
+BuildRequires: Qt5Gui-devel >= %{qtver}
+BuildRequires: Qt5Network-devel >= %{qtver}
+BuildRequires: Qt5Qml-devel >= %{qtver}
+BuildRequires: Qt5Quick-devel >= %{qtver}
+BuildRequires: Qt5Test-devel >= %{qtver}
+BuildRequires: Qt5Widgets-devel >= %{qtver}
+BuildRequires: Qt5Xml-devel >= %{qtver}
BuildRequires: cmake >= 2.8.12
BuildRequires: gettext-devel
BuildRequires: kf5-attica-devel >= %{version}
-BuildRequires: kf5-extra-cmake-modules >= 1.0.0
+BuildRequires: kf5-extra-cmake-modules >= %{version}
BuildRequires: kf5-kauth-devel >= %{version}
BuildRequires: kf5-kbookmarks-devel >= %{version}
BuildRequires: kf5-kcodecs-devel >= %{version}
BuildRequires: kf5-kio-devel >= %{version}
BuildRequires: kf5-kitemviews-devel >= %{version}
BuildRequires: kf5-kjobwidgets-devel >= %{version}
+BuildRequires: kf5-kpackage-devel >= %{version}
BuildRequires: kf5-kservice-devel >= %{version}
BuildRequires: kf5-ktextwidgets-devel >= %{version}
BuildRequires: kf5-kwidgetsaddons-devel >= %{version}
BuildRequires: kf5-kxmlgui-devel >= %{version}
BuildRequires: kf5-solid-devel >= %{version}
BuildRequires: kf5-sonnet-devel >= %{version}
+BuildRequires: libepoxy-devel
+BuildRequires: ninja
BuildRequires: rpmbuild(macros) >= 1.164
BuildRequires: tar >= 1:1.22
BuildRequires: xz
+Requires: kf5-dirs
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define qt5dir %{_libdir}/qt5
KDeclarative provides integration of QML and KDE work spaces.
%package devel
-Summary: Header files for %{orgname} development
-Summary(pl.UTF-8): Pliki nagłówkowe dla programistów używających %{orgname}
+Summary: Header files for %{kfname} development
+Summary(pl.UTF-8): Pliki nagłówkowe dla programistów używających %{kfname}
Group: X11/Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: kf5-kconfig-devel
+Requires: kf5-kpackage-devel
%description devel
-Header files for %{orgname} development.
+Header files for %{kfname} development.
%description devel -l pl.UTF-8
-Pliki nagłówkowe dla programistów używających %{orgname}.
+Pliki nagłówkowe dla programistów używających %{kfname}.
%prep
-%setup -q -n %{orgname}-%{version}
+%setup -q -n %{kfname}-%{version}
%build
install -d build
cd build
-%cmake \
- -DBIN_INSTALL_DIR=%{_bindir} \
- -DKCFG_INSTALL_DIR=%{_datadir}/config.kcfg \
- -DPLUGIN_INSTALL_DIR=%{qt5dir}/plugins \
- -DQT_PLUGIN_INSTALL_DIR=%{qt5dir}/plugins \
- -DQML_INSTALL_DIR=%{qt5dir}/qml \
- -DIMPORTS_INSTALL_DIR=%{qt5dirs}/imports \
- -DSYSCONF_INSTALL_DIR=%{_sysconfdir} \
- -DLIBEXEC_INSTALL_DIR=%{_libexecdir} \
- -DKF5_LIBEXEC_INSTALL_DIR=%{_libexecdir} \
- -DKF5_INCLUDE_INSTALL_DIR=%{_includedir} \
- -DECM_MKSPECS_INSTALL_DIR=%{qt5dir}/mkspecs/modules \
- -D_IMPORT_PREFIX=%{_prefix} \
+%cmake -G Ninja \
+ %{!?with_tests:-DBUILD_TESTING=OFF} \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
../
-%{__make}
+%ninja_build
+
+%if %{with tests}
+ctest
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
+%ninja_install -C build
-%{__make} -C build/ install \
- DESTDIR=$RPM_BUILD_ROOT
-
-%find_lang %{orgname}5
+%find_lang %{kfname}5
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%files -f %{orgname}5.lang
+%files -f %{kfname}5.lang
%defattr(644,root,root,755)
%doc README.md
-%attr(755,root,root) %ghost %{_libdir}/libKF5Declarative.so.5
-%attr(755,root,root) %{_libdir}/libKF5Declarative.so.5.0.0
+%attr(755,root,root) %{_bindir}/kpackagelauncherqml
+%ghost %{_libdir}/libKF5CalendarEvents.so.5
+%attr(755,root,root) %{_libdir}/libKF5CalendarEvents.so.5.*.*
+%ghost %{_libdir}/libKF5Declarative.so.5
+%attr(755,root,root) %{_libdir}/libKF5Declarative.so.*.*
+%ghost %{_libdir}/libKF5QuickAddons.so.5
+%attr(755,root,root) %{_libdir}/libKF5QuickAddons.so.*.*
+%{_libdir}/qt5/qml/org/kde/kio/qmldir
+%attr(755,root,root) %{qt5dir}/qml/org/kde/kio/libkio.so
+%{_libdir}/qt5/qml/org/kde/kwindowsystem/qmldir
+%attr(755,root,root) %{qt5dir}/qml/org/kde/kwindowsystem/libkwindowsystem.so
%attr(755,root,root) %{qt5dir}/qml/org/kde/draganddrop/libdraganddropplugin.so
%{qt5dir}/qml/org/kde/draganddrop/qmldir
%attr(755,root,root) %{qt5dir}/qml/org/kde/kcoreaddons/libkcoreaddonsplugin.so
%{qt5dir}/qml/org/kde/kcoreaddons/qmldir
+%{qt5dir}/qml/org/kde/kquickcontrols/ColorButton.qml
%{qt5dir}/qml/org/kde/kquickcontrols/KeySequenceItem.qml
%{qt5dir}/qml/org/kde/kquickcontrols/qmldir
%attr(755,root,root) %{qt5dir}/qml/org/kde/kquickcontrolsaddons/libkquickcontrolsaddonsplugin.so
%{qt5dir}/qml/org/kde/kquickcontrolsaddons/qmldir
%attr(755,root,root) %{qt5dir}/qml/org/kde/private/kquickcontrols/libkquickcontrolsprivateplugin.so
%{qt5dir}/qml/org/kde/private/kquickcontrols/qmldir
+%attr(755,root,root) %{_libdir}/qt5/qml/org/kde/kconfig/libkconfigplugin.so
+%{_libdir}/qt5/qml/org/kde/kconfig/qmldir
+%dir %{_libdir}/qt5/qml/org/kde/kcm
+%{_libdir}/qt5/qml/org/kde/kcm/GridDelegate.qml
+%{_libdir}/qt5/qml/org/kde/kcm/GridView.qml
+%{_libdir}/qt5/qml/org/kde/kcm/GridViewKCM.qml
+%{_libdir}/qt5/qml/org/kde/kcm/SimpleKCM.qml
+%{_libdir}/qt5/qml/org/kde/kcm/libkcmcontrolsplugin.so
+%dir %{_libdir}/qt5/qml/org/kde/kcm/private
+%{_libdir}/qt5/qml/org/kde/kcm/private/GridViewInternal.qml
+%{_libdir}/qt5/qml/org/kde/kcm/qmldir
+%{_libdir}/qt5/qml/org/kde/kcm/ScrollView.qml
+%{_libdir}/qt5/qml/org/kde/kcm/ScrollViewKCM.qml
+%{_libdir}/qt5/qml/org/kde/kcm/AbstractKCM.qml
+%{_libdir}/qt5/qml/org/kde/kcm/SettingHighlighter.qml
+%{_libdir}/qt5/qml/org/kde/kcm/SettingStateBinding.qml
+%{_libdir}/qt5/qml/org/kde/kcm/ContextualHelpButton.qml
+%dir %{_libdir}/qt5/qml/org/kde/graphicaleffects
+%{_libdir}/qt5/qml/org/kde/graphicaleffects/Lanczos.qml
+%{_libdir}/qt5/qml/org/kde/graphicaleffects/lanczos2sharp.frag
+%{_libdir}/qt5/qml/org/kde/graphicaleffects/lanczos2sharp_core.frag
+%{_libdir}/qt5/qml/org/kde/graphicaleffects/preserveaspect.vert
+%{_libdir}/qt5/qml/org/kde/graphicaleffects/preserveaspect_core.vert
+%{_libdir}/qt5/qml/org/kde/graphicaleffects/qmldir
%files devel
%defattr(644,root,root,755)
%{_includedir}/KF5/KDeclarative
-%{_includedir}/KF5/kdeclarative_version.h
%{_libdir}/cmake/KF5Declarative
-%attr(755,root,root) %{_libdir}/libKF5Declarative.so
+%{_libdir}/libKF5CalendarEvents.so
+%{_libdir}/libKF5Declarative.so
+%{_libdir}/libKF5QuickAddons.so
%{qt5dir}/mkspecs/modules/qt_KDeclarative.pri
+%{qt5dir}/mkspecs/modules/qt_QuickAddons.pri