diff options
Diffstat (limited to 'x11-misc/sddm')
-rw-r--r-- | x11-misc/sddm/Manifest | 1 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.18.1-Xsession.patch | 24 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch | 26 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch | 83 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch | 43 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch | 11 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch | 37 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm.conf | 132 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm.tmpfiles | 1 | ||||
-rw-r--r-- | x11-misc/sddm/sddm-0.20.0-r1.ebuild | 109 |
10 files changed, 0 insertions, 467 deletions
diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest deleted file mode 100644 index dc2a0ee7..00000000 --- a/x11-misc/sddm/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST sddm-0.20.0.tar.gz 3552722 BLAKE2B 8086c9555d5ce1598db3279353de077d51adbcc5222a929750e8558a1bcdad395a411f90608bffdc6e1ca7e7ac2b8325e25cf04cbf8476698d787ce7e60c2105 SHA512 0f64b405f1451873a01a2210530feb6f4cbbdea17be9d039c105088963a48322968db7b60c0d20ac5d97c8ec2a19e5130f0a74c0f9de58c61453d8ce8bb6272a diff --git a/x11-misc/sddm/files/sddm-0.18.1-Xsession.patch b/x11-misc/sddm/files/sddm-0.18.1-Xsession.patch deleted file mode 100644 index e1e3c152..00000000 --- a/x11-misc/sddm/files/sddm-0.18.1-Xsession.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/data/scripts/Xsession -+++ b/data/scripts/Xsession -@@ -50,6 +50,10 @@ - ;; - esac - -+# Make D-Bus start properly, see: -+# /etc/X11/xinit/xinitrc.d/80-dbus -+command="$@" -+ - [ -f /etc/xprofile ] && . /etc/xprofile - [ -f $HOME/.xprofile ] && . $HOME/.xprofile - -@@ -94,8 +98,8 @@ - . "$USERXSESSION" - fi - --if [ -z "$*" ]; then -+if [ -z "$command" ]; then - exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." - else -- exec $@ -+ exec $command - fi diff --git a/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch b/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch deleted file mode 100644 index b851c852..00000000 --- a/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 20adb0eb3462e79ec76f93f2a622b99956145424 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Tue, 13 Oct 2020 01:04:44 +0200 -Subject: [PATCH] Disable /etc/debian_version check - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> ---- - services/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt -index 5032f33..afa5fd5 100644 ---- a/services/CMakeLists.txt -+++ b/services/CMakeLists.txt -@@ -11,7 +11,7 @@ else() - endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") - --if(EXISTS "/etc/debian_version") -+if(0) - install(FILES debian.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin) - install(FILES debian.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-greeter) - install(FILES debian.sddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm) --- -2.39.1 - diff --git a/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch b/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch deleted file mode 100644 index 32138281..00000000 --- a/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 5b702ae986464fe6dbc8557d4b2da725ac1ed175 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fvogt@suse.de> -Date: Mon, 26 Jun 2023 09:52:05 +0200 -Subject: [PATCH] Session: Parse .desktop files manually again - -Using QSettings::IniFormat doesn't quite work. Implement a custom parser -for those files to handle them according to the specification. - -Fixes #1745 ---- - src/common/Session.cpp | 52 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 51 insertions(+), 1 deletion(-) - -diff --git a/src/common/Session.cpp b/src/common/Session.cpp -index 4bb2142ca..5eec64859 100644 ---- a/src/common/Session.cpp -+++ b/src/common/Session.cpp -@@ -34,6 +34,56 @@ - const QString s_entryExtention = QStringLiteral(".desktop"); - - namespace SDDM { -+ // QSettings::IniFormat can't be used to read .desktop files due to different -+ // syntax of values (escape sequences, quoting, automatic QStringList detection). -+ // So implement yet another .desktop file parser. -+ class DesktopFileFormat { -+ static bool readFunc(QIODevice &device, QSettings::SettingsMap &map) -+ { -+ QString currentSectionName; -+ while(!device.atEnd()) -+ { -+ // Iterate each line, remove line terminators -+ const auto line = device.readLine().replace("\r", "").replace("\n", ""); -+ if(line.isEmpty() || line.startsWith('#')) -+ continue; // Ignore empty lines and comments -+ -+ if(line.startsWith('[')) // Section header -+ { -+ // Remove [ and ]. -+ currentSectionName = QString::fromUtf8(line.mid(1, line.length() - 2)); -+ } -+ else if(int equalsPos = line.indexOf('='); equalsPos > 0) // Key=Value -+ { -+ const auto key = QString::fromUtf8(line.left(equalsPos)); -+ -+ // Read the value, handle escape sequences -+ auto valueBytes = line.mid(equalsPos + 1); -+ valueBytes.replace("\\s", " ").replace("\\n", "\n"); -+ valueBytes.replace("\\t", "\t").replace("\\r", "\r"); -+ valueBytes.replace("\\\\", "\\"); -+ -+ auto value = QString::fromUtf8(valueBytes); -+ map.insert(currentSectionName + QLatin1Char('/') + key, value); -+ } -+ } -+ -+ return true; -+ } -+ public: -+ // Register the .desktop file format if necessary, return its id. -+ static QSettings::Format format() -+ { -+ static QSettings::Format s_format = QSettings::InvalidFormat; -+ if (s_format == QSettings::InvalidFormat) -+ s_format = QSettings::registerFormat(QStringLiteral("desktop"), -+ DesktopFileFormat::readFunc, nullptr, -+ Qt::CaseSensitive); -+ -+ return s_format; -+ } -+ }; -+ - Session::Session() - : m_valid(false) - , m_type(UnknownSession) -@@ -169,7 +219,7 @@ namespace SDDM { - if (!file.isOpen()) - return; - -- QSettings settings(m_fileName, QSettings::IniFormat); -+ QSettings settings(m_fileName, DesktopFileFormat::format()); - #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - settings.setIniCodec("UTF-8"); - #endif diff --git a/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch b/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch deleted file mode 100644 index 2ad739a8..00000000 --- a/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 02a13d11dac72699e7580c538c152a7b5e0eb056 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Tue, 13 Oct 2020 01:10:00 +0200 -Subject: Don't add pam_systemd.so to pam.d/sddm-greeter in case of NO_SYSTEMD - ---- - services/CMakeLists.txt | 7 +++++-- - services/sddm-greeter.pam.in | 2 +- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt -index 3d12eec..2ff13a8 100644 ---- a/services/CMakeLists.txt -+++ b/services/CMakeLists.txt -@@ -4,10 +4,13 @@ if(SYSTEMD_FOUND) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sddm.service" DESTINATION "${SYSTEMD_SYSTEM_UNIT_DIR}") - endif() - -+set(LOGIND_PAM_MODULE "session optional") - if(USE_ELOGIND) -- set(LOGIND_PAM_MODULE "pam_elogind.so") -+ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_elogind.so") -+elseif(NOT NO_SYSTEMD) -+ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_systemd.so") - else() -- set(LOGIND_PAM_MODULE "pam_systemd.so") -+ set(LOGIND_PAM_MODULE "") - endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") - -diff --git a/services/sddm-greeter.pam.in b/services/sddm-greeter.pam.in -index d41792d..35dcfd5 100644 ---- a/services/sddm-greeter.pam.in -+++ b/services/sddm-greeter.pam.in -@@ -14,4 +14,4 @@ password required pam_deny.so - - # Setup session - session required pam_unix.so --session optional @LOGIND_PAM_MODULE@ -+@LOGIND_PAM_MODULE@ --- -2.35.1 - diff --git a/x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch deleted file mode 100644 index daaf9f52..00000000 --- a/x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -51,7 +51,7 @@ - message(STATUS "Debug build") - add_definitions(-DDEBUG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") --else() -+elseif(CMAKE_BUILD_TYPE MATCHES Release) - message(STATUS "Release build") - add_definitions(-DNDEBUG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") diff --git a/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch b/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch deleted file mode 100644 index 6267adc7..00000000 --- a/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 9cbeb07664f4bd4273c2b62a522a864f6d4f27ae Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Sat, 4 Feb 2023 13:31:36 +0100 -Subject: [PATCH] sddm.pam: Change to substack for system-login - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> ---- - services/sddm.pam | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/services/sddm.pam b/services/sddm.pam -index df11003..0a073f4 100644 ---- a/services/sddm.pam -+++ b/services/sddm.pam -@@ -1,15 +1,15 @@ - #%PAM-1.0 - --auth include system-login -+auth substack system-login - -auth optional pam_gnome_keyring.so - -auth optional pam_kwallet5.so - --account include system-login -+account substack system-login - --password include system-login -+password substack system-login - -password optional pam_gnome_keyring.so use_authtok - - session optional pam_keyinit.so force revoke --session include system-login -+session substack system-login - -session optional pam_gnome_keyring.so auto_start - -session optional pam_kwallet5.so auto_start --- -2.39.1 - diff --git a/x11-misc/sddm/files/sddm.conf b/x11-misc/sddm/files/sddm.conf deleted file mode 100644 index 802ad10b..00000000 --- a/x11-misc/sddm/files/sddm.conf +++ /dev/null @@ -1,132 +0,0 @@ -[Autologin] -# Whether sddm should automatically log back into sessions when they exit -Relogin=false - -# Name of session file for autologin session (if empty try last logged in) -Session= - -# Username for autologin session -User= - - -[General] -# Halt command -HaltCommand=/bin/loginctl poweroff - -# Input method module -InputMethod= - -# Comma-separated list of Linux namespaces for user session to enter -Namespaces= - -# Initial NumLock state. Can be on, off or none. -# If property is set to none, numlock won't be changed -# NOTE: Currently ignored if autologin is enabled. -Numlock=none - -# Reboot command -RebootCommand=/bin/loginctl reboot - - -[Theme] -# Current theme name -Current=redcore - -# Cursor theme used in the greeter -CursorTheme=Hacked-Red - -# Number of users to use as threshold -# above which avatars are disabled -# unless explicitly enabled with EnableAvatars -DisableAvatarsThreshold=7 - -# Enable display of custom user avatars -EnableAvatars=true - -# Global directory for user avatars -# The files should be named <username>.face.icon -FacesDir=/usr/share/sddm/faces - -# Theme directory path -ThemeDir=/usr/share/sddm/themes - - -[Users] -# Default $PATH for logged in users -DefaultPath=/usr/local/bin:/usr/bin:/bin - -# Comma-separated list of shells. -# Users with these shells as their default won't be listed -HideShells= - -# Comma-separated list of users that should not be listed -HideUsers= - -# Maximum user id for displayed users -MaximumUid=60000 - -# Minimum user id for displayed users -MinimumUid=1000 - -# Remember the session of the last successfully logged in user -RememberLastSession=true - -# Remember the last successfully logged in user -RememberLastUser=true - -# When logging in as the same user twice, restore the original session, rather than create a new one -ReuseSession=true - - -[Wayland] -# Enable Qt's automatic high-DPI scaling -EnableHiDPI=true - -# Path to a script to execute when starting the desktop session -SessionCommand=/usr/share/sddm/scripts/wayland-session - -# Directory containing available Wayland sessions -SessionDir=/usr/share/wayland-sessions - -# Path to the user session log file -SessionLogFile=.local/share/sddm/wayland-session.log - - -[X11] -# Path to a script to execute when starting the display server -DisplayCommand=/usr/share/sddm/scripts/Xsetup - -# Path to a script to execute when stopping the display server -DisplayStopCommand=/usr/share/sddm/scripts/Xstop - -# Enable Qt's automatic high-DPI scaling -EnableHiDPI=true - -# The lowest virtual terminal number that will be used. -MinimumVT=7 - -# Arguments passed to the X server invocation -ServerArguments=-nolisten tcp - -# Path to X server binary -ServerPath=/usr/bin/X - -# Path to a script to execute when starting the desktop session -SessionCommand=/usr/share/sddm/scripts/Xsession - -# Directory containing available X sessions -SessionDir=/usr/share/xsessions - -# Path to the user session log file -SessionLogFile=.local/share/sddm/xorg-session.log - -# Path to the Xauthority file -UserAuthFile=.Xauthority - -# Path to xauth binary -XauthPath=/usr/bin/xauth - -# Path to Xephyr binary -XephyrPath=/usr/bin/Xephyr - - diff --git a/x11-misc/sddm/files/sddm.tmpfiles b/x11-misc/sddm/files/sddm.tmpfiles deleted file mode 100644 index 300d6461..00000000 --- a/x11-misc/sddm/files/sddm.tmpfiles +++ /dev/null @@ -1 +0,0 @@ -d /var/lib/sddm 0755 sddm sddm diff --git a/x11-misc/sddm/sddm-0.20.0-r1.ebuild b/x11-misc/sddm/sddm-0.20.0-r1.ebuild deleted file mode 100644 index c04c9923..00000000 --- a/x11-misc/sddm/sddm-0.20.0-r1.ebuild +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" - -QTMIN=5.15.2 -inherit cmake linux-info systemd tmpfiles - -DESCRIPTION="Simple Desktop Display Manager" -HOMEPAGE="https://github.com/sddm/sddm" - -LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" -SLOT="0" -IUSE="+branding +elogind systemd test" - -REQUIRED_USE="^^ ( elogind systemd )" -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - acct-group/sddm - acct-user/sddm - >=dev-qt/qtcore-${QTMIN}:5 - >=dev-qt/qtdbus-${QTMIN}:5 - >=dev-qt/qtdeclarative-${QTMIN}:5 - >=dev-qt/qtgui-${QTMIN}:5 - >=dev-qt/qtnetwork-${QTMIN}:5 - sys-libs/pam - x11-libs/libXau - x11-libs/libxcb:= - branding? ( x11-themes/redcore-theme-sddm ) - elogind? ( sys-auth/elogind[pam] ) - systemd? ( sys-apps/systemd:=[pam] ) - !systemd? ( sys-power/upower ) -" -DEPEND="${COMMON_DEPEND} - test? ( >=dev-qt/qttest-${QTMIN}:5 ) -" -RDEPEND="${COMMON_DEPEND} - x11-base/xorg-server - !systemd? ( gui-libs/display-manager-init ) -" -BDEPEND=" - dev-python/docutils - >=dev-qt/linguist-tools-${QTMIN}:5 - kde-frameworks/extra-cmake-modules - virtual/pkgconfig -" - -PATCHES=( - # Downstream patches - "${FILESDIR}/${P}-respect-user-flags.patch" - "${FILESDIR}/${PN}-0.18.1-Xsession.patch" # bug 611210 - "${FILESDIR}/${P}-sddm.pam-use-substack.patch" # bug 728550 - "${FILESDIR}/${P}-disable-etc-debian-check.patch" - "${FILESDIR}/${P}-no-default-pam_systemd-module.patch" # bug 669980 - "${FILESDIR}/${P}-fix-use-development-sessions.patch" # git master -) - -pkg_setup() { - local CONFIG_CHECK="~DRM" - use kernel_linux && linux-info_pkg_setup -} - -src_prepare() { - 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=( - -DBUILD_MAN_PAGES=ON - -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" - -DRUNTIME_DIR=/run/sddm - -DSYSTEMD_TMPFILES_DIR="/usr/lib/tmpfiles.d" - -DNO_SYSTEMD=$(usex !systemd) - -DUSE_ELOGIND=$(usex elogind) - ) - cmake_src_configure -} - -src_install() { - cmake_src_install - - # since 0.18.0 sddm no longer installs a config file - # install one ourselves in gentoo's default location - insinto /etc/sddm.conf.d/ - newins "${FILESDIR}"/"${PN}".conf 01redcore.conf - - # override gentoo's default location with the - # classical location which is /etc/sddm.conf - insinto etc - doins "${FILESDIR}"/"${PN}".conf -} - -pkg_postinst() { - tmpfiles_process "${PN}".conf - chown -R "${PN}":"${PN}" /var/lib/"${PN}" - - if use systemd; then - systemd_reenable sddm.service - fi -} |