From 32a08d0846ca635e92b9efba7b5ccf7418258648 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Fri, 31 Jan 2014 11:11:04 +0000 Subject: [PATCH 1/2] lightdm: Update to 1.8.6 --- .../services/x11/display-managers/lightdm.nix | 4 +- .../display-managers/lightdm/default.nix | 7 +- .../display-managers/lightdm/lightdm.patch | 141 ++++++------------ 3 files changed, 52 insertions(+), 100 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index e4125891e6cb..0fa16a77c1b9 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -55,8 +55,8 @@ let '' [LightDM] greeter-user = ${config.users.extraUsers.lightdm.name} - xgreeters-directory = ${cfg.greeter.package} - xsessions-directory = ${dmcfg.session.desktops} + greeters-directory = ${cfg.greeter.package} + sessions-directory = ${dmcfg.session.desktops} [SeatDefaults] xserver-command = ${xserverWrapper} diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index 598c42199bec..d4c6f24d69a3 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -3,18 +3,18 @@ let ver_branch = "1.8"; - version = "1.7.0"; + version = "1.8.6"; in stdenv.mkDerivation rec { name = "lightdm-${version}"; src = fetchurl { url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz"; - sha256 = "0nwwjgc9xvwili6714ag88wsrf0lr5hv1i6z9f0xvin4ym18cbs5"; + sha256 = "17ivc0c4dbnc0fzd581j53cn6hdav34zz2hswjzy8aczbpk605qi"; }; patches = [ ./lightdm.patch ]; - patchFlags = "-p0"; + patchFlags = "-p1"; buildInputs = [ pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt @@ -27,5 +27,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://launchpad.net/lightdm; platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ocharles ]; }; } diff --git a/pkgs/applications/display-managers/lightdm/lightdm.patch b/pkgs/applications/display-managers/lightdm/lightdm.patch index a6e53bafcc79..d81e0aae56d5 100644 --- a/pkgs/applications/display-managers/lightdm/lightdm.patch +++ b/pkgs/applications/display-managers/lightdm/lightdm.patch @@ -1,7 +1,8 @@ -=== modified file 'liblightdm-gobject/greeter.c' ---- liblightdm-gobject/greeter.c 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/greeter.c 2013-03-29 14:15:58 +0000 -@@ -567,6 +567,21 @@ +diff --git a/liblightdm-gobject/greeter.c b/liblightdm-gobject/greeter.c +index 9387118..635cea0 100644 +--- a/liblightdm-gobject/greeter.c ++++ b/liblightdm-gobject/greeter.c +@@ -567,6 +567,21 @@ lightdm_greeter_get_default_session_hint (LightDMGreeter *greeter) } /** @@ -23,11 +24,11 @@ * lightdm_greeter_get_hide_users_hint: * @greeter: A #LightDMGreeter * - -=== modified file 'liblightdm-gobject/lightdm/greeter.h' ---- liblightdm-gobject/lightdm/greeter.h 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/lightdm/greeter.h 2013-03-29 11:56:11 +0000 -@@ -93,6 +93,8 @@ +diff --git a/liblightdm-gobject/lightdm/greeter.h b/liblightdm-gobject/lightdm/greeter.h +index 7d8988f..2b54909 100644 +--- a/liblightdm-gobject/lightdm/greeter.h ++++ b/liblightdm-gobject/lightdm/greeter.h +@@ -93,6 +93,8 @@ gboolean lightdm_greeter_get_select_guest_hint (LightDMGreeter *greeter); const gchar *lightdm_greeter_get_autologin_user_hint (LightDMGreeter *greeter); @@ -36,19 +37,19 @@ gboolean lightdm_greeter_get_autologin_guest_hint (LightDMGreeter *greeter); gint lightdm_greeter_get_autologin_timeout_hint (LightDMGreeter *greeter); - -=== modified file 'liblightdm-gobject/lightdm/session.h' ---- liblightdm-gobject/lightdm/session.h 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/lightdm/session.h 2013-03-29 11:59:16 +0000 +diff --git a/liblightdm-gobject/lightdm/session.h b/liblightdm-gobject/lightdm/session.h +index 13ddcd9..cdb2fd6 100644 +--- a/liblightdm-gobject/lightdm/session.h ++++ b/liblightdm-gobject/lightdm/session.h @@ -12,6 +12,7 @@ - #define _LIGHTDM_SESSION_H_ + #define LIGHTDM_SESSION_H_ #include +#include "greeter.h" G_BEGIN_DECLS -@@ -42,9 +43,9 @@ +@@ -42,9 +43,9 @@ typedef struct GType lightdm_session_get_type (void); @@ -60,10 +61,10 @@ const gchar *lightdm_session_get_key (LightDMSession *session); - -=== modified file 'liblightdm-gobject/session.c' ---- liblightdm-gobject/session.c 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/session.c 2013-03-29 14:16:48 +0000 +diff --git a/liblightdm-gobject/session.c b/liblightdm-gobject/session.c +index 949778f..db5e18a 100644 +--- a/liblightdm-gobject/session.c ++++ b/liblightdm-gobject/session.c @@ -11,6 +11,7 @@ #include #include @@ -72,7 +73,7 @@ #include "lightdm/session.h" enum { -@@ -167,7 +168,7 @@ +@@ -189,7 +190,7 @@ load_sessions (const gchar *sessions_dir) } static void @@ -81,18 +82,17 @@ { GKeyFile *config_key_file = NULL; gchar *config_path = NULL; -@@ -183,8 +184,8 @@ +@@ -205,8 +206,7 @@ update_sessions (void) remote_sessions_dir = g_strdup (REMOTE_SESSIONS_DIR); /* Use session directory from configuration */ - /* FIXME: This should be sent in the greeter connection */ - config_path = g_build_filename (CONFIG_DIR, "lightdm.conf", NULL); + config_path = g_strdup (lightdm_greeter_get_config_path (greeter)); -+ config_key_file = g_key_file_new (); result = g_key_file_load_from_file (config_key_file, config_path, G_KEY_FILE_NONE, &error); - if (error) -@@ -228,9 +229,9 @@ + if (error && !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT)) +@@ -250,9 +250,9 @@ update_sessions (void) * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession **/ GList * @@ -104,7 +104,7 @@ return local_sessions; } -@@ -242,9 +243,9 @@ +@@ -264,9 +264,9 @@ lightdm_get_sessions (void) * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession **/ GList * @@ -116,78 +116,29 @@ return remote_sessions; } - -=== modified file 'src/display.c' ---- src/display.c 2013-03-26 22:22:49 +0000 -+++ src/display.c 2013-03-29 12:12:43 +0000 -@@ -62,6 +62,9 @@ - /* Program to run sessions through */ - gchar *session_wrapper; - -+ /* Path to the configuration file that lightdm is running under */ -+ gchar *config_path; +diff --git a/src/lightdm.c b/src/lightdm.c +index 7d35034..910164c 100644 +--- a/src/lightdm.c ++++ b/src/lightdm.c +@@ -1142,6 +1142,9 @@ main (int argc, char **argv) + } + } + g_clear_error (&error); + - /* TRUE if in a user session */ - gboolean in_user_session; - -@@ -213,6 +216,14 @@ - } - - void -+display_set_config_path (Display *display, const gchar *config_path) -+{ -+ g_return_if_fail (display != NULL); -+ g_free (display->priv->config_path); -+ display->priv->config_path = g_strdup (config_path); -+} ++ config_set_string (config_get_instance (), "SeatDefaults", "config-path", config_path); + -+void - display_set_show_remote_login_hint (Display *display, gboolean show_remote_login) - { - g_return_if_fail (display != NULL); -@@ -436,6 +447,7 @@ - greeter_set_hint (display->priv->greeter, "show-remote-login", display->priv->greeter_show_remote_login ? "true" : "false"); - if (display->priv->greeter_is_lock) - greeter_set_hint (display->priv->greeter, "lock-screen", "true"); -+ greeter_set_hint (display->priv->greeter, "config-path", display->priv->config_path); - - /* Run greeter as unprivileged user */ - if (getuid () != 0) - -=== modified file 'src/display.h' ---- src/display.h 2013-03-26 22:22:49 +0000 -+++ src/display.h 2013-03-29 12:12:37 +0000 -@@ -80,6 +80,8 @@ - - void display_set_user_session (Display *display, SessionType type, const gchar *session_name); - -+void display_set_config_path (Display *display, const gchar *config_path); -+ - gboolean display_start (Display *display); - - gboolean display_get_is_ready (Display *display); - -=== modified file 'src/lightdm.c' ---- src/lightdm.c 2013-03-07 21:40:31 +0000 -+++ src/lightdm.c 2013-03-29 11:48:45 +0000 -@@ -1050,6 +1050,7 @@ - g_debug ("Starting Light Display Manager %s, UID=%i PID=%i", VERSION, getuid (), getpid ()); - - g_debug ("Loaded configuration from %s", config_path); -+ config_set_string (config_get_instance (), "LightDM", "config-path", config_path); g_free (config_path); - g_debug ("Using D-Bus name %s", LIGHTDM_BUS_NAME); - -=== modified file 'src/seat.c' ---- src/seat.c 2013-03-26 22:22:49 +0000 -+++ src/seat.c 2013-03-29 12:13:00 +0000 -@@ -536,6 +536,7 @@ - if (!session_name) - session_name = seat_get_string_property (seat, "user-session"); - display_set_user_session (display, SESSION_TYPE_LOCAL, session_name); -+ display_set_config_path (display, config_get_string (config_get_instance (), "LightDM", "config-path")); + /* Set default values */ +diff --git a/src/seat.c b/src/seat.c +index e2b9c2c..a950ea2 100644 +--- a/src/seat.c ++++ b/src/seat.c +@@ -1137,6 +1137,7 @@ create_greeter_session (Seat *seat) + greeter_set_hint (greeter_session, "show-manual-login", seat_get_boolean_property (seat, "greeter-show-manual-login") ? "true" : "false"); + greeter_set_hint (greeter_session, "show-remote-login", seat_get_boolean_property (seat, "greeter-show-remote-login") ? "true" : "false"); + greeter_set_hint (greeter_session, "has-guest-account", seat_get_allow_guest (seat) && seat_get_boolean_property (seat, "greeter-allow-guest") ? "true" : "false"); ++ greeter_set_hint (greeter_session, "config-path", seat_get_string_property (seat, "config-path")); + + g_object_unref (session_config); - seat->priv->displays = g_list_append (seat->priv->displays, display); - g_signal_emit (seat, signals[DISPLAY_ADDED], 0, display); - From d56bd75967cc3802fa6d353ca4b6538a7300473b Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Fri, 31 Jan 2014 12:53:07 +0000 Subject: [PATCH 2/2] lightdm-gtk-greeter: Update to 1.6.1 --- .../lightdm-gtk-greeter/default.nix | 7 ++++--- .../lightdm-gtk-greeter.patch | 18 +++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix index 0b8863752d2a..0e75005d13b4 100644 --- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix @@ -10,18 +10,18 @@ let ver_branch = "1.6"; - version = "1.5.1"; # 1.5.2 and 1.6.0 result into infinite cycling of X in restarts + version = "1.6.1"; in stdenv.mkDerivation rec { name = "lightdm-gtk-greeter-${version}"; src = fetchurl { url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz"; - sha256 = "08fnsbnay5jhd7ps8n91i6c227zq6xizpyn34qhqzykrga8pxkpc"; + sha256 = "1nb8ljrbrp1zga083g3b633xi3izxxm4jipw1qgial1x16mqc0hz"; }; patches = [ ./lightdm-gtk-greeter.patch ]; - patchFlags = "-p0"; + patchFlags = "-p1"; buildInputs = [ pkgconfig lightdm intltool ] ++ (if useGTK2 then [ gtk2 makeWrapper ] else [ gtk3 ]); @@ -39,5 +39,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://launchpad.net/lightdm-gtk-greeter; platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ocharles ]; }; } diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch b/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch index 5ae5603b4dd6..ea9e0eaec936 100644 --- a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch +++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch @@ -1,13 +1,13 @@ -=== modified file 'src/lightdm-gtk-greeter.c' ---- src/lightdm-gtk-greeter.c 2013-02-09 23:20:39 +0000 -+++ src/lightdm-gtk-greeter.c 2013-03-29 12:21:34 +0000 -@@ -1273,7 +1273,7 @@ - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (session_combo), renderer, TRUE); - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (session_combo), renderer, "text", 0); - model = gtk_combo_box_get_model (session_combo); +diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c +index cc5f9e1..d615dc1 100644 +--- a/src/lightdm-gtk-greeter.c ++++ b/src/lightdm-gtk-greeter.c +@@ -1716,7 +1716,7 @@ main (int argc, char **argv) + gtk_container_add (GTK_CONTAINER (menuitem), image); + gtk_widget_show (GTK_WIDGET (menuitem)); + - items = lightdm_get_sessions (); + items = lightdm_get_sessions (greeter); + GSList *sessions = NULL; for (item = items; item; item = item->next) { - LightDMSession *session = item->data; -