From f247b36fc6df2694a347f5305eeb7f927d7c0ffe Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 2 Sep 2023 22:17:17 +0100 Subject: gentoo auto-resync : 02:09:2023 - 22:17:17 --- .../files/sddm-0.20.0-dbus-policy-in-usr.patch | 29 ++++++++++++++++++++ .../sddm-0.20.0-greeter-platform-detection.patch | 24 ++++++++++++++++ ...dm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch | 32 ++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch create mode 100644 x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch create mode 100644 x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch (limited to 'x11-misc/sddm/files') 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 new file mode 100644 index 000000000000..8926b8400430 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-dbus-policy-in-usr.patch @@ -0,0 +1,29 @@ +From 0823810ed1683e6dcb7d687795764e11ddb6ff8a Mon Sep 17 00:00:00 2001 +From: Gioele Barabucci +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-greeter-platform-detection.patch b/x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch new file mode 100644 index 000000000000..57d138875bea --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-greeter-platform-detection.patch @@ -0,0 +1,24 @@ +From e27b70957505dc7b986ab2fa68219af546c63344 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +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-qtvirtualkeyboard-on-wayland.patch b/x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch new file mode 100644 index 000000000000..0081f3d4e8a3 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-no-qtvirtualkeyboard-on-wayland.patch @@ -0,0 +1,32 @@ +From 07631f2ef00a52d883d0fd47ff7d1e1a6bc6358f Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +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; -- cgit v1.2.3