-%define kdeframever 5.56
-%define qtver 5.9.0
+#
+# Conditional build:
+%bcond_with tests # build with tests
+%define kdeframever 5.112
+%define qtver 5.15.2
%define kfname solid
Summary: Desktop hardware abstraction
Name: kf5-%{kfname}
-Version: 5.56.0
+Version: 5.112.0
Release: 1
License: LGPL v2.1+
Group: X11/Libraries
-Source0: http://download.kde.org/stable/frameworks/%{kdeframever}/%{kfname}-%{version}.tar.xz
-# Source0-md5: 2b3708251bb4f86b5b9aae5c4c61348b
+Source0: https://download.kde.org/stable/frameworks/%{kdeframever}/%{kfname}-%{version}.tar.xz
+# Source0-md5: 86dd6c33d69bc38aac207ec64abc6d4c
URL: http://www.kde.org/
BuildRequires: Qt5Concurrent-devel >= %{qtver}
BuildRequires: Qt5Core-devel >= %{qtver}
BuildRequires: Qt5Gui-devel >= %{qtver}
BuildRequires: Qt5Qml-devel >= %{qtver}
BuildRequires: Qt5Test-devel >= %{qtver}
-BuildRequires: Qt5Widgets-devel >= %{qtver}
BuildRequires: Qt5Xml-devel >= %{qtver}
-BuildRequires: bison
-BuildRequires: cmake >= 2.8.12
+BuildRequires: bison >= 3.0
+BuildRequires: cmake >= 3.16
BuildRequires: flex
-BuildRequires: kf5-extra-cmake-modules >= 1.4.0
+BuildRequires: kf5-extra-cmake-modules >= %{version}
+BuildRequires: libimobiledevice-devel
+BuildRequires: libmount-devel
+BuildRequires: libplist-devel
BuildRequires: ninja
+BuildRequires: pkgconfig
BuildRequires: qt5-linguist >= %{qtver}
-BuildRequires: rpmbuild(macros) >= 1.164
+BuildRequires: rpmbuild(macros) >= 1.736
BuildRequires: tar >= 1:1.22
BuildRequires: udev-devel
BuildRequires: xz
+Requires: Qt5Core >= %{qtver}
+Requires: Qt5DBus >= %{qtver}
+Requires: Qt5Gui >= %{qtver}
+Requires: Qt5Qml >= %{qtver}
+Requires: Qt5Xml >= %{qtver}
Requires: kf5-dirs
+Suggests: media-player-info
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define qt5dir %{_libdir}/qt5
Group: X11/Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: Qt5Core-devel >= %{qtver}
-Requires: cmake >= 2.6.0
+Requires: cmake >= 3.16
%description devel
Header files for %{kfname} development.
%setup -q -n %{kfname}-%{version}
%build
-install -d build
-cd build
-%cmake -G Ninja \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- ../
-%ninja_build
+%cmake -B build \
+ -G Ninja \
+ %{!?with_tests:-DBUILD_TESTING=OFF} \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+
+%ninja_build -C build
+
+%if %{with tests}
+%ninja_build -C build test
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc README.md TODO
%attr(755,root,root) %{_bindir}/solid-hardware5
-%attr(755,root,root) %ghost %{_libdir}/libKF5Solid.so.5
+%ghost %{_libdir}/libKF5Solid.so.5
%attr(755,root,root) %{_libdir}/libKF5Solid.so.*.*
%dir %{_libdir}/qt5/qml/org/kde/solid
%{_libdir}/qt5/qml/org/kde/solid/qmldir
%attr(755,root,root) %{_libdir}/qt5/qml/org/kde/solid/libsolidextensionplugin.so
-/etc/xdg/solid.categories
+%{_datadir}/qlogging-categories5/solid.categories
+%{_datadir}/qlogging-categories5/solid.renamecategories
%files devel
%defattr(644,root,root,755)
%{_includedir}/KF5/Solid
-%{_includedir}/KF5/solid_version.h
%{_libdir}/cmake/KF5Solid
-%attr (755,root,root) %{_libdir}/libKF5Solid.so
+%{_libdir}/libKF5Solid.so
%{qt5dir}/mkspecs/modules/qt_Solid.pri