From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 50359139085 for ; Sun, 29 Jan 2017 11:17:23 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id ED6DE1424D; Sun, 29 Jan 2017 11:16:57 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BFBC01424D for ; Sun, 29 Jan 2017 11:16:57 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C4F97341666 for ; Sun, 29 Jan 2017 11:16:56 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 35F2F39B9 for ; Sun, 29 Jan 2017 11:16:55 +0000 (UTC) From: "Anthony G. Basile" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Anthony G. Basile" Message-ID: <1485688599.18892c2b19cd7338e568090bfefd15a3c5cac046.blueness@gentoo> Subject: [gentoo-commits] proj/musl:master commit in: x11-misc/lightdm/, x11-misc/lightdm/files/ X-VCS-Repository: proj/musl X-VCS-Files: x11-misc/lightdm/Manifest x11-misc/lightdm/files/README.gentoo x11-misc/lightdm/files/Xsession x11-misc/lightdm/files/lightdm x11-misc/lightdm/files/lightdm-1.21.0-musl-is-linux.patch x11-misc/lightdm/files/lightdm-1.21.0-musl-language.patch x11-misc/lightdm/files/lightdm-1.21.0-musl-updwtmpx.patch x11-misc/lightdm/files/lightdm-1.21.3-use-is-utf8.patch x11-misc/lightdm/files/lightdm-autologin x11-misc/lightdm/files/lightdm.service x11-misc/lightdm/lightdm-1.21.3-r1.ebuild x11-misc/lightdm/metadata.xml X-VCS-Directories: x11-misc/lightdm/ x11-misc/lightdm/files/ X-VCS-Committer: blueness X-VCS-Committer-Name: Anthony G. Basile X-VCS-Revision: 18892c2b19cd7338e568090bfefd15a3c5cac046 X-VCS-Branch: master Date: Sun, 29 Jan 2017 11:16:55 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: fe702eaf-5153-4d94-aec2-ecbd1bc726d7 X-Archives-Hash: 325cf39e92f46a731106ed9bd5dd3180 commit: 18892c2b19cd7338e568090bfefd15a3c5cac046 Author: callmetango users noreply github com> AuthorDate: Wed Jan 25 19:44:44 2017 +0000 Commit: Anthony G. Basile gentoo 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 @@ + + + + + hwoarang@gentoo.org + Markos Chandras + + + Pull in the gtk+ greeter + Pull in the kde greeter + + + + + lightdm + +