commit:     18892c2b19cd7338e568090bfefd15a3c5cac046
Author:     callmetango <callmetango <AT> users <DOT> noreply <DOT> github 
<DOT> com>
AuthorDate: Wed Jan 25 19:44:44 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jan 29 11:16:39 2017 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=18892c2b

x11-misc/lightdm: added version 1.21.3 with patches from Alpine Linux

* also includes a patch for handling uppercase ".UTF-8" locale suffixes taken 
from https://bugs.launchpad.net/lightdm/+bug/1658950

 x11-misc/lightdm/Manifest                          |  13 ++
 x11-misc/lightdm/files/README.gentoo               |  11 ++
 x11-misc/lightdm/files/Xsession                    |  74 +++++++++++
 x11-misc/lightdm/files/lightdm                     |   8 ++
 .../files/lightdm-1.21.0-musl-is-linux.patch       |  12 ++
 .../files/lightdm-1.21.0-musl-language.patch       |  36 ++++++
 .../files/lightdm-1.21.0-musl-updwtmpx.patch       |  13 ++
 .../lightdm/files/lightdm-1.21.3-use-is-utf8.patch |  57 +++++++++
 x11-misc/lightdm/files/lightdm-autologin           |   6 +
 x11-misc/lightdm/files/lightdm.service             |  14 +++
 x11-misc/lightdm/lightdm-1.21.3-r1.ebuild          | 140 +++++++++++++++++++++
 x11-misc/lightdm/metadata.xml                      |  17 +++
 12 files changed, 401 insertions(+)

diff --git a/x11-misc/lightdm/Manifest b/x11-misc/lightdm/Manifest
new file mode 100644
index 0000000..9ee2bca
--- /dev/null
+++ b/x11-misc/lightdm/Manifest
@@ -0,0 +1,13 @@
+AUX README.gentoo 494 SHA256 
6192d8d9db26d97404860f891ba8a1f3aa623ac72df2b23c2939344b6960dda8 SHA512 
07e35ef0ac603b2b817c33fd2bc06b9b254a2e3fee16e7ec8fc0c86d27330c795b8d1eae660c42c414de4d721faea2cab1d41c5950ca7a1032d758626011ae3c
 WHIRLPOOL 
7032d5d76eac0c94f8e5be5d7dd517b5b5569179eed04d398736ea75fff0eacdcfd4ab43c34aedb203c2fbc2d6ac0661f21d90b4a09e6bfd1d4cf9fa290dce3b
+AUX Xsession 1819 SHA256 
7968a509b63b18acbf720903fe9a3f3da7830845148699adabc29bafac3fc0e7 SHA512 
f1f9264ef6103e66ced2d94bdb24dafb71a37ed8286b35536fa992d774f288bb9b8e338e184c955b39f0448da91af5d7c2d12c5536521186d8ee5db832e20e7e
 WHIRLPOOL 
ea447e2d10877be0b8525fa84a5886f21aca10266dc26de5e977fec8c53e9071c9da5af5bf3518d55c92f9cb04c8155e34c499a14e92708912f3ed4d98e7d432
+AUX lightdm 257 SHA256 
c43240d1fbdb76d219d11ffbb8ad406bcbd7c78c8eba9c03c0feb353b6671c27 SHA512 
b7d08013758d8755eb015e64dc67d58cfe13006c4ccfa7f22d795233b932888a36fb2ede938db619f718769cb4c836e960385c21a5a16df5e7235550148eb6f3
 WHIRLPOOL 
6dea823ce65d5e3c98409907460466eaafda6f928f0207055ee5b2747ed1bc065f1678bf8ba4981160c4f0fcf68380bfb664518bb428531d484c56c97eddec5a
+AUX lightdm-1.21.0-musl-is-linux.patch 361 SHA256 
32cb8010d7a0b7a84fbccf9fecd0687e5219d289bfcba700f4ecac9f92e268c7 SHA512 
0bc0efaf0efef43e05759d1ed0aa341f8ddf452a0919df8c036756b3fa70c177dffc5f48cd27e8286a87d07cf877860730c3045de79760433a9b5a54c0af92d2
 WHIRLPOOL 
995349835943442a78ce8f50550c2f8097d6bc00acebfdf91b849763f7cae6957e16cb3c7f7abe083286aa47b0de3051247fe17718d4a8a577cce3d3b8c08eb7
+AUX lightdm-1.21.0-musl-language.patch 858 SHA256 
bd63c4774da331c0668bf25ce4f243c276058a9b97cf7ae4328c5edf9f9a6ce9 SHA512 
9075a2936b61a48de2763176dae0bece5c7ce47096f6054a0bd81fa70fd9f0f4aac694d8061534a0ad9b317142a46492d41399a16465fa1254c797d4e5e3ccdb
 WHIRLPOOL 
cc8812a349bee5a59692b10986e24450d63b360a92675dacac4217a8123289dd49c3fb0b75d07f830e2bce9d7c67d2e7af7ff803c184f02399b4f601556437d6
+AUX lightdm-1.21.0-musl-updwtmpx.patch 313 SHA256 
a7591d36fa926d1d44427da51ec11c4f432ab4705447fe21588bbdf15cd55e54 SHA512 
d595a47891a866d4a1cdd3b520d39401b78210315cdc7864f3f48bacd5d901c8c5b48a3547fcf5db8731185578562cfd60af9c01306e3a0e9df6dbae42827f64
 WHIRLPOOL 
3159e7e3bb0c3245857bc5e5a7c6128a70d7723a2ee7b254a6caeb07d9efbb2caa1369985e7ade0b9fed603303d05ae63c0e8318e03429f3f9c71394913a6c80
+AUX lightdm-1.21.3-use-is-utf8.patch 1904 SHA256 
e26e9d309537e261671d1c5ff777d343244f8f9dc299372fab763da4a2a80167 SHA512 
d3e7ea026904200265bca133ef097a0b25bfb3908917757f013b75b06c01c1fbb0101aa311bb8c2edc0f7df9e6bd14586ec153a9ee74160a7d7930e4a0af9793
 WHIRLPOOL 
5f316b6f6f5d2da628cff15b44a91f900f874cf7494ca4516f32322917369773b00aa37b2af0ebc7935c3f55dad23aa89c3803bdbdf063a6fd32d1f5a5ff9cae
+AUX lightdm-autologin 155 SHA256 
a3fefe481ba0511f6557194a075f9b40dd15f1680fdfc9cf2441467bae726c83 SHA512 
d09be0a61b7eea18a5c5977182362226e82a39b238c401f636bdf0a83381b97a16efc19e67be10b76854c95186dd65f539431d2352ce87a4e35dd1d40e388064
 WHIRLPOOL 
6c5c431b18c2315b759dcd5a027421b234aee83d6081d98d5626f938c3aa7d4f3d93c2221869549b03dfe2903af46318fd52a0b428084949bbae57b75734d304
+AUX lightdm.service 279 SHA256 
2e03423cbe88c9fdc3a9684d6d14221aa6e92d105f9d1d53b08747d966c45125 SHA512 
5b60788e35ebd7918b21ab52dc3f5cc29dd3aa45ddf6cfe75a72d1c541620f0438378a9bd681e2c151a465cf981e803b399f61b48ff5d0f2e1a3cc950c30d23a
 WHIRLPOOL 
cc7cc2ef2b8ea68080cca6aff103f4a25143464577a52bb7bc18ce4d1d7996ce2068923481aa3ba38c8c60b7b34887c43667594a0d75d7138cefe12fbdba7b97
+DIST introspection-20110205.m4.tar.bz2 1220 SHA256 
4394a606d380ae5315872ede35387f104da5fad96794d29c45c444a9d481d8b2 SHA512 
5c49239935b93d86cce68b577b43d1a56d8749ab5747029bfcfa67339697134be24ef29ba6c3d133b8c03e867864637c8eb61491a4b7f6bb1e56386ed66cb9be
 WHIRLPOOL 
0765c0a72919b26d0c8c38714450eec578a347bfc1c59d4950b633b64b17aa1cde38dfb87fdcd6e2f364c98d6c0bd3dadaa9c2a9711bd1b5ac09a583b988f500
+DIST lightdm-1.21.3.tar.xz 517332 SHA256 
f66d95d61672701ae8dca0b2d9fe52429e8c068bfbc598639a03a97ee4d0cc0b SHA512 
bb91a1eae1d3637c1556b968b062cf9fc0c0f619320458ea77ea3c4f3dbf2aff5eeed136c703744851ec21fca8e0410dcfb02d2a44ca55c1f2db290a0bf3fde1
 WHIRLPOOL 
26e1ff294598b5648a0a6073ee68585698de41d38b2d77ca9deb2cbffc5beb685563e204ce5077b7ae945b253d68b08fb8580ac4e6220db92079af01c7419a2e
+EBUILD lightdm-1.21.3-r1.ebuild 4144 SHA256 
bb3a0acc2e7a15a6f52f7c5ab118a7c7510cc948905c9cc074b9d43bd55cb9bf SHA512 
6bf4f5597c0b509c7bce86c8ca9d54ed35286589225b71c3f40869f1f3bef1f3bab085e32e57e865ca4c678ccb7d6e801b230a8ef94731fb9f5c00ff18df27a7
 WHIRLPOOL 
e0d314969586d69e38cbb882fe2f653f47892579a6a6ca5a8a25e6ff16309f6896436f55fed06cae2f5559a657a8fd1473333d01b4de6d1768d0798569ea00ce
+MISC metadata.xml 489 SHA256 
782d64c73c21aae1ee1bc21d65350b298daf3a5a07510190045c42986e188b51 SHA512 
4db697b1b2b308e15666cb44716ff85bc9a68479389a2f40b91775e0571169b1fd8697080406365b83f05cfb8914b71602e2608fcedd0152e8b5c68aabb17d1e
 WHIRLPOOL 
8aa32fb3612e7318919a86f8968a3ececc626b8b131f16576924604034f8bce8d51f72666be2dbfc7b9dbbb1fa9d697443b44a8c5c9c77ef92b807999d2c8f36

diff --git a/x11-misc/lightdm/files/README.gentoo 
b/x11-misc/lightdm/files/README.gentoo
new file mode 100644
index 0000000..182f530
--- /dev/null
+++ b/x11-misc/lightdm/files/README.gentoo
@@ -0,0 +1,11 @@
+
+ * Even though the default /etc/lightdm/lightdm.conf will work for
+ * most users, make sure you configure it to suit your needs
+ * before using lightdm for the first time.
+ * You can test the configuration file using the following
+ * command: lightdm --test-mode -c /etc/lightdm/lightdm.conf. This
+ * requires xorg-server to be built with the 'kdrive' useflag.
+ *
+ * You can also set your own default values for LIGHTDM_GREETER,
+ * LIGHTDM_SESSION, and LIGHTDM_USER in /etc/portage/make.conf
+

diff --git a/x11-misc/lightdm/files/Xsession b/x11-misc/lightdm/files/Xsession
new file mode 100644
index 0000000..50ce80f
--- /dev/null
+++ b/x11-misc/lightdm/files/Xsession
@@ -0,0 +1,74 @@
+#!/bin/sh
+#
+# LightDM wrapper to run around X sessions.
+
+echo "Running X session wrapper"
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; 
do
+    if [ -f "$file" ]; then
+        echo "Loading profile from $file";
+        . "$file"
+    fi
+done
+
+# Load resources
+for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
+    if [ -f "$file" ]; then
+        echo "Loading resource: $file"
+        xrdb -nocpp -merge "$file"
+    fi
+done
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+    if [ -f "$file" ]; then
+        echo "Loading keymap: $file"
+        setxkbmap `cat "$file"`
+        XKB_IN_USE=yes
+    fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+    for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+        if [ -f "$file" ]; then
+           echo "Loading modmap: $file"
+           xmodmap "$file"
+        fi
+    done
+fi
+
+unset XKB_IN_USE
+
+# /etc/X11/xinit/xinitrc.d/80-dbus expects $command to be
+# set to the Xsession arguments. So make it happy. See
+# https://bugs.gentoo.org/show_bug.cgi?id=533456
+command="$@"
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+    for script in $xinitdir/*; do
+        echo "Loading xinit script $script"
+        if [ -x "$script" -a ! -d "$script" ]; then
+            . "$script"
+        fi
+    done
+fi
+
+# Load Xsession scripts
+xsessionddir="/etc/X11/Xsession.d"
+if [ -d "$xsessionddir" ]; then
+    for i in `ls $xsessionddir`; do
+        script="$xsessionddir/$i"
+        echo "Loading X session script $script"
+        if [ -r "$script"  -a -f "$script" ] && expr "$i" : 
'^[[:alnum:]_-]\+$' > /dev/null; then
+            . "$script"
+        fi
+    done
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $command

diff --git a/x11-misc/lightdm/files/lightdm b/x11-misc/lightdm/files/lightdm
new file mode 100644
index 0000000..6286d6a
--- /dev/null
+++ b/x11-misc/lightdm/files/lightdm
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth       optional            pam_env.so
+auth       include             system-login
+auth       required            pam_nologin.so
+account    include             system-login
+password   include             system-login
+session    optional             pam_loginuid.so
+session    include             system-auth

diff --git a/x11-misc/lightdm/files/lightdm-1.21.0-musl-is-linux.patch 
b/x11-misc/lightdm/files/lightdm-1.21.0-musl-is-linux.patch
new file mode 100644
index 0000000..14657d7
--- /dev/null
+++ b/x11-misc/lightdm/files/lightdm-1.21.0-musl-is-linux.patch
@@ -0,0 +1,12 @@
+diff -Naur lightdm-1.21.3/tests/src/libsystem.c 
lightdm-1.21.3-musl/tests/src/libsystem.c
+--- lightdm-1.21.3/tests/src/libsystem.c
++++ lightdm-1.21.3-musl/tests/src/libsystem.c
+@@ -224,7 +224,7 @@
+     return g_strdup (path);
+ }
+ 
+-#ifdef __linux__
++#ifdef __GLIBC__
+ static int
+ open_wrapper (const char *func, const char *pathname, int flags, mode_t mode)
+ {

diff --git a/x11-misc/lightdm/files/lightdm-1.21.0-musl-language.patch 
b/x11-misc/lightdm/files/lightdm-1.21.0-musl-language.patch
new file mode 100644
index 0000000..183a2fe
--- /dev/null
+++ b/x11-misc/lightdm/files/lightdm-1.21.0-musl-language.patch
@@ -0,0 +1,36 @@
+--- a/liblightdm-gobject/language.c
++++ b/liblightdm-gobject/language.c
+@@ -244,6 +244,7 @@
+ 
+     if (!priv->name)
+     {
++        #if HAVE_LC_IDENTIFICATION
+         gchar *locale = get_locale_name (priv->code);
+         if (locale)
+         {
+@@ -257,6 +258,8 @@
+ 
+             setlocale (LC_ALL, current);
+         }
++        #endif
++
+         if (!priv->name)
+         {
+             gchar **tokens = g_strsplit_set (priv->code, "_.@", 2);
+@@ -287,6 +290,7 @@
+ 
+     if (!priv->territory && strchr (priv->code, '_'))
+     {
++        #if HAVE_LC_IDENTITIFICATION
+         gchar *locale = get_locale_name (priv->code);
+         if (locale)
+         {
+@@ -300,6 +304,8 @@
+ 
+             setlocale (LC_ALL, current);
+         }
++        #endif
++
+         if (!priv->territory)
+         {
+             gchar **tokens = g_strsplit_set (priv->code, "_.@", 3);

diff --git a/x11-misc/lightdm/files/lightdm-1.21.0-musl-updwtmpx.patch 
b/x11-misc/lightdm/files/lightdm-1.21.0-musl-updwtmpx.patch
new file mode 100644
index 0000000..8a5bbdb
--- /dev/null
+++ b/x11-misc/lightdm/files/lightdm-1.21.0-musl-updwtmpx.patch
@@ -0,0 +1,13 @@
+--- a/src/session-child.c
++++ b/src/session-child.c
+@@ -203,8 +203,8 @@
+ }
+ 
+ /* GNU provides this but we can't rely on that so let's make our own version 
*/
+-static void
+-updwtmpx (const gchar *wtmp_file, struct utmpx *ut)
++void
++updwtmpx (const char *wtmp_file, const struct utmpx *ut)
+ {
+     struct utmp u;
+ 

diff --git a/x11-misc/lightdm/files/lightdm-1.21.3-use-is-utf8.patch 
b/x11-misc/lightdm/files/lightdm-1.21.3-use-is-utf8.patch
new file mode 100644
index 0000000..4cdd811
--- /dev/null
+++ b/x11-misc/lightdm/files/lightdm-1.21.3-use-is-utf8.patch
@@ -0,0 +1,57 @@
+In Debian, LightDM does not offer C.UTF-8 locale during login, see:
+
+    https://bugs.debian.org/844991
+
+The code includes a function to filter UTF-8 locales, but it is not always
+used. The attached patch against trunk fixes the problem.
+
+See https://bugs.launchpad.net/lightdm/+bug/1658950
+
+diff --git a/liblightdm-gobject/language.c b/liblightdm-gobject/language.c
+index 20c3e1cd..6e3a2d52 100644
+--- a/liblightdm-gobject/language.c
++++ b/liblightdm-gobject/language.c
+@@ -57,6 +57,12 @@ G_DEFINE_TYPE (LightDMLanguage, lightdm_language, 
G_TYPE_OBJECT);
+ static gboolean have_languages = FALSE;
+ static GList *languages = NULL;
+ 
++static gboolean
++is_utf8 (const gchar *code)
++{
++    return g_strrstr (code, ".utf8") || g_strrstr (code, ".UTF-8");
++}
++
+ static void
+ update_languages (void)
+ {
+@@ -93,7 +99,7 @@ update_languages (void)
+                 continue;
+ 
+             /* Ignore the non-interesting languages */
+-            if (strcmp (command, "locale -a") == 0 && !g_strrstr (code, 
".utf8"))
++            if (strcmp (command, "locale -a") == 0 && !is_utf8 (code))
+                 continue;
+ 
+             language = g_object_new (LIGHTDM_TYPE_LANGUAGE, "code", code, 
NULL);
+@@ -109,12 +115,6 @@ update_languages (void)
+     have_languages = TRUE;
+ }
+ 
+-static gboolean
+-is_utf8 (const gchar *code)
+-{
+-    return g_strrstr (code, ".utf8") || g_strrstr (code, ".UTF-8");
+-}
+-
+ /* Get a valid locale name that can be passed to setlocale(), so we always 
can use nl_langinfo() to get language and country names. */
+ static gchar *
+ get_locale_name (const gchar *code)
+@@ -154,7 +154,7 @@ get_locale_name (const gchar *code)
+         for (i = 0; avail_locales[i]; i++)
+         {
+             gchar *loc = avail_locales[i];
+-            if (!g_strrstr (loc, ".utf8"))
++            if (!is_utf8 (loc))
+                 continue;
+             if (g_str_has_prefix (loc, language))
+             {

diff --git a/x11-misc/lightdm/files/lightdm-autologin 
b/x11-misc/lightdm/files/lightdm-autologin
new file mode 100644
index 0000000..decfba3
--- /dev/null
+++ b/x11-misc/lightdm/files/lightdm-autologin
@@ -0,0 +1,6 @@
+auth   optional        pam_env.so
+auth   required        pam_nologin.so
+auth   required        pam_permit.so
+
+account        include         system-local-login
+session        include         system-local-login

diff --git a/x11-misc/lightdm/files/lightdm.service 
b/x11-misc/lightdm/files/lightdm.service
new file mode 100644
index 0000000..7eb46ce
--- /dev/null
+++ b/x11-misc/lightdm/files/lightdm.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Light Display Manager
+Documentation=man:lightdm(1)
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/sbin/lightdm
+StandardOutput=syslog
+Restart=always
+IgnoreSIGPIPE=no
+BusName=org.freedesktop.DisplayManager
+
+[Install]
+Alias=display-manager.service

diff --git a/x11-misc/lightdm/lightdm-1.21.3-r1.ebuild 
b/x11-misc/lightdm/lightdm-1.21.3-r1.ebuild
new file mode 100644
index 0000000..8fab395
--- /dev/null
+++ b/x11-misc/lightdm/lightdm-1.21.3-r1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit autotools eutils flag-o-matic pam qmake-utils readme.gentoo-r1 systemd 
versionator xdg-utils
+
+TRUNK_VERSION="$(get_version_component_range 1-2)"
+DESCRIPTION="A lightweight display manager"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/LightDM";
+SRC_URI="https://launchpad.net/${PN}/${TRUNK_VERSION}/${PV}/+download/${P}.tar.xz
+       mirror://gentoo/introspection-20110205.m4.tar.bz2"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="audit +gtk +introspection kde qt4 qt5 +gnome"
+
+COMMON_DEPEND="audit? ( sys-process/audit )
+       >=dev-libs/glib-2.32.3:2
+       dev-libs/libxml2
+       gnome? ( sys-apps/accountsservice )
+       virtual/pam
+       x11-libs/libX11
+       >=x11-libs/libxklavier-5
+       introspection? ( >=dev-libs/gobject-introspection-1 )
+       qt4? (
+               dev-qt/qtcore:4
+               dev-qt/qtdbus:4
+               dev-qt/qtgui:4
+               )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtdbus:5
+               dev-qt/qtgui:5
+               )"
+RDEPEND="${COMMON_DEPEND}
+       >=sys-auth/pambase-20101024-r2"
+DEPEND="${COMMON_DEPEND}
+       dev-util/gtk-doc-am
+       dev-util/intltool
+       gnome? ( gnome-base/gnome-common )
+       sys-devel/gettext
+       virtual/pkgconfig"
+PDEPEND="gtk? ( x11-misc/lightdm-gtk-greeter )
+       kde? ( x11-misc/lightdm-kde )"
+
+DOCS=( NEWS )
+RESTRICT="test"
+
+src_prepare() {
+       epatch "${FILESDIR}/${PN}-1.21.3-use-is-utf8.patch"
+       epatch "${FILESDIR}/${PN}-1.21.0-musl-is-linux.patch"
+       epatch "${FILESDIR}/${PN}-1.21.0-musl-language.patch"
+       epatch "${FILESDIR}/${PN}-1.21.0-musl-updwtmpx.patch"
+
+       xdg_environment_reset
+
+       sed -i -e 's:getgroups:lightdm_&:' tests/src/libsystem.c || die #412369
+       sed -i -e '/minimum-uid/s:500:1000:' data/users.conf || die
+
+       einfo "Fixing the session-wrapper variable in lightdm.conf"
+       sed -i -e \
+               "/^#session-wrapper/s@^.*@session-wrapper=/etc/${PN}/Xsession@" 
\
+               data/lightdm.conf || die "Failed to fix lightdm.conf"
+
+       # use correct version of qmake. bug #566950
+       sed -i -e "/AC_CHECK_TOOLS(MOC4/a AC_SUBST(MOC4,$(qt4_get_bindir)/moc)" 
configure.ac || die
+       sed -i -e "/AC_CHECK_TOOLS(MOC5/a AC_SUBST(MOC5,$(qt5_get_bindir)/moc)" 
configure.ac || die
+
+       default
+
+       # Remove bogus Makefile statement. This needs to go upstream
+       sed -i /"@YELP_HELP_RULES@"/d help/Makefile.am || die
+       if has_version dev-libs/gobject-introspection; then
+               eautoreconf
+       else
+               AT_M4DIR=${WORKDIR} eautoreconf
+       fi
+}
+
+src_configure() {
+       # Set default values if global vars unset
+       local _greeter _session _user
+       _greeter=${LIGHTDM_GREETER:=lightdm-gtk-greeter}
+       _session=${LIGHTDM_SESSION:=gnome}
+       _user=${LIGHTDM_USER:=root}
+       # Let user know how lightdm is configured
+       einfo "Gentoo configuration"
+       einfo "Default greeter: ${_greeter}"
+       einfo "Default session: ${_session}"
+       einfo "Greeter user: ${_user}"
+
+       use qt5 && append-cxxflags -std=c++11
+
+       # also disable tests because libsystem.c does not build. Tests are
+       # restricted so it does not matter anyway.
+       econf \
+               --localstatedir=/var \
+               --disable-static \
+               --disable-tests \
+               $(use_enable audit libaudit) \
+               $(use_enable introspection) \
+               $(use_enable qt4 liblightdm-qt) \
+               $(use_enable qt5 liblightdm-qt5) \
+               --with-user-session=${_session} \
+               --with-greeter-session=${_greeter} \
+               --with-greeter-user=${_user}
+}
+
+src_install() {
+       default
+
+       # Delete apparmor profiles because they only work with Ubuntu's
+       # apparmor package. Bug #494426
+       if [[ -d ${D}/etc/apparmor.d ]]; then
+               rm -r "${D}/etc/apparmor.d" || die \
+                       "Failed to remove apparmor profiles"
+       fi
+
+       insinto /etc/${PN}
+       doins data/{${PN},keys}.conf
+       doins "${FILESDIR}"/Xsession
+       fperms +x /etc/${PN}/Xsession
+       # /var/lib/lightdm-data could be useful. Bug #522228
+       dodir /var/lib/lightdm-data
+
+       prune_libtool_files --all
+       rm -rf "${ED}"/etc/init
+
+       # Remove existing pam file. We will build a new one. Bug #524792
+       rm -rf "${ED}"/etc/pam.d/${PN}{,-greeter}
+       pamd_mimic system-local-login ${PN} auth account password session 
#372229
+       pamd_mimic system-local-login ${PN}-greeter auth account password 
session #372229
+       dopamd "${FILESDIR}"/${PN}-autologin #390863, #423163
+
+       readme.gentoo_create_doc
+
+       systemd_dounit "${FILESDIR}/${PN}.service"
+}

diff --git a/x11-misc/lightdm/metadata.xml b/x11-misc/lightdm/metadata.xml
new file mode 100644
index 0000000..89f62bd
--- /dev/null
+++ b/x11-misc/lightdm/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Markos Chandras</name>
+       </maintainer>
+       <use>
+               <flag name="gtk">Pull in the gtk+ greeter</flag>
+               <flag name="kde">Pull in the kde greeter</flag>
+       </use>
+       <longdescription lang="en">
+</longdescription>
+       <upstream>
+               <remote-id type="launchpad">lightdm</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to