-%define kdeframever 5.13
-%define qtver 5.3.2
+#
+# Conditional build:
+%bcond_with tests # build with tests
+%define kdeframever 5.98
+%define qtver 5.15.2
%define kfname kconfig
Summary: Backend for storing application configuration
Name: kf5-%{kfname}
-Version: 5.13.0
+Version: 5.98.0
Release: 1
License: LGPL v2.1+
Group: X11/Libraries
-Source0: http://download.kde.org/stable/frameworks/%{kdeframever}/%{kfname}-%{version}.tar.xz
-# Source0-md5: d470179fc4c8a2060b94452d25d466c8
+Source0: https://download.kde.org/stable/frameworks/%{kdeframever}/%{kfname}-%{version}.tar.xz
+# Source0-md5: f2f48dc92a7d2ce155fc1a78ea0e0f92
URL: http://www.kde.org/
BuildRequires: Qt5Core-devel >= %{qtver}
+BuildRequires: Qt5DBus-devel >= %{qtver}
BuildRequires: Qt5Gui-devel >= %{qtver}
BuildRequires: Qt5Test-devel >= %{qtver}
BuildRequires: Qt5Xml-devel >= %{qtver}
-BuildRequires: cmake >= 2.8.12
-BuildRequires: kf5-extra-cmake-modules >= 1.4.0
+BuildRequires: cmake >= 3.16
+BuildRequires: kf5-extra-cmake-modules >= %{kdeframever}
+BuildRequires: ninja
BuildRequires: qt5-linguist >= %{qtver}
-BuildRequires: rpmbuild(macros) >= 1.164
+BuildRequires: rpmbuild(macros) >= 1.736
BuildRequires: tar >= 1:1.22
BuildRequires: xz
+Requires: Qt5DBus >= %{qtver}
+Requires: Qt5Gui >= %{qtver}
+Requires: Qt5Xml >= %{qtver}
+Requires: kf5-dirs
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define qt5dir %{_libdir}/qt5
Summary(pl.UTF-8): Pliki nagłówkowe dla programistów używających %{kfname}
Group: X11/Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: Qt5DBus-devel >= %{qtver}
+Requires: Qt5Xml-devel >= %{qtver}
+Requires: cmake >= 3.16
%description devel
Header files for %{kfname} development.
%build
install -d build
cd build
-%cmake \
+%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
-
-%{__make} -C build/ install \
- DESTDIR=$RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_datadir}/kconf_update
+%ninja_install -C build
%find_lang %{kfname}5_qt --with-qm --all-name --with-kde
%files -f %{kfname}5_qt.lang
%defattr(644,root,root,755)
%doc DESIGN README.md TODO
-%attr(755,root,root) %ghost %{_libdir}/libKF5ConfigCore.so.5
+%ghost %{_libdir}/libKF5ConfigCore.so.5
%attr(755,root,root) %{_libdir}/libKF5ConfigCore.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libKF5ConfigGui.so.5
+%ghost %{_libdir}/libKF5ConfigGui.so.5
+%ghost %{_libdir}/libKF5ConfigQml.so.5
+%attr(755,root,root) %{_libdir}/libKF5ConfigQml.so.*.*
%attr(755,root,root) %{_libdir}/libKF5ConfigGui.so.*.*
%attr(755,root,root) %{_bindir}/kreadconfig5
%attr(755,root,root) %{_bindir}/kwriteconfig5
-%attr(755,root,root) %{_libdir}/kf5/kconf_update
-%attr(755,root,root) %{_libdir}/kf5/kconfig_compiler_kf5
+%attr(755,root,root) %{_libexecdir}/kf5/kconf_update
+%attr(755,root,root) %{_libexecdir}/kf5/kconfig_compiler_kf5
+%dir %{_datadir}/kconf_update
+%{_datadir}/qlogging-categories5/kconfig.categories
+%{_datadir}/qlogging-categories5/kconfig.renamecategories
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libKF5ConfigCore.so
-%attr(755,root,root) %{_libdir}/libKF5ConfigGui.so
+%{_libdir}/libKF5ConfigCore.so
+%{_libdir}/libKF5ConfigGui.so
+%{_libdir}/libKF5ConfigQml.so
%{_includedir}/KF5/KConfigCore
%{_includedir}/KF5/KConfigGui
-%{_includedir}/KF5/kconfig_version.h
+%{_includedir}/KF5/KConfigQml
+%{_includedir}/KF5/KConfig
%{_libdir}/cmake/KF5Config
%{qt5dir}/mkspecs/modules/qt_KConfigCore.pri
%{qt5dir}/mkspecs/modules/qt_KConfigGui.pri