summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lxde-base/lxdm')
-rw-r--r--lxde-base/lxdm/Manifest1
-rw-r--r--lxde-base/lxdm/files/lxdm-0.3.0-consolekit-disable.patch14
-rw-r--r--lxde-base/lxdm/files/lxdm-0.3.0-pam_console-disable.patch8
-rw-r--r--lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch32
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch45
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch25
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch31
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch16
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch51
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch29
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch43
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch15
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch9
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch7
-rw-r--r--lxde-base/lxdm/files/lxdm.service12
-rw-r--r--lxde-base/lxdm/lxdm-0.4.1-r9.ebuild90
-rw-r--r--lxde-base/lxdm/metadata.xml12
17 files changed, 440 insertions, 0 deletions
diff --git a/lxde-base/lxdm/Manifest b/lxde-base/lxdm/Manifest
new file mode 100644
index 000000000000..a9f2f860ca90
--- /dev/null
+++ b/lxde-base/lxdm/Manifest
@@ -0,0 +1 @@
+DIST lxdm-0.4.1.tar.gz 296714 SHA256 9e0d0a5672fcf31a18de8178ce73eab1723d6ae7097dfe41e9fe2c46e180cf08 SHA512 8ed4a955a910def4db66958d1cb24976db178b8763199a024b6c2119894745e3646566c42d01472dffbbcbb7fd21784b01e74dc88038e01caebaa3b6d720ff27 WHIRLPOOL 1bbb55bf955f46aaac54ca3372c09308baa496297e56026456e464217f115d6b26994e8be6b6b228b663bb2e14cf9d5ace6930f75024f6426825dd4fefc5349f
diff --git a/lxde-base/lxdm/files/lxdm-0.3.0-consolekit-disable.patch b/lxde-base/lxdm/files/lxdm-0.3.0-consolekit-disable.patch
new file mode 100644
index 000000000000..3d02d32b17cf
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.3.0-consolekit-disable.patch
@@ -0,0 +1,14 @@
+--- lxdm-0.3.0-old/src/lxdm.c
++++ lxdm-0.3.0/src/lxdm.c
+@@ -1332,4 +1332,5 @@
+ if(option)
+ s->option=g_strdup(option);
++#if HAVE_LIBCK_CONNECTOR
+ if(s->ckc)
+ {
+@@ -1337,4 +1338,5 @@
+ s->ckc=NULL;
+ }
++#endif
+ #if HAVE_LIBPAM
+ setup_pam_session(s,pw,session_name);
diff --git a/lxde-base/lxdm/files/lxdm-0.3.0-pam_console-disable.patch b/lxde-base/lxdm/files/lxdm-0.3.0-pam_console-disable.patch
new file mode 100644
index 000000000000..c920bc85c3e6
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.3.0-pam_console-disable.patch
@@ -0,0 +1,8 @@
+--- lxdm-0.2.0.a/pam/lxdm
++++ lxdm-0.2.0.b/pam/lxdm
+@@ -4,4 +4,4 @@
+ session optional pam_keyinit.so force revoke
+ session include system-auth
+ session required pam_loginuid.so
+-session optional pam_console.so
++# session optional pam_console.so
diff --git a/lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch b/lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch
new file mode 100644
index 000000000000..928fd2b94133
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch
@@ -0,0 +1,32 @@
+diff -Nurp lxdm-0.3.0.orig/src/lxdm.c lxdm-0.3.0/src/lxdm.c
+--- lxdm-0.3.0.orig/src/lxdm.c 2011-07-03 01:53:26.262780480 +0200
++++ lxdm-0.3.0/src/lxdm.c 2011-07-03 01:52:11.975780526 +0200
+@@ -1174,7 +1174,27 @@ gboolean lxdm_get_session_info(char *ses
+ }
+ else
+ {
+- name=g_strdup(session);
++ GKeyFile *f;
++ char *file_path;
++ gboolean loaded;
++
++ f = g_key_file_new();
++ char *desktop_name = g_strconcat(session, ".desktop", NULL);
++ file_path = g_build_filename(XSESSIONS_DIR, desktop_name, NULL);
++ loaded = g_key_file_load_from_file(f, file_path, G_KEY_FILE_NONE, NULL);
++ g_free(file_path);
++ g_free(desktop_name);
++
++ if ( loaded )
++ {
++ name = g_key_file_get_locale_string(f, "Desktop Entry", "Name", NULL, NULL);
++ exec = g_key_file_get_string(f, "Desktop Entry", "Exec", NULL);
++ }
++ else
++ {
++ name=g_strdup(session);
++ }
++ g_key_file_free(f);
+ }
+ }
+ if(name && !exec)
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch b/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch
new file mode 100644
index 000000000000..d91bf75a67bd
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch
@@ -0,0 +1,45 @@
+From 949ee91acb55baeb4b8761957eabd2e5a345d2ae Mon Sep 17 00:00:00 2001
+From: Mitch Harder <mitch.harder@sabayonlinux.org>
+Date: Thu, 8 Dec 2011 11:02:28 -0600
+Subject: Fix configure.ac test for pam libs.
+
+A bug report on Gentoo noted that the configure test for pam
+wasn't working correctly.
+https://bugs.gentoo.org/show_bug.cgi?id=384615
+
+This corrections borrows the configure.ac pam testing method used in xdm.
+---
+ configure.ac | 13 +++++++++++--
+ 1 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e952473..eaa883a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,12 +14,21 @@ AC_PROG_INSTALL
+ AM_PROG_CC_C_O
+
+ # Checks for libraries.
+ AC_CHECK_LIB([crypt], [crypt])
+
+-AC_ARG_WITH(pam,AC_HELP_STRING([--without-pam],[build without pam]),
+-[],[AC_CHECK_LIB([pam], [pam_open_session])])
++# Check for PAM support
++AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]),
++ [USE_PAM=$withval], [USE_PAM=$use_pam_default])
++if test "x$USE_PAM" != "xno" ; then
++ AC_SEARCH_LIBS(pam_open_session,[pam])
++ AC_CHECK_FUNC(pam_open_session,
++ [AC_DEFINE(USE_PAM,1,[Use PAM for authentication])],
++ [if test "x$USE_PAM" != "xtry" ; then
++ AC_MSG_ERROR(["PAM support requested, but pam_open_session not found."])
++ fi])
++fi
+
+ AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
+
+ # Checks for header files.
+ AC_PATH_X
+--
+1.7.3.4
+
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch b/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch
new file mode 100644
index 000000000000..4c2d5b35235f
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch
@@ -0,0 +1,25 @@
+From d4e41ecb36a1ea29482b75674d804bb0f05540b2 Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 25 Dec 2011 15:23:19 +0800
+Subject: [PATCH 1/1] fix event check bug caused cpu 100%
+
+---
+ src/lxcom.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/lxcom.c b/src/lxcom.c
+index 02763eb..18ee12e 100644
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout)
+
+ static gboolean lxcom_check(GSource *source)
+ {
+- return TRUE;
++ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE;
+ }
+
+ static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data)
+--
+1.7.4.1
+
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch b/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch
new file mode 100644
index 000000000000..0aecc08593dc
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch
@@ -0,0 +1,31 @@
+diff --git a/Makefile.am b/Makefile.am
+index bfac56b..40710fc 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,10 +2,13 @@ NULL =
+ SUBDIRS= \
+ src \
+ po \
+- pam \
+ data \
+ $(NULL)
+
++if HAVE_PAM
++SUBDIRS += pam
++endif
++
+ rpm: dist @PACKAGE_NAME@.spec
+ rpmbuild -bb \
+ --define "_sourcedir `pwd`" \
+diff --git a/configure.ac b/configure.ac
+index ae5177f..aaa1bad 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,6 +27,7 @@ if test "x$USE_PAM" != "xno" ; then
+ AC_MSG_ERROR(["PAM support requested, but pam_open_session not found."])
+ fi])
+ fi
++AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ])
+
+ # Checks for header files.
+ AC_PATH_X
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch b/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch
new file mode 100644
index 000000000000..103268efec40
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch
@@ -0,0 +1,16 @@
+--- lxdm-0.4.1.orig/src/lxdm.c
++++ lxdm-0.4.1/src/lxdm.c
+@@ -1458,8 +1458,12 @@ void lxdm_do_login(struct passwd *pw, ch
+ setenv("XDG_SESSION_COOKIE", ck_connector_get_cookie(s->ckc), 1);
+ }
+ #endif
++ int i;
++ for(i=2;i<256;i++)
++ g_source_remove(i);
++
+ char** env, *path;
+- int n_env,i;
++ int n_env;
+ n_env = g_strv_length(environ);
+ /* copy all environment variables and override some of them */
+ env = g_new(char*, n_env + 1 + 13);
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch b/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch
new file mode 100644
index 000000000000..7abdbd470523
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch
@@ -0,0 +1,51 @@
+From 19f82a206b2cec964cea0475395d63dedf183788 Mon Sep 17 00:00:00 2001
+From: Andrea Florio <andrea@opensuse.org>
+Date: Fri, 29 Jul 2011 23:59:32 +0200
+Subject: [PATCH] fix null pointer dereference
+
+---
+ src/config.c | 25 ++++++++++---------------
+ 1 files changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/config.c b/src/config.c
+index 3f92f7b..4603ab4 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -125,24 +125,19 @@ static gboolean image_file_valid(const char *filename)
+ static void update_face_image(GtkWidget *w)
+ {
+ GdkPixbuf *pixbuf;
+- char *path;
+- path=g_build_filename(user->pw_dir,".face",NULL);
+- if(access(path,R_OK))
+- {
+- g_free(path);
+- if(ui_nobody)
+- pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL);
+- if(!pixbuf)
+- pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
++ char *path=g_build_filename(user->pw_dir,".face",NULL);
++ pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL);
++ g_free(path);
++ if(!pixbuf && ui_nobody)
++ pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL);
++ if(!pixbuf)
++ pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
+ "avatar-default", 48,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
+- }
+- else
++ if(pixbuf)
+ {
+- pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL);
+- g_free(path);
++ gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf);
++ g_object_unref(pixbuf);
+ }
+- gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf);
+- g_object_unref(pixbuf);
+ }
+
+ static void set_face_file(const char *filename)
+--
+1.7.0.1
+
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch b/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch
new file mode 100644
index 000000000000..a59273ccf40d
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch
@@ -0,0 +1,29 @@
+From 0f9e8e53a8d30f5c8ccfb03edc282148f58bfd30 Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 1 Jan 2012 17:05:22 +0800
+Subject: [PATCH] fix bug introduced from pam detect
+
+---
+ src/lxdm.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/src/lxdm.c b/src/lxdm.c
+index b5a90be..07be1e0 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -25,8 +25,12 @@
+ #include <config.h>
+ #endif
+ #ifndef HAVE_LIBPAM
++#ifdef USE_PAM
++#define HAVE_LIBPAM 1
++#else
+ #define HAVE_LIBPAM 0
+ #endif
++#endif
+
+ #include <stdio.h>
+ #include <stdlib.h>
+--
+1.7.4.1
+
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch
new file mode 100644
index 000000000000..621a9d62e45b
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch
@@ -0,0 +1,43 @@
+X-Gentoo-Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=443666
+X-Git-Url: http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxdm;a=patch;h=902438eb83b4ae97d774e4e5f38b46f2d826df2f
+X-Git-Url: http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxdm;a=patch;h=371b018474217bdff1d5108b384fbf0f45aa873d
+
+Signed-off-by: Markos Chandras <hwoarang@gentoo.org>
+
+Index: lxdm-0.4.1/configure.ac
+===================================================================
+--- lxdm-0.4.1.orig/configure.ac
++++ lxdm-0.4.1/configure.ac
+@@ -28,8 +28,6 @@ if test "x$USE_PAM" != "xno" ; then
+ fi])
+ fi
+
+-AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
+-
+ # Checks for header files.
+ AC_PATH_X
+ AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
+@@ -89,11 +87,22 @@ PKG_CHECK_MODULES(GTK, [$pkg_modules])
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+
+-PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
++
++AC_ARG_ENABLE(consolekit,
++ AC_HELP_STRING([--disable-consolekit],[disable ConsoleKit support]),
++ [enable_consolekit=$enableval],
++ [enable_consolekit=yes]
++)
++
++if test "x$enable_consolekit" = "xyes" ; then
++ AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
++ PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
+ AC_SUBST(CONSOLEKIT_CFLAGS)
+ AC_SUBST(CONSOLEKIT_LIBS)],[
+ echo "ConsoleKit devel package not found"
+ ])
++fi
++
+
+ AC_ARG_ENABLE(password,
+ AC_HELP_STRING([--enable-password],[enable to load autologin password store at config file]),
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch b/lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch
new file mode 100644
index 000000000000..9f723a2f2bed
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch
@@ -0,0 +1,15 @@
+--- lxdm-0.4.1.orig/pam/lxdm
++++ lxdm-0.4.1/pam/lxdm
+@@ -1,9 +1,9 @@
+ #%PAM-1.0
+-auth substack system-auth
++auth substack system-local-login
+ auth optional pam_gnome_keyring.so
+-account include system-auth
++account include system-local-login
+ session optional pam_keyinit.so force revoke
+-session include system-auth
++session include system-local-login
+ session required pam_loginuid.so
+ #session optional pam_console.so
+ session optional pam_gnome_keyring.so auto_start
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch b/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch
new file mode 100644
index 000000000000..628e9a511102
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch
@@ -0,0 +1,9 @@
+--- lxdm-0.4.0.orig/pam/lxdm
++++ lxdm-0.4.0/pam/lxdm
+@@ -5,5 +5,5 @@ account include system-auth
+ session optional pam_keyinit.so force revoke
+ session include system-auth
+ session required pam_loginuid.so
+-session optional pam_console.so
++#session optional pam_console.so
+ session optional pam_gnome_keyring.so auto_start
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch b/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch
new file mode 100644
index 000000000000..c7df391b1040
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch
@@ -0,0 +1,7 @@
+--- a/pam/lxdm 2011-12-05 17:30:39.749064359 -0600
++++ b/pam/lxdm 2011-12-05 17:31:19.355569211 -0600
+@@ -7,3 +7,4 @@
+ session required pam_loginuid.so
+ #session optional pam_console.so
+ session optional pam_gnome_keyring.so auto_start
++session optional pam_selinux.so
diff --git a/lxde-base/lxdm/files/lxdm.service b/lxde-base/lxdm/files/lxdm.service
new file mode 100644
index 000000000000..bf4a0a800f26
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=LXDE Display Manager
+Conflicts=getty@tty1.service plymouth-quit.service
+After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service
+
+[Service]
+ExecStart=/usr/sbin/lxdm
+Restart=always
+IgnoreSIGPIPE=no
+
+[Install]
+Alias=display-manager.service
diff --git a/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild b/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild
new file mode 100644
index 000000000000..9aa3010b80d0
--- /dev/null
+++ b/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+WANT_AUTOMAKE="1.12" #493996
+inherit eutils autotools systemd
+
+DESCRIPTION="LXDE Display Manager"
+HOMEPAGE="http://lxde.org"
+SRC_URI="mirror://sourceforge/lxde/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc x86"
+
+IUSE="consolekit debug gtk3 nls pam"
+
+RDEPEND="consolekit? ( sys-auth/consolekit )
+ x11-libs/libxcb
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ nls? ( sys-devel/gettext )
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig"
+
+src_prepare() {
+ # Upstream bug, tarball contains pre-made lxdm.conf
+ rm "${S}"/data/lxdm.conf || die
+
+ # There is consolekit
+ epatch "${FILESDIR}/${P}-pam_console-disable.patch"
+ # Fix null pointer dereference, backported from git
+ epatch "${FILESDIR}/${P}-git-fix-null-pointer-deref.patch"
+
+ epatch "${FILESDIR}"/${P}-configure-add-pam.patch
+
+ # 403999
+ epatch "${FILESDIR}"/${P}-missing-pam-defines.patch
+
+ # 412025
+ epatch "${FILESDIR}"/${P}-event-check.patch
+
+ # 393329 Selinux support
+ epatch "${FILESDIR}"/${P}-selinux-support.patch
+
+ # See https://bugs.launchpad.net/ubuntu/+source/lxdm/+bug/922363
+ epatch "${FILESDIR}/${P}-fix-pam-100-cpu.patch"
+
+ # Optional Consolekit support. bug #443666
+ epatch "${FILESDIR}"/${P}-optional-consolekit.patch
+
+ # 469512
+ epatch "${FILESDIR}"/${P}-fix-optional-pam.patch
+
+ # 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 \
+ $(use_enable consolekit) \
+ $(use_enable gtk3) \
+ $(use_enable nls) \
+ $(use_enable debug) \
+ $(use_with pam)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS README TODO || die
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+pkg_postinst() {
+ echo
+ elog "Take into consideration that LXDM is in the early stages of development!"
+ echo
+}
diff --git a/lxde-base/lxdm/metadata.xml b/lxde-base/lxdm/metadata.xml
new file mode 100644
index 000000000000..76c9155f289f
--- /dev/null
+++ b/lxde-base/lxdm/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>lxde</herd>
+ <use>
+ <flag name="consolekit">Enables support for authorization using consolekit</flag>
+ <flag name="gtk3">Use GTK+3 instead of 2</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">lxde</remote-id>
+ </upstream>
+</pkgmetadata>