aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcallmetango <callmetango@users.noreply.github.com>2017-01-25 20:44:44 +0100
committerAnthony G. Basile <blueness@gentoo.org>2017-01-29 06:16:39 -0500
commit18892c2b19cd7338e568090bfefd15a3c5cac046 (patch)
tree3284384f4429f2ca5daba7f77814230e1ae4361c /x11-misc
parentmedia-sound/pulseaudio: added version 9.0 with patches from Alpine Linux (diff)
downloadmusl-18892c2b19cd7338e568090bfefd15a3c5cac046.tar.gz
musl-18892c2b19cd7338e568090bfefd15a3c5cac046.tar.bz2
musl-18892c2b19cd7338e568090bfefd15a3c5cac046.zip
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
Diffstat (limited to 'x11-misc')
-rw-r--r--x11-misc/lightdm/Manifest13
-rw-r--r--x11-misc/lightdm/files/README.gentoo11
-rw-r--r--x11-misc/lightdm/files/Xsession74
-rw-r--r--x11-misc/lightdm/files/lightdm8
-rw-r--r--x11-misc/lightdm/files/lightdm-1.21.0-musl-is-linux.patch12
-rw-r--r--x11-misc/lightdm/files/lightdm-1.21.0-musl-language.patch36
-rw-r--r--x11-misc/lightdm/files/lightdm-1.21.0-musl-updwtmpx.patch13
-rw-r--r--x11-misc/lightdm/files/lightdm-1.21.3-use-is-utf8.patch57
-rw-r--r--x11-misc/lightdm/files/lightdm-autologin6
-rw-r--r--x11-misc/lightdm/files/lightdm.service14
-rw-r--r--x11-misc/lightdm/lightdm-1.21.3-r1.ebuild140
-rw-r--r--x11-misc/lightdm/metadata.xml17
12 files changed, 401 insertions, 0 deletions
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>hwoarang@gentoo.org</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>