summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2024-03-09 01:08:49 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2024-03-09 01:11:34 +0100
commitd625786b7adf82cd36e70094c219f794ead8e810 (patch)
tree237848b3e6d337ad3df4410043a291197f9679da /x11-misc
parentx11-misc/sddm: move 0.18.1 patches into patchset tarball (diff)
downloadgentoo-d625786b7adf82cd36e70094c219f794ead8e810.tar.gz
gentoo-d625786b7adf82cd36e70094c219f794ead8e810.tar.bz2
gentoo-d625786b7adf82cd36e70094c219f794ead8e810.zip
x11-misc/sddm: move 0.20.0 patches into patchset tarball
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'x11-misc')
-rw-r--r--x11-misc/sddm/Manifest1
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch29
-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-greeter-platform-detection.patch24
-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-no-qtvirtualkeyboard-on-wayland.patch32
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch37
-rw-r--r--x11-misc/sddm/sddm-0.20.0-r1.ebuild23
9 files changed, 16 insertions, 282 deletions
diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest
index 1a53a302692c..62a7a158873c 100644
--- a/x11-misc/sddm/Manifest
+++ b/x11-misc/sddm/Manifest
@@ -1,5 +1,6 @@
DIST sddm-0.18.1-patchset.tar.xz 7860 BLAKE2B b79738c58f19ebac24dd790ba7613d85ae78bc0c5161d35249e13ddbac3acefff2753b8d92fa47a73a607b3105310ea5d05e1a5a170068030fe28420ffee88b1 SHA512 30ca961f065188d570b1498f9eea5aeafb31ab53b7e9ce41e98e26cba12f8c16a245fffb25ea4d84c6fb9037a24523cd41acc9a8b140a1420282435c9497d9b4
DIST sddm-0.18.1.tar.xz 3402972 BLAKE2B 99ab43d374e9a3d318f692a6d496d8a6d68927af3c8e8fc2208d7355ec90649a14758b39f5733dd32f942ed569de88085576d4f5f8666f4f97079e0fb6dcb99e SHA512 ff0637600cda2f4da1f643f047f8ee822bd9651ae4ccbb614b9804175c97360ada7af93e07a7b63832f014ef6e7d1b5380ab2b8959f8024ea520fa5ff17efd60
+DIST sddm-0.20.0-patchset.tar.xz 4024 BLAKE2B cb138568a158fb1070c3f4ed4182867973abef257e7b551a373a5d17adf19c15474cff27a3662de9fa674da218e9b04374802d0f1813569ce2966257903ac791 SHA512 fe07102ac4e41cc9e212f795405db8e4dac342c1dde2ec3b47002aaf251fc6a7641af4226f4729ef3325f070a77d6448602fffe7b5ff775b9dbfb57db9004d3c
DIST sddm-0.20.0.tar.gz 3552722 BLAKE2B 8086c9555d5ce1598db3279353de077d51adbcc5222a929750e8558a1bcdad395a411f90608bffdc6e1ca7e7ac2b8325e25cf04cbf8476698d787ce7e60c2105 SHA512 0f64b405f1451873a01a2210530feb6f4cbbdea17be9d039c105088963a48322968db7b60c0d20ac5d97c8ec2a19e5130f0a74c0f9de58c61453d8ce8bb6272a
DIST sddm-0.21.0-pam.tar.xz 676 BLAKE2B 06a79f74a5833eca9877df4be8639311382d13061b21aa3627e6c4b07725878ded62221fca943440bacc143f6be2a23b2e0a2124012ff2c9fac82e1eded11144 SHA512 6d91eef2434346f7707122454522cf19f104994ac95d562417f6060a92b4e6c9792bebcccabac8290479200b4ba02fc4d92c6098c435c7ceda796d619d8913c2
DIST sddm-0.21.0.tar.gz 3557266 BLAKE2B 849cb8b06b9510e5366ea28ef322c242db7d5a77d94c0a5a727f468209880a717055ad8b0c2f5a857852202a4d6bc1f68281fe0e0ab3c6a32327b5a4219af3a0 SHA512 2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458
diff --git a/x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch b/x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch
deleted file mode 100644
index 8926b8400430..000000000000
--- a/x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0823810ed1683e6dcb7d687795764e11ddb6ff8a Mon Sep 17 00:00:00 2001
-From: Gioele Barabucci <gioele@svario.it>
-Date: Sun, 16 Jul 2023 11:51:08 +0200
-Subject: [PATCH] CMakeLists.txt: Install dbus policy in /usr/share, not /etc
-
-From https://bugs.debian.org/1006631:
-
-> dbus supports policy files in both `/usr/share/dbus-1/system.d` and
-> `/etc/dbus-1/systemd`. [The] recently released dbus 1.14.0, officially
-> deprecates installing packages' default policies into `/etc/dbus-1/systemd`,
-> instead reserving it for the sysadmin. This is the same idea as the
-> difference between `/usr/lib/udev/rules.d` and `/etc/udev/rules.d`.
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 72c4086bb..44956e52d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -181,7 +181,7 @@ endif()
-
- # Set constants
- set(DATA_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/sddm" CACHE PATH "System application data install directory")
--set(DBUS_CONFIG_DIR "${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d" CACHE PATH "DBus config files directory")
-+set(DBUS_CONFIG_DIR "${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/system.d" CACHE PATH "DBus config files directory")
- set(STATE_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/sddm" CACHE PATH "State directory")
- set(RUNTIME_DIR "${RUNTIME_DIR_DEFAULT}" CACHE PATH "Runtime data storage directory")
- set(QML_INSTALL_DIR "${QT_IMPORTS_DIR}" CACHE PATH "QML component installation directory")
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 b851c852cc9b..000000000000
--- 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 3213828181ca..000000000000
--- 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-greeter-platform-detection.patch b/x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch
deleted file mode 100644
index 57d138875bea..000000000000
--- a/x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From e27b70957505dc7b986ab2fa68219af546c63344 Mon Sep 17 00:00:00 2001
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Date: Fri, 30 Jun 2023 09:42:58 +0200
-Subject: [PATCH] greeter: Look at WAYLAND_DISPLAY for platform detection
-
-When running sddm-greeter manually in a wayland session, it otherwise
-misdetects that as xcb.
----
- src/greeter/GreeterApp.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp
-index c2978d67e..4e4f65301 100644
---- a/src/greeter/GreeterApp.cpp
-+++ b/src/greeter/GreeterApp.cpp
-@@ -319,7 +319,7 @@ int main(int argc, char **argv)
- platform = QString::fromUtf8(qgetenv("QT_QPA_PLATFORM"));
- }
- if (platform.isEmpty()) {
-- platform = QStringLiteral("xcb");
-+ platform = qEnvironmentVariableIsSet("WAYLAND_DISPLAY") ? QStringLiteral("wayland") : QStringLiteral("xcb");
- }
-
- // Install message handler
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 2ad739a86761..000000000000
--- 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-no-qtvirtualkeyboard-on-wayland.patch b/x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch
deleted file mode 100644
index 0081f3d4e8a3..000000000000
--- a/x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 07631f2ef00a52d883d0fd47ff7d1e1a6bc6358f Mon Sep 17 00:00:00 2001
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Date: Fri, 30 Jun 2023 09:44:37 +0200
-Subject: [PATCH] Ignore InputMethod=qtvirtualkeyboard on wayland
-
-Using QT_IM_MODULE=qtvirtualkeyboard in wayland client applications is not
-supported by Qt, but is sddm's builtin default. Avoid setting that.
----
- src/greeter/GreeterApp.cpp | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp
-index 4e4f65301..01613cc66 100644
---- a/src/greeter/GreeterApp.cpp
-+++ b/src/greeter/GreeterApp.cpp
-@@ -351,8 +351,14 @@ int main(int argc, char **argv)
- qputenv("KDE_DEBUG", "1");
-
- // Qt IM module
-- if (!SDDM::mainConfig.InputMethod.get().isEmpty())
-- qputenv("QT_IM_MODULE", SDDM::mainConfig.InputMethod.get().toLocal8Bit().constData());
-+ QString inputMethod = SDDM::mainConfig.InputMethod.get();
-+ // Using qtvirtualkeyboard as IM on wayland doesn't really work,
-+ // it has to be done by the compositor instead.
-+ if (platform.startsWith(QStringLiteral("wayland")) && inputMethod == QStringLiteral("qtvirtualkeyboard"))
-+ inputMethod = QString{};
-+
-+ if (!inputMethod.isEmpty())
-+ qputenv("QT_IM_MODULE", inputMethod.toLocal8Bit());
-
- QGuiApplication app(argc, argv);
- SDDM::SignalHandler s;
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 6267adc7dda8..000000000000
--- 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/sddm-0.20.0-r1.ebuild b/x11-misc/sddm/sddm-0.20.0-r1.ebuild
index 570aa9f84fdf..813a5d7bf9e0 100644
--- a/x11-misc/sddm/sddm-0.20.0-r1.ebuild
+++ b/x11-misc/sddm/sddm-0.20.0-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+PATCHSET="${P}-patchset"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
@@ -16,6 +17,7 @@ inherit cmake linux-info optfeature systemd tmpfiles
DESCRIPTION="Simple Desktop Display Manager"
HOMEPAGE="https://github.com/sddm/sddm"
+SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain"
SLOT="0"
@@ -57,14 +59,14 @@ 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
+ "${WORKDIR}/${PATCHSET}/${P}-sddm.pam-use-substack.patch" # bug 728550
+ "${WORKDIR}/${PATCHSET}/${P}-disable-etc-debian-check.patch"
+ "${WORKDIR}/${PATCHSET}/${P}-no-default-pam_systemd-module.patch" # bug 669980
# git master
- "${FILESDIR}/${P}-fix-use-development-sessions.patch"
- "${FILESDIR}/${P}-greeter-platform-detection.patch"
- "${FILESDIR}/${P}-no-qtvirtualkeyboard-on-wayland.patch"
- "${FILESDIR}/${P}-dbus-policy-in-usr.patch"
+ "${WORKDIR}/${PATCHSET}/${P}-fix-use-development-sessions.patch"
+ "${WORKDIR}/${PATCHSET}/${P}-greeter-platform-detection.patch"
+ "${WORKDIR}/${PATCHSET}/${P}-no-qtvirtualkeyboard-on-wayland.patch"
+ "${WORKDIR}/${PATCHSET}/${P}-dbus-policy-in-usr.patch"
)
pkg_setup() {
@@ -72,6 +74,11 @@ pkg_setup() {
use kernel_linux && linux-info_pkg_setup
}
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack
+ default
+}
+
src_prepare() {
touch 01gentoo.conf || die