x11-misc/sddm: Fix Xsession launch for consolekit
authorAndreas Sturmlechner <asturm@gentoo.org>
Sat, 21 Oct 2017 12:44:59 +0000 (14:44 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sat, 21 Oct 2017 19:45:37 +0000 (21:45 +0200)
Based on patch by Joakim Tjernlund <joakim.tjernlund@infinera.com>

Gentoo-bug: 611210
Package-Manager: Portage-2.3.12, Repoman-2.3.3

x11-misc/sddm/files/sddm-0.16.0-Xsession.patch [new file with mode: 0644]
x11-misc/sddm/sddm-0.16.0-r2.ebuild [new file with mode: 0644]

diff --git a/x11-misc/sddm/files/sddm-0.16.0-Xsession.patch b/x11-misc/sddm/files/sddm-0.16.0-Xsession.patch
new file mode 100644 (file)
index 0000000..f341e18
--- /dev/null
@@ -0,0 +1,24 @@
+--- a/data/scripts/Xsession    2016-08-28 14:52:04.910181422 +0200
++++ b/data/scripts/Xsession    2017-10-21 15:25:47.668886596 +0200
+@@ -50,6 +50,10 @@
+     ;;
+ esac
++# Make D-Bus and ConsoleKit start properly, see:
++# /etc/X11/xinit/xinitrc.d/{80-dbus,90-consolekit}
++command="$@"
++
+ [ -f /etc/xprofile ] && . /etc/xprofile
+ [ -f $HOME/.xprofile ] && . $HOME/.xprofile
+@@ -94,8 +98,8 @@
+   . "$USERXSESSION"
+ fi
+-if [ -z "$@" ]; then
++if [ -z "$command" ]; then
+     exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
+ else
+-    exec $@
++    exec $command
+ fi
diff --git a/x11-misc/sddm/sddm-0.16.0-r2.ebuild b/x11-misc/sddm/sddm-0.16.0-r2.ebuild
new file mode 100644 (file)
index 0000000..2677016
--- /dev/null
@@ -0,0 +1,62 @@
+# 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}-Xsession.patch" # bug 611210
+       "${FILESDIR}/${P}-ck2-revert.patch" # bug 633920
+)
+
+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
+}