127 lines
4.5 KiB
RPMSpec
127 lines
4.5 KiB
RPMSpec
# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
|
|
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
|
|
# SPDX-FileContributor: jingyupu <pujingyu@iscas.ac.cn>
|
|
#
|
|
# SPDX-License-Identifier: MulanPSL-2.0
|
|
|
|
%define kf6_version 6.18.0
|
|
%define qt6_version 6.9.0
|
|
|
|
%global _smp_ncpus_max 4
|
|
%{!?_pam_vendordir:%global _pam_vendordir %{_sysconfdir}/pam.d}
|
|
|
|
# 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}')}
|
|
|
|
Name: kscreenlocker
|
|
Version: 6.5.5
|
|
Release: %autorelease
|
|
Summary: Library and components for secure lock screen architecture
|
|
License: GPL-2.0-or-later
|
|
URL: https://www.kde.org
|
|
#!RemoteAsset
|
|
Source: https://download.kde.org/stable/plasma/%{version}/%{name}-%{version}.tar.xz
|
|
Source1: kde
|
|
Source2: kde-fingerprint
|
|
Source3: kde-smartcard
|
|
|
|
BuildRequires: cmake >= 3.16
|
|
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
|
|
BuildRequires: pkgconfig(pam)
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: qt6-qtbase-private-devel >= %{qt6_version}
|
|
BuildRequires: cmake(KF6Config) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6Crash) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6GlobalAccel) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6I18n) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6IdleTime) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6KCMUtils) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6KIO) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6Notifications) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6Screen) >= %{_plasma6_bugfix}
|
|
BuildRequires: cmake(KF6Solid) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6Svg) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6WindowSystem) >= %{kf6_version}
|
|
BuildRequires: cmake(KF6XmlGui) >= %{kf6_version}
|
|
BuildRequires: cmake(KWayland) >= %{_plasma6_bugfix}
|
|
BuildRequires: cmake(LayerShellQt) >= %{_plasma6_bugfix}
|
|
BuildRequires: cmake(PlasmaQuick) >= %{_plasma6_bugfix}
|
|
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6Quick) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6Test) >= %{qt6_version}
|
|
BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
|
|
BuildRequires: pkgconfig(wayland-client)
|
|
BuildRequires: pkgconfig(wayland-server)
|
|
BuildRequires: pkgconfig(x11)
|
|
BuildRequires: pkgconfig(xcb)
|
|
BuildRequires: pkgconfig(xcb-keysyms)
|
|
BuildRequires: pkgconfig(xcb-xtest)
|
|
BuildRequires: pkgconfig(xcursor)
|
|
BuildRequires: pkgconfig(xi)
|
|
Provides: kscreenlocker = %{version}
|
|
Provides: qt6qmlimport(org.kde.kscreenlocker.1) = 0
|
|
Obsoletes: kscreenlocker < %{version}
|
|
Obsoletes: kscreenlocker-lang < %{version}
|
|
|
|
%description
|
|
Library and components for secure lock screen architecture.
|
|
|
|
%package devel
|
|
Summary: Library and components for secure lock screen architecture - development files
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Requires: cmake(Qt6Core) >= %{qt6_version}
|
|
Conflicts: kscreenlocker-devel
|
|
|
|
%description devel
|
|
Development files for Library and components for secure lock screen architecture.
|
|
|
|
%prep
|
|
%autosetup -p1 -n %{name}-%{version}
|
|
|
|
%build
|
|
%cmake_kf6
|
|
|
|
%kf6_build
|
|
|
|
%install
|
|
%kf6_install
|
|
|
|
# Ship our own files to not depend on a display manager being installed (boo#1108329)
|
|
install -D -m0644 %{SOURCE1} %{buildroot}%{_pam_vendordir}/kde
|
|
install -D -m0644 %{SOURCE2} %{buildroot}%{_pam_vendordir}/kde-fingerprint
|
|
install -D -m0644 %{SOURCE3} %{buildroot}%{_pam_vendordir}/kde-smartcard
|
|
|
|
# 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
|
|
|
|
|
|
%files
|
|
%license LICENSES/*
|
|
%{_kf6_applicationsdir}/kcm_screenlocker.desktop
|
|
%{_kf6_debugdir}/kscreenlocker.categories
|
|
%{_kf6_notificationsdir}/ksmserver.notifyrc
|
|
%{_kf6_plugindir}/plasma/kcms/systemsettings/kcm_screenlocker.so
|
|
%{_kf6_sharedir}/ksmserver/
|
|
%{_libexecdir}/kscreenlocker_greet
|
|
%{_pam_vendordir}/kde
|
|
%{_pam_vendordir}/kde-fingerprint
|
|
%{_pam_vendordir}/kde-smartcard
|
|
%{_kf6_libdir}/libKScreenLocker.so.*
|
|
|
|
%files devel
|
|
%{_includedir}/KScreenLocker/
|
|
%{_kf6_cmakedir}/KScreenLocker/
|
|
%{_kf6_cmakedir}/ScreenSaverDBusInterface/
|
|
%{_kf6_libdir}/libKScreenLocker.so
|
|
%{_kf6_sharedir}/dbus-1/interfaces/kf6_org.freedesktop.ScreenSaver.xml
|
|
%{_kf6_sharedir}/dbus-1/interfaces/org.kde.screensaver.xml
|
|
|
|
%changelog
|
|
%{?autochangelog}
|