summaryrefslogtreecommitdiff
path: root/x11-misc/sddm
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-27 13:35:02 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-27 13:35:02 +0100
commitef593d1ec529be89d755077eee3869006d8c18ae (patch)
treee17a9fcd71c371059f0168cbdfe109c563536c27 /x11-misc/sddm
parent61faa1ea0e8302df305bc281038fc00dc7eb1dd4 (diff)
gentoo auto-resync : 27:06:2023 - 13:35:02
Diffstat (limited to 'x11-misc/sddm')
-rw-r--r--x11-misc/sddm/Manifest5
-rw-r--r--x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch83
-rw-r--r--x11-misc/sddm/sddm-0.20.0.ebuild (renamed from x11-misc/sddm/sddm-0.19.0_p20230608.ebuild)21
3 files changed, 94 insertions, 15 deletions
diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest
index a4a5dc0f4558..7fe80ab04655 100644
--- a/x11-misc/sddm/Manifest
+++ b/x11-misc/sddm/Manifest
@@ -11,12 +11,13 @@ AUX sddm-0.18.1-qt-5.15.2.patch 865 BLAKE2B 1198a2a7b9cd0b46648eddd3eddca444d502
AUX sddm-0.18.1-respect-user-flags.patch 774 BLAKE2B 050d261762b872a475ce9f250b464e539e278c4c87ad90767b7a9e8dc8f4785671ff3c5989b3785979b3a59ce805bb5b2ee90b01da0dca831a48aecaddc94280 SHA512 8df7f3b804594d46439e4c93a01a035e71d8e8a53c95193eaff03403970d0010878e70f0f7c8c965545360a948c2cab994e5ce29e011f8f41bc232107402fe78
AUX sddm-0.18.1-revert-honor-PAM-supplemental-groups.patch 3616 BLAKE2B 71a4c6f592214160ff993e86582bf5f550be204193668f5bab7786db88ae9a1a09ee268beb3e3157c1b033e765053ba415f3d291f299b09606aa566c9c197370 SHA512 b33b26517173262194bdc98e63b84fbb1f03005abc3c079332dd9b275167d8ddc680ba5c2a9968be5c54963b64f291aab65ad9f04b9f3f69299d030753cd90f5
AUX sddm-0.20.0-disable-etc-debian-check.patch 1037 BLAKE2B da37f7e7025e0c02f892a08bfca27a1e970e517a2b0fdd5bf45dae903215f6523747f076164868d60faf693ca0676b15e4e052496d3ae57c73ba01152ff7d3ba SHA512 d4fe05d49d067a708231494d8b48ee316b007c6c903be0c125d528492789b07d892b149c87f370263eec4372d11e1ff8ca3cafe855b83f65dec4709998b40514
+AUX sddm-0.20.0-fix-use-development-sessions.patch 3399 BLAKE2B c5a1297a673fab4e198f0c5045cb1e362451b3c12f92e2d11168eb68d60cb33367d24c664d4d49503fa6bde7a4a8be9a23fc227f15835d34963dd05ddf27f737 SHA512 1f9402be49ab5b8937e7b15162dd077c2a09be112b4bd80ad302a865e981138a071b45d36d8080f333075f03ad74451024b8a08bde1902029a5b62ac44172504
AUX sddm-0.20.0-no-default-pam_systemd-module.patch 1487 BLAKE2B e4a270d2c0cb140e6195bb93aa9e15538737585ded1a30db2986d00e21a8a74d0bf6732c2bb3d47ddb7636ca75f44f5be64ff1f5b435a28ab585bd614223a307 SHA512 c598d4ff4ce5b7b88b5e5224d09a8aa336c929e2889eacb6eb76caac719adb112ecc11202f40cba9246a1ad2b0e039f8de6ab378d755126e8598598286171b1f
AUX sddm-0.20.0-respect-user-flags.patch 348 BLAKE2B 228f9011992b113afc8a32ef2fdb17d2ca3e3d158718b0bdf8d0638de5b432e830fb9baf83d1b9deea5ee3b2a01e61fecf1ebb81621e7b58df3d7905697a8099 SHA512 e347b6ef36a37751a18affc2f098b55772c8782f5c4826094d1841425f85e29c18e988b47e2252317907804f9b135642367c7e992934aff93edaa58ca67f7dd5
AUX sddm-0.20.0-sddm.pam-use-substack.patch 1173 BLAKE2B 2d4fee0a0f3bc61a0873d4927ff8c3189d77371929448dadccc35a43a114c2be64dd0822825a45708904ff5c70ab7896e9a7cf54931d14f4f48ab79d5dc36d75 SHA512 bfe00511a17e7bd0e0c9c51f65082f9feda38237cba64f36cdb31570adb56ded9d380f7e3b133ed1c3f7bde4d9341f2a5ac9627cd9c72300532b8d84b5cf0dc8
AUX sddm.tmpfiles 31 BLAKE2B 51d22f1d6e25aed3df726c0c315e83193bf28b5e9cafb681b648e6788ad8e9ddd8610ef5c305627373e32465ac104b33d71c333153217f8f8f560ace9ddca45a SHA512 bb5ecdcc6cfcc6b1056a7b10b8a6f323a3e12ea5496a26d80f199a275402fd99ed0fa810fad6687407605964f980784c24082686e177063113a358e1d4220136
DIST sddm-0.18.1.tar.xz 3402972 BLAKE2B 99ab43d374e9a3d318f692a6d496d8a6d68927af3c8e8fc2208d7355ec90649a14758b39f5733dd32f942ed569de88085576d4f5f8666f4f97079e0fb6dcb99e SHA512 ff0637600cda2f4da1f643f047f8ee822bd9651ae4ccbb614b9804175c97360ada7af93e07a7b63832f014ef6e7d1b5380ab2b8959f8024ea520fa5ff17efd60
-DIST sddm-0.19.0_p20230608.tar.gz 3553104 BLAKE2B 41622866f28f9a2aee3b1f6f02f66271d8fe762da71d2215bb6b4b87418504ce321db81625a6cfab099bdaa395da1bf4153a65e795612e745546c2a42e97f270 SHA512 76a591a41d3f171c6c3ec5d57837d3061f3dd094ec1e08003f0bacd90c061613505c899ce0b86c7bd4c5f8c346f7bb15f9cd574377dcece123a756329a805562
+DIST sddm-0.20.0.tar.gz 3552722 BLAKE2B 8086c9555d5ce1598db3279353de077d51adbcc5222a929750e8558a1bcdad395a411f90608bffdc6e1ca7e7ac2b8325e25cf04cbf8476698d787ce7e60c2105 SHA512 0f64b405f1451873a01a2210530feb6f4cbbdea17be9d039c105088963a48322968db7b60c0d20ac5d97c8ec2a19e5130f0a74c0f9de58c61453d8ce8bb6272a
EBUILD sddm-0.18.1-r8.ebuild 3785 BLAKE2B d187956247816e988d69e7ecbca870c4f9b95639f135b579a75c3784763dc652b873b219d0767fccd9cca5ad81ebcdd602d29852ad4130ae5c1bf9fefd692a76 SHA512 1582fa4b54e516024f98b811692952e97774b8f671f061e53bc52e51decb934379d2be64935d326d83e3b39d4eb0f036360201715d8ed15de5d727624f449408
-EBUILD sddm-0.19.0_p20230608.ebuild 3660 BLAKE2B 5d08fac97a639a880306a9186b6e94856a9f97303962b9b3847f9a8afece555b8b218e1fd65d37e33527565551292a346d0700a6eabacdb7533c3dcca5d8ef14 SHA512 9af503f5b506dd7bb7582dffbb40877a12b2312306e6c268e937bd94149dbaa1d6ddc47f00e3b73a4ac827f562423d2493a0d23b6e26e12e35b77b75ebe56355
+EBUILD sddm-0.20.0.ebuild 3506 BLAKE2B ebf037259576f6d090edbe051d9e2a6be8c5878cc0d8b2694ae166a1e90a84b4db160ef7fda8f0bdeb32a09f104dfe5a7b96b6458cf203b694b8a4b1421dcba4 SHA512 a7182de101e6ab281dcce2cc78cd0ca43867b15bda0ac7b4f70c4a8647f37feac68e8096d4a408c420c62f206a8612febbe1d531f4ae96ec78dbce2eb1c6ca22
MISC metadata.xml 722 BLAKE2B fc34c0b25b7f3e6ab876c99a30f475dc90cc4b319f497a2ba4bd2beac1dc1189d3d9611999c0c3b078254db23c4c9b2ef0416da41e706c1a1db96d5bbec28177 SHA512 c1fa48632080e295272df6e7ceb7c0a1ad64a41155c7d53d91728f072cb7abf618e7bf4d5cced2ca0b198bbbf5ed1e72c5bfc9ea9d590064e5f5494747d32b0d
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
new file mode 100644
index 000000000000..3213828181ca
--- /dev/null
+++ b/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch
@@ -0,0 +1,83 @@
+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/sddm-0.19.0_p20230608.ebuild b/x11-misc/sddm/sddm-0.20.0.ebuild
index 40d21b378104..7d246cd0dea3 100644
--- a/x11-misc/sddm/sddm-0.19.0_p20230608.ebuild
+++ b/x11-misc/sddm/sddm-0.20.0.ebuild
@@ -3,14 +3,12 @@
EAPI=8
-COMMIT=40250a647291ea0cf587631c79f61903ced075e3
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
else
- SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${PN}-${COMMIT}"
- KEYWORDS=""
+ 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"
fi
QTMIN=5.15.2
@@ -45,6 +43,7 @@ DEPEND="${COMMON_DEPEND}
test? ( >=dev-qt/qttest-${QTMIN}:5 )
"
RDEPEND="${COMMON_DEPEND}
+ x11-base/xorg-server
!systemd? ( gui-libs/display-manager-init )
"
BDEPEND="
@@ -56,11 +55,12 @@ BDEPEND="
PATCHES=(
# Downstream patches
- "${FILESDIR}/${PN}-0.20.0-respect-user-flags.patch"
+ "${FILESDIR}/${P}-respect-user-flags.patch"
"${FILESDIR}/${PN}-0.18.1-Xsession.patch" # bug 611210
- "${FILESDIR}/${PN}-0.20.0-sddm.pam-use-substack.patch" # bug 728550
- "${FILESDIR}/${PN}-0.20.0-disable-etc-debian-check.patch"
- "${FILESDIR}/${PN}-0.20.0-no-default-pam_systemd-module.patch" # bug 669980
+ "${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() {
@@ -125,13 +125,8 @@ pkg_postinst() {
elog " to the troubleshooting section."
fi
- optfeature "X11 DisplayServer support" x11-base/xorg-server
optfeature "Weston DisplayServer support (EXPERIMENTAL)" dev-libs/weston
optfeature "KWin DisplayServer support (EXPERIMENTAL)" kde-plasma/kwin
- if has_version x11-base/xorg-server; then
- ewarn "SDDM version no longer pulls in x11-base/xorg-server via USE=X."
- fi
-
systemd_reenable sddm.service
}