From 58f84fe4964a0bdd7e335c7819cdb9c03c52697c Mon Sep 17 00:00:00 2001 From: Michael Palimaka Date: Sat, 14 Oct 2017 15:24:32 +1100 Subject: 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 --- x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch | 20 +++++++ x11-misc/sddm/sddm-0.16.0-r1.ebuild | 66 ++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch create mode 100644 x11-misc/sddm/sddm-0.16.0-r1.ebuild (limited to 'x11-misc/sddm') 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 +} -- cgit v1.2.3-65-gdbad