summaryrefslogtreecommitdiff
path: root/kde-plasma/kscreenlocker
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/kscreenlocker')
-rw-r--r--kde-plasma/kscreenlocker/Manifest2
-rw-r--r--kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch85
-rw-r--r--kde-plasma/kscreenlocker/kscreenlocker-6.1.2-r1.ebuild82
3 files changed, 169 insertions, 0 deletions
diff --git a/kde-plasma/kscreenlocker/Manifest b/kde-plasma/kscreenlocker/Manifest
index f5f7ef75c646..3e2c4071fe8b 100644
--- a/kde-plasma/kscreenlocker/Manifest
+++ b/kde-plasma/kscreenlocker/Manifest
@@ -3,8 +3,10 @@ AUX kde-np.pam 217 BLAKE2B 47e599ef678a81bd12a3e2a04b662c284136f13d5e0aeab06961e
AUX kde-r1.pam 162 BLAKE2B 737f0d766f91111460f49a08d02de36683ada6f6d17e874f59e63153ee512cfcc2de8d9e28cb3531d23c847584d24d9105b24e73e3e72149fb130d3e60ef0cde SHA512 212b9e89137b5191742d8b76a815c12fb99d4b7b05886ccd02066db879474a059636f01f27554abdecb4952624e32db7310dd7ec6d4e4e2b649e9141108c228a
AUX kde-smartcard.pam 365 BLAKE2B bc84ba04c913c6116f8b482bd2d898f2e15a428aaa73af67a4003f56632883b484d9e1aaa962456baa7723022e700b39917b96577b69e54a9b731fb03aec752a SHA512 aa71785128d12058dc202b07ad0982e33242aae200acb7376ef581267b08b79df022fd5e57eece6d6c01690c8ddcac467f60df64c386f444cf3dae8f48c23925
AUX kde.pam 226 BLAKE2B b281adb40b654aa616af66818613f6446b1bfd2025c0819130ae684f61f6683689d1facd3a4b248849bbfda0975603094988b809d01dcab501f69e1f4ef8825f SHA512 a44c3325ea4c56e1b3c8c2953a68e5c7eaea5e2f059c0eea4b4dfde2b2e056e5223574c967d991c6427117ce4db0c4fb00fb6a241f29bf2eaac37b1195496776
+AUX kscreenlocker-6.1.2-greeter-unlock-button.patch 3001 BLAKE2B b0a7a5c47a78bcb70a33683e91e8458ca23f7246bcf001c59435daf26dc8b03c5f117e5c54428dc7a767fa9eebdea45084273127cfd23f86cb38e3b064bd0a73 SHA512 9efcc8177c54b28c138886145b6370ca622826a21fc13bfb7cfae8e702514e468241dced8def06e24c8beb7b60de53d2b93a1ad7c7c7b84adf1af7f907f06a09
DIST kscreenlocker-5.27.11.tar.xz 160796 BLAKE2B 6ab6060ee7ce2b01a0a29f6d0aebbaba052fabaa6c229e92603b52d32ea473c438b8647cc2f2bdbf48edfa98c05aa7e22ce0b75964d9a8ab6d914c32254fdfcb SHA512 cfaaa6242253f6c511f645bb7f9023328a5d5bb58616284f85db949da969e04303f4e0e28283a08ed0fb02845840be67a76785d4b4596ef057ec7069cda92a3a
DIST kscreenlocker-6.1.2.tar.xz 180172 BLAKE2B 150010cec9637cb5a8c5b759449d2e42ca509b4d45ca75bd71de3121d51057a2e97c4e4abfad2a6b23adcf2a1c92beee1036afd59ed54d01a56cb3e0e8ff706a SHA512 3f840435feba5601a849c2f9191524d7ca16eee672995a0a7194cace98614bc019c4ee7266bc40a6c64ca9c88f372c465861cf0a593fcb6cb5979f486edc89fb
EBUILD kscreenlocker-5.27.11.ebuild 2061 BLAKE2B 7e76232c2f9af8e914a307b6f4eb541f20d64972e02c64c0965bc6dff4cc3dc7038dd06f6e26be1d9936992916ea752a5b7865086f4f46bfe7b97694b3c54e92 SHA512 705595b760b43962a4e479d3f2902eb612773cf34f76f1f52960b41f0c87f584dcccd19592caf36f2ee2c98a464cb7d029aec6bce43cc293d6d6503f6212b557
+EBUILD kscreenlocker-6.1.2-r1.ebuild 2019 BLAKE2B 518190fd877db8089c7d7abacc9e00ae63d0365854b8b4f94ac2ce03c67843e9400878494c33560ad6188647850af4cc6eb6705828e8391aa631f344e99e8d58 SHA512 0f58ef2696d97a3a1bd57dee27cf043763709ea5acbfbf3ddcffd11f31fedb72934566110b05fbaf20ec1795a913b36a48e4b06371800cb0aa00506203c6a2ba
EBUILD kscreenlocker-6.1.2.ebuild 1942 BLAKE2B ab57b363525985e0601c5e07dc58588e18a84da336ee7d235aeeb90ba3880f51f7257cb9cf8109464308d2813793f1038bcd931e08fdd9ec534c164c9731d168 SHA512 a27fa68a4e6d490766a908f47e94a75af0fe64906cf6cfe41ba2ec1d10cbf4775dde9628ef638e30a4f55e4466963218dcc7fbd65572080a49027e2e929c6164
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch b/kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch
new file mode 100644
index 000000000000..7fc6a2e5e225
--- /dev/null
+++ b/kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch
@@ -0,0 +1,85 @@
+From 6297d4d2e37abadfab0f7389aec9aa4af7f928bc Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Tue, 2 Jul 2024 20:07:06 +0000
+Subject: [PATCH] greeter/authenticators: add a property for if a prompt was
+ shown in the past
+
+This is needed to properly check for whether or not to show an unlock button
+
+CCBUG: 485520
+
+
+(cherry picked from commit bc1e4a18ce37d1f40cb6a50acf3d9c53b052bf5e)
+
+Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
+---
+ greeter/pamauthenticators.cpp | 14 ++++++++++++++
+ greeter/pamauthenticators.h | 5 +++++
+ 2 files changed, 19 insertions(+)
+
+diff --git a/greeter/pamauthenticators.cpp b/greeter/pamauthenticators.cpp
+index 8fcbb6d5..d564420 100644
+--- a/greeter/pamauthenticators.cpp
++++ b/greeter/pamauthenticators.cpp
+@@ -17,6 +17,7 @@ struct PamAuthenticators::Private {
+ PamAuthenticator::NoninteractiveAuthenticatorTypes computedTypes = PamAuthenticator::NoninteractiveAuthenticatorType::None;
+ AuthenticatorsState state = AuthenticatorsState::Idle;
+ bool graceLocked = false;
++ bool hadPrompt = false;
+
+ void recomputeNoninteractiveAuthenticationTypes()
+ {
+@@ -83,10 +84,18 @@ PamAuthenticators::PamAuthenticators(std::unique_ptr<PamAuthenticator> &&interac
+ Q_EMIT busyChanged();
+ });
+ connect(d->interactive.get(), &PamAuthenticator::prompt, this, [this] {
++ if (!d->hadPrompt) {
++ d->hadPrompt = true;
++ Q_EMIT hadPromptChanged();
++ }
+ qCDebug(KSCREENLOCKER_GREET) << "PamAuthenticators: Normal prompt from interactive authenticator" << qUtf8Printable(d->interactive->service());
+ Q_EMIT promptChanged();
+ });
+ connect(d->interactive.get(), &PamAuthenticator::promptForSecret, this, [this] {
++ if (!d->hadPrompt) {
++ d->hadPrompt = true;
++ Q_EMIT hadPromptChanged();
++ }
+ qCDebug(KSCREENLOCKER_GREET) << "PamAuthenticators: Secret prompt from interactive authenticator" << qUtf8Printable(d->interactive->service());
+ Q_EMIT promptForSecretChanged();
+ });
+@@ -198,3 +207,8 @@ void PamAuthenticators::setGraceLocked(bool b)
+ {
+ d->graceLocked = b;
+ }
++
++bool PamAuthenticators::hadPrompt() const
++{
++ return d->hadPrompt;
++}
+diff --git a/greeter/pamauthenticators.h b/greeter/pamauthenticators.h
+index e82f77b..9184e7e 100644
+--- a/greeter/pamauthenticators.h
++++ b/greeter/pamauthenticators.h
+@@ -31,6 +31,8 @@ class PamAuthenticators : public QObject
+
+ Q_PROPERTY(AuthenticatorsState state READ state NOTIFY stateChanged)
+
++ Q_PROPERTY(bool hadPrompt READ hadPrompt NOTIFY hadPromptChanged)
++
+ public:
+ PamAuthenticators(std::unique_ptr<PamAuthenticator> &&interactive,
+ std::vector<std::unique_ptr<PamAuthenticator>> &&noninteractive,
+@@ -78,6 +80,9 @@ public:
+
+ void setGraceLocked(bool b);
+
++ bool hadPrompt() const;
++ Q_SIGNAL void hadPromptChanged();
++
+ private:
+ struct Private;
+ QScopedPointer<Private> d;
+--
+2.45.2
+
diff --git a/kde-plasma/kscreenlocker/kscreenlocker-6.1.2-r1.ebuild b/kde-plasma/kscreenlocker/kscreenlocker-6.1.2-r1.ebuild
new file mode 100644
index 000000000000..ab2b1699cdf0
--- /dev/null
+++ b/kde-plasma/kscreenlocker/kscreenlocker-6.1.2-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=6.3.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.1
+inherit ecm plasma.kde.org pam
+
+DESCRIPTION="Library and components for secure lock screen architecture"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE=""
+
+RESTRICT="test"
+
+# qtbase slot op: GuiPrivate use in greeter
+COMMON_DEPEND="
+ dev-libs/wayland
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6[qml]
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-plasma/layer-shell-qt-${PVCUT}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/libkscreen-${PVCUT}:6
+ sys-libs/pam
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libxcb
+ x11-libs/xcb-util-keysyms
+"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+"
+RDEPEND="${COMMON_DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+"
+BDEPEND="
+ dev-util/wayland-scanner
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:*"
+
+PATCHES=( "${FILESDIR}/${P}-greeter-unlock-button.patch" ) # KDE-bug 485520
+
+src_prepare() {
+ ecm_src_prepare
+ use test || cmake_run_in greeter cmake_comment_add_subdirectory autotests
+}
+
+src_test() {
+ # requires running environment
+ local myctestargs=(
+ -E x11LockerTest
+ )
+ ecm_src_test
+}
+
+src_install() {
+ ecm_src_install
+
+ newpamd "${FILESDIR}/kde-r1.pam" kde
+ newpamd "${FILESDIR}/kde-fingerprint.pam" kde-fingerprint
+ newpamd "${FILESDIR}/kde-smartcard.pam" kde-smartcard
+}