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 +}
