summaryrefslogtreecommitdiff
path: root/x11-misc/sddm
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/sddm')
-rw-r--r--x11-misc/sddm/Manifest1
-rw-r--r--x11-misc/sddm/files/sddm-0.18.1-Xsession.patch24
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch26
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch83
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch43
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch11
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch37
-rw-r--r--x11-misc/sddm/files/sddm.conf132
-rw-r--r--x11-misc/sddm/files/sddm.tmpfiles1
-rw-r--r--x11-misc/sddm/sddm-0.20.0-r1.ebuild109
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
-}