commit:     9f98b6803349d51377221a4124c7e9a7212edac3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 14 15:27:57 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan 14 15:28:23 2026 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=9f98b680

kde-plasma/plasma-login-manager: new package, add 9999

Co-authored-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/plasma-login-manager-autologin.pam       | 13 +++
 .../files/plasma-login-manager-greeter.pam         | 17 ++++
 .../files/plasma-login-manager.pam                 | 15 ++++
 kde-plasma/plasma-login-manager/metadata.xml       | 12 +++
 .../plasma-login-manager-9999.ebuild               | 93 ++++++++++++++++++++++
 5 files changed, 150 insertions(+)

diff --git 
a/kde-plasma/plasma-login-manager/files/plasma-login-manager-autologin.pam 
b/kde-plasma/plasma-login-manager/files/plasma-login-manager-autologin.pam
new file mode 100644
index 0000000000..b42991e381
--- /dev/null
+++ b/kde-plasma/plasma-login-manager/files/plasma-login-manager-autologin.pam
@@ -0,0 +1,13 @@
+#%PAM-1.0
+auth        required    pam_env.so
+auth        required    pam_faillock.so preauth
+auth        required    pam_shells.so
+auth        required    pam_nologin.so
+auth        required    pam_permit.so
+-auth       optional    pam_gnome_keyring.so
+-auth       optional    pam_kwallet5.so
+account     include     system-local-login
+password    include     system-local-login
+session     include     system-local-login
+-session    optional    pam_gnome_keyring.so auto_start
+-session    optional    pam_kwallet5.so auto_start

diff --git 
a/kde-plasma/plasma-login-manager/files/plasma-login-manager-greeter.pam 
b/kde-plasma/plasma-login-manager/files/plasma-login-manager-greeter.pam
new file mode 100644
index 0000000000..fbf360a2bf
--- /dev/null
+++ b/kde-plasma/plasma-login-manager/files/plasma-login-manager-greeter.pam
@@ -0,0 +1,17 @@
+#%PAM-1.0
+
+# Load environment from /etc/environment and ~/.pam_environment
+auth           required pam_env.so
+
+# Always let the greeter start without authentication
+auth           required pam_permit.so
+
+# No action required for account management
+account                required pam_permit.so
+
+# Can't change password
+password       required pam_deny.so
+
+# Setup session
+session                required pam_unix.so
+session                required pam_systemd.so

diff --git a/kde-plasma/plasma-login-manager/files/plasma-login-manager.pam 
b/kde-plasma/plasma-login-manager/files/plasma-login-manager.pam
new file mode 100644
index 0000000000..0a073f4ad9
--- /dev/null
+++ b/kde-plasma/plasma-login-manager/files/plasma-login-manager.pam
@@ -0,0 +1,15 @@
+#%PAM-1.0
+
+auth        substack    system-login
+-auth       optional    pam_gnome_keyring.so
+-auth       optional    pam_kwallet5.so
+
+account     substack    system-login
+
+password    substack    system-login
+-password   optional    pam_gnome_keyring.so    use_authtok
+
+session     optional    pam_keyinit.so          force revoke
+session     substack    system-login
+-session    optional    pam_gnome_keyring.so    auto_start
+-session    optional    pam_kwallet5.so         auto_start

diff --git a/kde-plasma/plasma-login-manager/metadata.xml 
b/kde-plasma/plasma-login-manager/metadata.xml
new file mode 100644
index 0000000000..202e97aa08
--- /dev/null
+++ b/kde-plasma/plasma-login-manager/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Gentoo KDE Project</name>
+       </maintainer>
+       <upstream>
+               
<bugs-to>https://bugs.kde.org/enter_bug.cgi?product=plasma-login</bugs-to>
+               <remote-id 
type="kde-invent">plasma/plasma-login-manager</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/kde-plasma/plasma-login-manager/plasma-login-manager-9999.ebuild 
b/kde-plasma/plasma-login-manager/plasma-login-manager-9999.ebuild
new file mode 100644
index 0000000000..0e76a05394
--- /dev/null
+++ b/kde-plasma/plasma-login-manager/plasma-login-manager-9999.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.22.0
+QTMIN=6.10.0
+inherit ecm plasma.kde.org linux-info pam tmpfiles
+
+DESCRIPTION="Simple Desktop Display Manager"
+HOMEPAGE="https://invent.kde.org/plasma/plasma-login-manager";
+
+LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network]
+       >=dev-qt/qtdeclarative-${QTMIN}:6
+       >=kde-frameworks/kauth-${KFMIN}:6
+       >=kde-frameworks/kcmutils-${KFMIN}:6
+       >=kde-frameworks/kconfig-${KFMIN}:6
+       >=kde-frameworks/kdbusaddons-${KFMIN}:6
+       >=kde-frameworks/ki18n-${KFMIN}:6
+       >=kde-frameworks/kio-${KFMIN}:6
+       >=kde-frameworks/kpackage-${KFMIN}:6
+       >=kde-frameworks/kwindowsystem-${KFMIN}:6
+       >=kde-plasma/plasma-workspace-${KFMIN}:6
+       >=kde-plasma/layer-shell-qt-${KFMIN}:6
+       >=kde-plasma/libplasma-${KFMIN}:6
+       sys-apps/systemd:=[pam]
+       sys-libs/pam
+       x11-libs/libXau
+"
+RDEPEND="
+       ${DEPEND}
+"
+BDEPEND="
+       dev-python/docutils
+       >=dev-build/cmake-3.25.0
+       >=dev-qt/qttools-${QTMIN}[linguist]
+       kde-frameworks/extra-cmake-modules:0
+       virtual/pkgconfig
+"
+
+pkg_setup() {
+       local CONFIG_CHECK="~DRM"
+       use kernel_linux && linux-info_pkg_setup
+}
+
+src_prepare() {
+       touch 01gentoo.conf || die
+
+       cat <<-EOF >> 01gentoo.conf
+       [General]
+       # Remove qtvirtualkeyboard as InputMethod default
+       InputMethod=
+       EOF
+
+       cmake_src_prepare
+
+       if ! use test; then
+               sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die
+               cmake_comment_add_subdirectory test
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DRUNTIME_DIR=/run/plasmalogin
+
+               # We install our own, our layout isn't in the upstream repo
+               -DINSTALL_PAM_CONFIGURATION=OFF
+               # If non-systemd compat ever arrives, we can try 7
+               # again to be in sync with CHECKVT from display-manager,
+               # but until then, stick with upstream default of 1.
+               #-DPLASMALOGIN_INITIAL_VT=7
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       insinto /etc/plasmalogin.conf.d/
+       doins "${S}"/01gentoo.conf
+
+       newpamd "${FILESDIR}"/${PN}.pam ${PN}
+       newpamd "${FILESDIR}"/${PN}-autologin.pam ${PN}-autologin
+       newpamd "${FILESDIR}"/${PN}-greeter.pam ${PN}-greeter
+}

Reply via email to