lxde-base/lxdm: Add basic systemd and elogind support
authorBrian Evans <grknight@gentoo.org>
Sat, 23 Mar 2019 23:17:55 +0000 (19:17 -0400)
committerBrian Evans <grknight@gentoo.org>
Sat, 23 Mar 2019 23:17:55 +0000 (19:17 -0400)
This relies on the PAM plugins of each to fire if they exist

No multiseat support included or promised at this time

Bug: https://bugs.gentoo.org/531226
Closes: https://bugs.gentoo.org/681332
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Brian Evans <grknight@gentoo.org>
lxde-base/lxdm/files/lxdm-0.5.3-pam.patch [new file with mode: 0644]
lxde-base/lxdm/lxdm-0.5.3-r2.ebuild [new file with mode: 0644]

diff --git a/lxde-base/lxdm/files/lxdm-0.5.3-pam.patch b/lxde-base/lxdm/files/lxdm-0.5.3-pam.patch
new file mode 100644 (file)
index 0000000..c13f4e7
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/pam/lxdm
++++ b/pam/lxdm
+@@ -5,6 +5,8 @@ account    include     system-auth
+ auth       optional   pam_gnome_keyring.so
+ account    include    system-local-login
++-session   optional    pam_systemd.so class=greeter
++-session   optional    pam_elogind.so class=greeter
+ session    optional   pam_keyinit.so force revoke
+ session    include    system-auth
+-session    optional   pam_console.so
++#session   optional   pam_console.so
+ session    optional   pam_gnome_keyring.so auto_start
diff --git a/lxde-base/lxdm/lxdm-0.5.3-r2.ebuild b/lxde-base/lxdm/lxdm-0.5.3-r2.ebuild
new file mode 100644 (file)
index 0000000..543eded
--- /dev/null
@@ -0,0 +1,74 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Using strip-linguas in eutils
+inherit eutils autotools systemd
+
+DESCRIPTION="LXDE Display Manager"
+HOMEPAGE="https://wiki.lxde.org/en/LXDM"
+SRC_URI="mirror://sourceforge/lxde/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+
+IUSE="consolekit debug elogind +gtk3 nls pam systemd"
+
+DEPEND="consolekit? ( sys-auth/consolekit )
+       x11-libs/libxcb
+       gtk3? ( x11-libs/gtk+:3 )
+       !gtk3? ( x11-libs/gtk+:2 )
+       nls? ( sys-devel/gettext )
+       pam? ( virtual/pam )"
+# We only use the pam modules and not actually link to the code
+RDEPEND="${DEPEND}
+       elogind? ( sys-auth/elogind[pam] )
+       systemd? ( sys-apps/systemd[pam] )
+"
+BDEPEND=">=dev-util/intltool-0.40
+       virtual/pkgconfig"
+DOCS=( AUTHORS README TODO )
+
+REQUIRED_USE="?? ( consolekit elogind systemd ) elogind? ( pam ) systemd? ( pam )"
+
+src_prepare() {
+       # Upstream bug, tarball contains pre-made lxdm.conf
+       rm "${S}"/data/lxdm.conf || die
+
+       # Fix consolekit and selinux
+       eapply "${FILESDIR}/${P}-pam.patch"
+       # Apply all upstream fixes in git until 2016-11-11
+       eapply "${FILESDIR}/lxdm-0.5.3-upstream-fixes.patch"
+       eapply_user
+
+       # this replaces the bootstrap/autogen script in most packages
+       eautoreconf
+
+       # process LINGUAS
+       if use nls; then
+               einfo "Running intltoolize ..."
+               intltoolize --force --copy --automake || die
+               strip-linguas -i "${S}/po" || die
+       fi
+}
+src_configure() {
+       econf   --enable-password \
+               --with-x \
+               --with-xconn=xcb \
+               --with-systemdsystemunitdir=$(systemd_get_systemunitdir) \
+               $(use_enable consolekit) \
+               $(use_enable gtk3) \
+               $(use_enable nls) \
+               $(use_enable debug) \
+               $(use_with pam)
+}
+
+src_install() {
+       default_src_install
+
+       #Use Gentoo specific Xsession startup file
+       exeinto /etc/${PN}
+       doexe "${FILESDIR}"/Xsession
+}