gnome3.gdm: 3.28.3 → 3.30.2
This commit is contained in:
parent
b9d77e9f51
commit
5d6e2395ca
@ -1,15 +1,15 @@
|
||||
{ stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg
|
||||
, intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook
|
||||
, accountsservice, libX11, gnome3, systemd, autoreconfHook
|
||||
, gtk, libcanberra-gtk3, pam, libtool, gobjectIntrospection, plymouth
|
||||
, librsvg, coreutils, xwayland }:
|
||||
, librsvg, coreutils, xwayland, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gdm-${version}";
|
||||
version = "3.28.3";
|
||||
version = "3.30.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "12d1cp2dyca8rwh9y9cg8xn6grdp8nmxkkqwg4xpkr8i8ml65n88";
|
||||
sha256 = "1handy65r1n0zby09jr492b3643wszzigdkxp7q2ypgxb3hyv45y";
|
||||
};
|
||||
|
||||
# Only needed to make it build
|
||||
@ -24,9 +24,10 @@ stdenv.mkDerivation rec {
|
||||
"--enable-gdm-xsession"
|
||||
"--with-initial-vt=7"
|
||||
"--with-systemdsystemunitdir=$(out)/etc/systemd/system"
|
||||
"--with-udevdir=$(out)/lib/udev"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig libxml2 itstool intltool autoreconfHook libtool gnome3.dconf ];
|
||||
nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool gnome3.dconf ];
|
||||
buildInputs = [
|
||||
glib accountsservice systemd
|
||||
gobjectIntrospection libX11 gtk
|
||||
@ -35,7 +36,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# Disable Access Control because our X does not support FamilyServerInterpreted yet
|
||||
patches = [
|
||||
# Change hardcoded paths to nix store paths.
|
||||
(substituteAll {
|
||||
|
@ -1,17 +1,17 @@
|
||||
--- a/daemon/gdm-local-display-factory.c
|
||||
+++ b/daemon/gdm-local-display-factory.c
|
||||
@@ -450,7 +450,7 @@
|
||||
@@ -201,7 +201,7 @@
|
||||
#ifdef ENABLE_WAYLAND_SUPPORT
|
||||
gboolean wayland_enabled = FALSE;
|
||||
if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) {
|
||||
- if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) {
|
||||
+ if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) {
|
||||
session_type = "wayland";
|
||||
}
|
||||
}
|
||||
gboolean wayland_enabled = FALSE;
|
||||
if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) {
|
||||
- if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) )
|
||||
+ if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) )
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
--- a/daemon/gdm-manager.c
|
||||
+++ b/daemon/gdm-manager.c
|
||||
@@ -147,7 +147,7 @@
|
||||
@@ -145,7 +145,7 @@
|
||||
GError *error;
|
||||
|
||||
error = NULL;
|
||||
@ -20,7 +20,7 @@
|
||||
NULL, NULL, &status, &error);
|
||||
if (! res) {
|
||||
g_debug ("Could not ping plymouth: %s", error->message);
|
||||
@@ -165,7 +165,7 @@
|
||||
@@ -163,7 +163,7 @@
|
||||
GError *error;
|
||||
|
||||
error = NULL;
|
||||
@ -29,7 +29,7 @@
|
||||
NULL, NULL, NULL, &error);
|
||||
if (! res) {
|
||||
g_warning ("Could not deactivate plymouth: %s", error->message);
|
||||
@@ -180,7 +180,7 @@
|
||||
@@ -178,7 +178,7 @@
|
||||
GError *error;
|
||||
|
||||
error = NULL;
|
||||
@ -38,7 +38,7 @@
|
||||
if (! res) {
|
||||
g_warning ("Could not quit plymouth: %s", error->message);
|
||||
g_error_free (error);
|
||||
@@ -196,7 +196,7 @@
|
||||
@@ -194,7 +194,7 @@
|
||||
GError *error;
|
||||
|
||||
error = NULL;
|
||||
@ -49,12 +49,12 @@
|
||||
g_error_free (error);
|
||||
--- a/data/gdm.service.in
|
||||
+++ b/data/gdm.service.in
|
||||
@@ -28,7 +28,7 @@
|
||||
@@ -28,7 +28,7 @@ BusName=org.gnome.DisplayManager
|
||||
StandardOutput=syslog
|
||||
StandardError=inherit
|
||||
EnvironmentFile=-@LANG_CONFIG_FILE@
|
||||
-ExecReload=/bin/kill -SIGHUP $MAINPID
|
||||
+ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID
|
||||
KeyringMode=shared
|
||||
|
||||
[Install]
|
||||
Alias=display-manager.service
|
||||
|
@ -1,52 +1,38 @@
|
||||
--- a/daemon/gdm-launch-environment.c
|
||||
+++ b/daemon/gdm-launch-environment.c
|
||||
@@ -126,7 +126,7 @@
|
||||
"LC_COLLATE", "LC_MONETARY", "LC_MESSAGES", "LC_PAPER",
|
||||
"LC_NAME", "LC_ADDRESS", "LC_TELEPHONE", "LC_MEASUREMENT",
|
||||
"LC_IDENTIFICATION", "LC_ALL", "WINDOWPATH", "XCURSOR_PATH",
|
||||
- "XDG_CONFIG_DIRS", NULL
|
||||
+ "XDG_CONFIG_DIRS", "GDM_SESSIONS_DIR", NULL
|
||||
};
|
||||
char *system_data_dirs;
|
||||
int i;
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -345,12 +345,17 @@
|
||||
char **search_dirs;
|
||||
|
||||
static const char *x_search_dirs[] = {
|
||||
+ "/var/empty",
|
||||
"/etc/X11/sessions/",
|
||||
DMCONFDIR "/Sessions/",
|
||||
DATADIR "/gdm/BuiltInSessions/",
|
||||
DATADIR "/xsessions/",
|
||||
};
|
||||
|
||||
+ if (getenv("GDM_SESSIONS_DIR") != NULL) {
|
||||
+ x_search_dirs[0] = getenv("GDM_SESSIONS_DIR");
|
||||
+ };
|
||||
+
|
||||
static const char *wayland_search_dir = DATADIR "/wayland-sessions/";
|
||||
|
||||
search_array = g_array_new (TRUE, TRUE, sizeof (char *));
|
||||
--- a/libgdm/gdm-sessions.c
|
||||
+++ b/libgdm/gdm-sessions.c
|
||||
@@ -217,6 +217,7 @@
|
||||
{
|
||||
int i;
|
||||
const char *xorg_search_dirs[] = {
|
||||
+ "/var/empty/",
|
||||
"/etc/X11/sessions/",
|
||||
DMCONFDIR "/Sessions/",
|
||||
DATADIR "/gdm/BuiltInSessions/",
|
||||
@@ -224,6 +225,10 @@
|
||||
@@ -143,6 +143,7 @@
|
||||
"WINDOWPATH",
|
||||
"XCURSOR_PATH",
|
||||
"XDG_CONFIG_DIRS",
|
||||
+ "GDM_SESSIONS_DIR",
|
||||
NULL
|
||||
};
|
||||
char *system_data_dirs;
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -364,6 +364,11 @@
|
||||
g_array_append_val (search_array, dir);
|
||||
}
|
||||
|
||||
+ if (g_getenv("GDM_SESSIONS_DIR") != NULL) {
|
||||
+ xorg_search_dirs[0] = g_getenv("GDM_SESSIONS_DIR");
|
||||
+ if (getenv("GDM_SESSIONS_DIR") != NULL) {
|
||||
+ gchar *gdm_sessions_dir = g_getenv("GDM_SESSIONS_DIR");
|
||||
+ g_array_append_val (search_array, gdm_sessions_dir);
|
||||
+ };
|
||||
+
|
||||
g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs));
|
||||
|
||||
#ifdef ENABLE_WAYLAND_SUPPORT
|
||||
--- a/libgdm/gdm-sessions.c
|
||||
+++ b/libgdm/gdm-sessions.c
|
||||
@@ -236,6 +236,11 @@
|
||||
g_array_append_val (xorg_search_array, session_dir);
|
||||
}
|
||||
|
||||
+ if (g_getenv("GDM_SESSIONS_DIR") != NULL) {
|
||||
+ gchar *gdm_sessions_dir = g_getenv("GDM_SESSIONS_DIR");
|
||||
+ g_array_append_val (xorg_search_array, gdm_sessions_dir);
|
||||
+ };
|
||||
+
|
||||
g_array_append_vals (xorg_search_array, xorg_search_dirs, G_N_ELEMENTS (xorg_search_dirs));
|
||||
|
||||
#ifdef ENABLE_WAYLAND_SUPPORT
|
||||
const char *wayland_search_dirs[] = {
|
||||
DATADIR "/wayland-sessions/",
|
||||
|
Loading…
Reference in New Issue
Block a user