From 2552c92fe1200b792ce20b39299efff3eee9fe86 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Mon, 12 May 2025 16:48:53 -0400 Subject: [PATCH] build: Do not install anything in xsessions when X11 is disabled Fixes: b05eb4eb6d ("build: Allow disabling the X11 session") Part-of: --- data/meson.build | 2 +- meson.build | 12 ++++++++---- meson/session-post-install.py | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/data/meson.build b/data/meson.build index e7df7aee..4c8696be 100644 --- a/data/meson.build +++ b/data/meson.build @@ -26,7 +26,7 @@ foreach name : session_desktops # There is a workaround in meson/session-post-install.py until proper # solution arises: # https://github.com/mesonbuild/meson/issues/2416 - session_instdir = xsessiondir + session_instdir = wlsessiondir #session_instdir = [ xesssiondir, wlsessiondir ] endif i18n.merge_file( diff --git a/meson.build b/meson.build index 396b5e23..cb4c3a03 100644 --- a/meson.build +++ b/meson.build @@ -31,6 +31,8 @@ shell_version = ver_arr[0] uuid_suffix = '@gnome-shell-extensions.gcampax.github.com' +have_x11 = get_option('x11') + classic_extensions = [ 'apps-menu', 'places-menu', @@ -86,10 +88,12 @@ endforeach if classic_mode_enabled subdir('data') - meson.add_install_script( - 'meson/session-post-install.py', - join_paths(get_option('prefix'), datadir), - ) + if have_x11 + meson.add_install_script( + 'meson/session-post-install.py', + join_paths(get_option('prefix'), datadir), + ) + endif endif subdir('extensions') diff --git a/meson/session-post-install.py b/meson/session-post-install.py index f1d6ae32..cfc55c2a 100755 --- a/meson/session-post-install.py +++ b/meson/session-post-install.py @@ -15,10 +15,10 @@ else: # FIXME: Meson is unable to copy a generated target file: # https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0 -dst_dir = os.path.join(install_root, 'wayland-sessions') +dst_dir = os.path.join(install_root, 'xsessions') if not os.path.exists(dst_dir): os.makedirs(dst_dir) -src = os.path.join(install_root, 'xsessions', 'gnome-classic.desktop') +src = os.path.join(install_root, 'wayland-sessions', 'gnome-classic.desktop') dst = os.path.join(dst_dir, 'gnome-classic.desktop') shutil.copyfile(src, dst)