nixpkgs/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_extra_args.patch
Jan Tojnar 69698ec11c gnome3: only maintain single GNOME 3 package set (#29397)
* gnome3: only maintain single GNOME 3 package set

GNOME 3 was split into 3.10 and 3.12 in #2694. Unfortunately, we barely have the resources
to update a single version of GNOME. Maintaining multiple versions just does not make sense.
Additionally, it makes viewing history using most Git tools bothersome.

This commit renames `pkgs/desktops/gnome-3/3.24` to `pkgs/desktops/gnome-3`, removes
the config variable for choosing packageset (`environment.gnome3.packageSet`), updates
the hint in maintainer script, and removes the `gnome3_24` derivation from `all-packages.nix`.

Closes: #29329

* maintainers/scripts/gnome: Use fixed GNOME 3 directory

Since we now allow only a single GNOME 3 package set, specifying
the working directory is not necessary.

This commit sets the directory to `pkgs/desktops/gnome-3`.
2017-09-24 12:15:50 +01:00

39 lines
1.5 KiB
Diff

diff --git a/daemon/gdm-x-session.c.orig b/daemon/gdm-x-session.c
index d835b34..1f4b7f1 100644
--- a/daemon/gdm-x-session.c.orig
+++ b/daemon/gdm-x-session.c
@@ -211,6 +211,7 @@ spawn_x_server (State *state,
char *vt_string = NULL;
char *display_number;
gsize display_number_size;
+ gchar **xserver_extra_args = NULL;
auth_file = prepare_auth_file ();
@@ -285,6 +286,17 @@ spawn_x_server (State *state,
if (state->debug_enabled) {
g_ptr_array_add (arguments, "-core");
}
+
+ if (g_getenv ("GDM_X_SERVER_EXTRA_ARGS") != NULL) {
+ g_debug ("using GDM_X_SERVER_EXTRA_ARGS: %s", g_getenv("GDM_X_SERVER_EXTRA_ARGS"));
+ xserver_extra_args = g_strsplit(g_getenv("GDM_X_SERVER_EXTRA_ARGS"), " ", -1);
+ for (gchar **extra_arg = xserver_extra_args; *extra_arg; extra_arg++) {
+ if (strlen(*extra_arg) < 1) continue;
+ g_debug ("adding: %s", *extra_arg);
+ g_ptr_array_add (arguments, *extra_arg);
+ }
+ }
+
g_ptr_array_add (arguments, NULL);
subprocess = g_subprocess_launcher_spawnv (launcher,
@@ -332,6 +344,7 @@ spawn_x_server (State *state,
is_running = TRUE;
out:
+ g_strfreev(xserver_extra_args);
g_clear_pointer (&auth_file, g_free);
g_clear_object (&data_stream);
g_clear_object (&subprocess);