124 lines
3.6 KiB
RPMSpec
124 lines
3.6 KiB
RPMSpec
|
|
|
|
%define kf6_version 6.18.0
|
|
%define qt6_version 6.9.0
|
|
|
|
|
|
%define rname libkscreen
|
|
%define sover 8
|
|
Name: libkscreen6
|
|
Version: 6.5.5
|
|
Release: 0
|
|
# Full Plasma 6 version (e.g. 6.0.0)
|
|
%{!?_plasma6_bugfix: %define _plasma6_bugfix %{version}}
|
|
# Latest ABI-stable Plasma (e.g. 6.0 in KF6, but 6.0.80 in KUF)
|
|
%{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')}
|
|
Summary: Plasma screen management library
|
|
License: GPL-2.0-or-later
|
|
URL: https://www.kde.org
|
|
Source: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
|
|
|
|
BuildRequires: doxygen
|
|
BuildRequires: fdupes
|
|
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: qt6-qtbase-private-devel >= %{qt6_version}
|
|
BuildRequires: qt6-qtwayland-devel >= %{qt6_version}
|
|
BuildRequires: cmake(KF6Config) >= %{kf6_version}
|
|
BuildRequires: cmake(KWayland) >= %{_plasma6_bugfix}
|
|
BuildRequires: cmake(PlasmaWaylandProtocols) >= 1.10.0
|
|
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6Gui) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6LinguistTools) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6Test) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6WaylandClient) >= %{qt6_version}
|
|
BuildRequires: qt6-qttools
|
|
BuildRequires: qt6-doctools
|
|
BuildRequires: qt6-linguist
|
|
BuildRequires: pkgconfig(wayland-client) >= 1.9
|
|
BuildRequires: pkgconfig(xcb)
|
|
BuildRequires: pkgconfig(xcb-randr)
|
|
|
|
%description
|
|
Dynamic display management library for KDE
|
|
|
|
%package plugin
|
|
Summary: Plasma screen management library
|
|
Requires: %{name}-devel = %{version}-%{release}
|
|
Provides: libkscreen2-plugin = %{version}
|
|
Obsoletes: libkscreen2-plugin < %{version}
|
|
|
|
%description plugin
|
|
Plugins for dynamic display management in Plasma
|
|
|
|
%package devel
|
|
Summary: Plasma screen management library (development package)
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Requires: cmake(Qt6Core) >= %{qt6_version}
|
|
|
|
%description devel
|
|
Development files belonging to libkscreen, dynamic display management in Plasma
|
|
|
|
%prep
|
|
%autosetup -p1 -n %{rname}-%{version}
|
|
|
|
%build
|
|
%cmake_kf6 -DBUILD_QCH:BOOL=TRUE
|
|
|
|
%kf6_build
|
|
|
|
%install
|
|
%kf6_install
|
|
|
|
# todo: fix the name error.
|
|
# Avoid illegal package names
|
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/*@*
|
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/en_GB/
|
|
# Use langpacks macro to auto-split translations
|
|
%find_lang %{name} --with-qt --all-name --generate-subpackages
|
|
|
|
%fdupes %{buildroot}
|
|
|
|
%ldconfig_scriptlets -n %{name}-devel
|
|
|
|
%post plugin
|
|
%{systemd_user_post plasma-kscreen.service}
|
|
|
|
%preun plugin
|
|
%{systemd_user_preun plasma-kscreen.service}
|
|
|
|
%postun plugin
|
|
%{systemd_user_postun plasma-kscreen.service}
|
|
|
|
%files
|
|
%license LICENSES/*
|
|
%doc README.md
|
|
%{_kf6_libdir}/libKF6Screen.so.%{sover}
|
|
%{_kf6_libdir}/libKF6Screen.so.%{version}
|
|
%{_kf6_libdir}/libKF6ScreenDpms.so.%{sover}
|
|
%{_kf6_libdir}/libKF6ScreenDpms.so.%{version}
|
|
|
|
%files plugin
|
|
%{_kf6_bindir}/kscreen-doctor
|
|
%{_kf6_plugindir}/kf6/kscreen/
|
|
%{_kf6_libexecdir}/kscreen_backend_launcher
|
|
%{_kf6_sharedir}/dbus-1/services/org.kde.kscreen.service
|
|
%{_kf6_debugdir}/libkscreen.categories
|
|
%{_userunitdir}/plasma-kscreen.service
|
|
%dir %{_datadir}/zsh
|
|
%dir %{_datadir}/zsh/site-functions
|
|
%{_datadir}/zsh/site-functions/_kscreen-doctor
|
|
|
|
%files devel
|
|
%doc %{_kf6_qchdir}/KF6Screen.*
|
|
%{_kf6_includedir}/kscreen_version.h
|
|
%{_kf6_includedir}/KScreen/
|
|
%{_kf6_libdir}/cmake/KF6Screen/
|
|
%{_kf6_libdir}/libKF6Screen.so
|
|
%{_kf6_libdir}/libKF6ScreenDpms.so
|
|
%{_kf6_libdir}/pkgconfig/KF6Screen.pc
|
|
|
|
%changelog
|