diff options
| author | Timothy Sample <samplet@ngyro.com> | 2019-04-29 14:49:42 -0400 |
|---|---|---|
| committer | Timothy Sample <samplet@ngyro.com> | 2019-04-29 23:04:27 -0400 |
| commit | 5aafccebbed7c9474a021623e6d8823cffde95b5 (patch) | |
| tree | e1c4b602695dd3cdaabeb4efa0f03343915ca50d | |
| parent | 842a687264e4dd88e4aa7f608582d6adc0313a07 (diff) | |
gnu: gdm: Avoid selecting the placeholder session.
This fixes <https://bugs.gnu.org/35484>.
* gnu/packages/gnome.scm (gdm)[arguments]: Modify the pre-configure phase to
patch GDM to only select the placeholder session if there are no others.
| -rw-r--r-- | gnu/packages/gnome.scm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 17dc2fd102a..f19b1836d3a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm | |||
| @@ -5597,7 +5597,7 @@ libxml2.") | |||
| 5597 | (modify-phases %standard-phases | 5597 | (modify-phases %standard-phases |
| 5598 | (add-before | 5598 | (add-before |
| 5599 | 'configure 'pre-configure | 5599 | 'configure 'pre-configure |
| 5600 | (lambda* (#:key inputs #:allow-other-keys) | 5600 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 5601 | ;; We don't have <systemd/sd-daemon.h>. | 5601 | ;; We don't have <systemd/sd-daemon.h>. |
| 5602 | (substitute* '("common/gdm-log.c" | 5602 | (substitute* '("common/gdm-log.c" |
| 5603 | "daemon/gdm-server.c" | 5603 | "daemon/gdm-server.c" |
| @@ -5665,6 +5665,16 @@ libxml2.") | |||
| 5665 | (("\"gnome-session\"") | 5665 | (("\"gnome-session\"") |
| 5666 | (string-append "\"" (assoc-ref inputs "gnome-session") | 5666 | (string-append "\"" (assoc-ref inputs "gnome-session") |
| 5667 | "/bin/gnome-session\""))) | 5667 | "/bin/gnome-session\""))) |
| 5668 | ;; Do not automatically select the placeholder session. | ||
| 5669 | (substitute* "daemon/gdm-session.c" | ||
| 5670 | (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]") | ||
| 5671 | (string-append "!g_str_has_suffix (base_name, \".desktop\") || " | ||
| 5672 | "(g_strcmp0(search_dirs[i], \"" | ||
| 5673 | (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/" | ||
| 5674 | "\") == 0 && " | ||
| 5675 | "g_strcmp0(base_name, \"fail.desktop\") == 0)")) | ||
| 5676 | (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];") | ||
| 5677 | "{ self->priv->fallback_session_name = g_strdup(\"fail\"); goto out; }")) | ||
| 5668 | #t)) | 5678 | #t)) |
| 5669 | ;; GDM requires that there be at least one desktop entry | 5679 | ;; GDM requires that there be at least one desktop entry |
| 5670 | ;; file. This phase installs a hidden one that simply | 5680 | ;; file. This phase installs a hidden one that simply |
