gnome-session: 48.0 → 49.rc

X11 support now disabled by default.

https://gitlab.gnome.org/GNOME/gnome-session/-/compare/48.0...49.rc

Co-authored-by: Bobby Rong <rjl931189261@126.com>
Changelog-Reviewed-By: Jan Tojnar <jtojnar@gmail.com>
This commit is contained in:
Jan Tojnar 2025-09-06 17:12:46 +00:00
parent 0c5e26dbb8
commit 8fa1c6d44d
3 changed files with 29 additions and 57 deletions

View file

@ -1,35 +0,0 @@
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index b4b1f8fa..99d52cba 100755
--- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in
@@ -4,13 +4,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
[ -n "$SHELL" ]; then
if [ "$1" != '-l' ]; then
- exec bash -c "exec -l '$SHELL' -c 'exec $0 -l $*'"
+ # Make sure the shell actually sets up the environment.
+ unset __NIXOS_SET_ENVIRONMENT_DONE
+ exec @bash@ -c "exec -l '$SHELL' -c 'exec $0 -l $*'"
else
shift
fi
fi
-SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
+SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region)
REGION=${SETTING#\'}
REGION=${REGION%\'}
diff --git a/gnome-session/main.c b/gnome-session/main.c
index a460a849..9d07898f 100644
--- a/gnome-session/main.c
+++ b/gnome-session/main.c
@@ -215,7 +215,7 @@ require_dbus_session (int argc,
}
new_argv[i + 2] = NULL;
- if (!execvp ("dbus-launch", new_argv)) {
+ if (!execvp ("@dbusLaunch@", new_argv)) {
g_set_error (error,
G_SPAWN_ERROR,
G_SPAWN_ERROR_FAILED,

View file

@ -0,0 +1,14 @@
diff --git a/gnome-session/leader-main.c b/gnome-session/leader-main.c
index 511166d6..8bac2912 100644
--- a/gnome-session/leader-main.c
+++ b/gnome-session/leader-main.c
@@ -92,6 +92,9 @@ maybe_reexec_with_login_shell (GStrv argv)
g_debug ("Relaunching with login shell %s (%s)", login_shell, shell);
+ /* Make sure the shell actually sets up the environment */
+ g_unsetenv ("__NIXOS_SET_ENVIRONMENT_DONE");
+
/* First, we construct the command executed by the login shell */
builder = g_strv_builder_new ();
g_strv_builder_add (builder, "exec");

View file

@ -7,9 +7,10 @@
ninja,
pkg-config,
gnome,
gobject-introspection,
adwaita-icon-theme,
glib,
gtk3,
gtk4,
gsettings-desktop-schemas,
gnome-desktop,
gnome-settings-daemon,
@ -19,22 +20,21 @@
libICE,
xmlto,
docbook_xsl,
docbook_xml_dtd_412,
docbook_xml_dtd_45,
python3,
libxslt,
gettext,
makeWrapper,
systemd,
xorg,
libepoxy,
bash,
gnome-session-ctl,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-session";
# Also bump ./ctl.nix when bumping major version.
version = "48.0";
version = "49.rc";
outputs = [
"out"
@ -43,34 +43,32 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/gnome-session/${lib.versions.major finalAttrs.version}/gnome-session-${finalAttrs.version}.tar.xz";
hash = "sha256-3ZCfvFsizb2y/E3xpH140bWUPMxeYeaiChhGJGNHxBc=";
hash = "sha256-xr7cRcosGWvLsSV5rgazg2o+7U2E4DxSIEN2Qc5f+Ic=";
};
patches = [
(replaceVars ./fix-paths.patch {
gsettings = "${glib.bin}/bin/gsettings";
dbusLaunch = "${dbus.lib}/bin/dbus-launch";
bash = "${bash}/bin/bash";
})
# https://github.com/NixOS/nixpkgs/pull/48517
./nixos_set_environment_done.patch
];
nativeBuildInputs = [
gobject-introspection.setupHook
meson
ninja
pkg-config
gettext
makeWrapper
xmlto
libxslt
docbook_xsl
docbook_xml_dtd_412
docbook_xml_dtd_45
python3
dbus # for DTD
wrapGAppsHook4
];
buildInputs = [
glib
gtk3
gtk4
libICE
gnome-desktop
json-glib
@ -107,15 +105,11 @@ stdenv.mkDerivation (finalAttrs: {
rm -rf $out/libexec/gnome-session-ctl
'';
# `bin/gnome-session` will reset the environment when run in wayland, we
# therefor wrap `libexec/gnome-session-binary` instead which is the actual
# binary needing wrapping
preFixup = ''
wrapProgram "$out/libexec/gnome-session-binary" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
--suffix XDG_DATA_DIRS : "${gnome-shell}/share" \
gappsWrapperArgs+=(
--suffix XDG_DATA_DIRS : "${gnome-shell}/share"
--suffix XDG_CONFIG_DIRS : "${gnome-settings-daemon}/etc/xdg"
)
'';
separateDebugInfo = true;
@ -126,7 +120,6 @@ stdenv.mkDerivation (finalAttrs: {
};
providedSessions = [
"gnome"
"gnome-xorg"
];
};