summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2017-10-14 15:24:32 +1100
committerMichael Palimaka <kensington@gentoo.org>2017-10-14 15:26:47 +1100
commit58f84fe4964a0bdd7e335c7819cdb9c03c52697c (patch)
tree23002a3f80b55d5e0ad9bef6ea62e7ecdddc7509 /x11-misc/sddm
parentapp-admin/keepass: version bump 2.37 (diff)
downloadgentoo-58f84fe4964a0bdd7e335c7819cdb9c03c52697c.tar.gz
gentoo-58f84fe4964a0bdd7e335c7819cdb9c03c52697c.tar.bz2
gentoo-58f84fe4964a0bdd7e335c7819cdb9c03c52697c.zip
x11-misc/sddm: fix runtime failure when consolekit is used
Bug: https://bugs.gentoo.org/633920 Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'x11-misc/sddm')
-rw-r--r--x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch20
-rw-r--r--x11-misc/sddm/sddm-0.16.0-r1.ebuild66
2 files changed, 86 insertions, 0 deletions
diff --git a/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch b/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch
new file mode 100644
index 000000000000..bbe2a272840c
--- /dev/null
+++ b/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch
@@ -0,0 +1,20 @@
+SDDM 0.16.0 fails to start with consolekit2 because it assumes consolekit2
+has the same interface names as logind.
+
+This patch forces sddm to use legacy behaviour when consolekit2 is detected.
+
+Bug: https://bugs.gentoo.org/633920
+Bug: https://github.com/sddm/sddm/issues/903
+Bug: https://github.com/ConsoleKit2/ConsoleKit2/issues/99
+
+--- a/src/daemon/LogindDBusTypes.cpp
++++ b/src/daemon/LogindDBusTypes.cpp
+@@ -60,7 +60,7 @@
+
+ if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) {
+ qDebug() << "Console kit interface found";
+- available = true;
++ available = false;
+ serviceName = QStringLiteral("org.freedesktop.ConsoleKit");
+ managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager");
+ managerIfaceName = QStringLiteral("/org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind
diff --git a/x11-misc/sddm/sddm-0.16.0-r1.ebuild b/x11-misc/sddm/sddm-0.16.0-r1.ebuild
new file mode 100644
index 000000000000..3aaacde32ab8
--- /dev/null
+++ b/x11-misc/sddm/sddm-0.16.0-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils systemd user
+
+DESCRIPTION="Simple Desktop Display Manager"
+HOMEPAGE="https://github.com/sddm/sddm"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain"
+SLOT="0"
+IUSE="consolekit elogind +pam systemd"
+
+REQUIRED_USE="?? ( elogind systemd )"
+
+RDEPEND="
+ >=dev-qt/qtcore-5.6:5
+ >=dev-qt/qtdbus-5.6:5
+ >=dev-qt/qtgui-5.6:5
+ >=dev-qt/qtdeclarative-5.6:5
+ >=dev-qt/qtnetwork-5.6:5
+ >=x11-base/xorg-server-1.15.1
+ x11-libs/libxcb[xkb]
+ consolekit? ( >=sys-auth/consolekit-0.9.4 )
+ elogind? ( sys-auth/elogind )
+ pam? ( sys-libs/pam )
+ systemd? ( sys-apps/systemd:= )
+ !systemd? ( sys-power/upower )"
+
+DEPEND="${RDEPEND}
+ dev-python/docutils
+ >=dev-qt/linguist-tools-5.6:5
+ >=dev-qt/qttest-5.6:5
+ kde-frameworks/extra-cmake-modules
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.12.0-respect-user-flags.patch" # fix for flags handling and bug 563108
+ "${FILESDIR}/${P}-ck2-revert.patch" #bug 633920
+)
+
+src_prepare() {
+ use consolekit && eapply "${FILESDIR}/${PN}-0.14.0-consolekit.patch"
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_PAM=$(usex pam)
+ -DNO_SYSTEMD=$(usex '!systemd')
+ -DUSE_ELOGIND=$(usex 'elogind')
+ -DBUILD_MAN_PAGES=ON
+ -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf"
+ )
+ cmake-utils_src_configure
+}
+
+pkg_postinst() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /var/lib/${PN} ${PN},video
+
+ systemd_reenable sddm.service
+}