diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2024-08-28 23:56:05 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2024-09-01 14:16:31 +0200 |
commit | c2f1fa833e43b34b11f0f47072482a9a41f1b579 (patch) | |
tree | eac738412c8b08579a895755ce80a6b8ea100a54 /pkgs/desktops | |
parent | ca9576c81da013b7ab7a302990f7928d33e85198 (diff) |
gnome-session: Move from gnome scope to top-level
Diffstat (limited to 'pkgs/desktops')
-rw-r--r-- | pkgs/desktops/gnome/core/gnome-session/ctl.nix | 43 | ||||
-rw-r--r-- | pkgs/desktops/gnome/core/gnome-session/default.nix | 142 | ||||
-rw-r--r-- | pkgs/desktops/gnome/core/gnome-session/fix-paths.patch | 35 | ||||
-rw-r--r-- | pkgs/desktops/gnome/default.nix | 3 | ||||
-rw-r--r-- | pkgs/desktops/pantheon/default.nix | 4 |
5 files changed, 2 insertions, 225 deletions
diff --git a/pkgs/desktops/gnome/core/gnome-session/ctl.nix b/pkgs/desktops/gnome/core/gnome-session/ctl.nix deleted file mode 100644 index fbdad96f92368..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-session/ctl.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - meson, - ninja, - pkg-config, - glib, - systemd, - wrapGAppsHook3, -}: - -stdenv.mkDerivation rec { - pname = "gnome-session-ctl"; - version = "42.0"; - - src = fetchFromGitHub { - owner = "nix-community"; - repo = pname; - rev = version; - hash = "sha256-XGJVmlxqbJ/1frbzn2TI7BJm449xeLk43xMMqFsLYko="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = [ - glib - systemd - ]; - - meta = with lib; { - description = "gnome-session-ctl extracted from gnome-session for nixpkgs"; - homepage = "https://github.com/nix-community/gnome-session-ctl"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix deleted file mode 100644 index 841458f940373..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-session/default.nix +++ /dev/null @@ -1,142 +0,0 @@ -{ - fetchurl, - lib, - stdenv, - substituteAll, - meson, - ninja, - pkg-config, - gnome, - adwaita-icon-theme, - glib, - gtk3, - gsettings-desktop-schemas, - gnome-desktop, - gnome-settings-daemon, - gnome-shell, - dbus, - json-glib, - libICE, - xmlto, - docbook_xsl, - docbook_xml_dtd_412, - python3, - libxslt, - gettext, - makeWrapper, - systemd, - xorg, - libepoxy, - bash, - gnome-session-ctl, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "gnome-session"; - # Also bump ./ctl.nix when bumping major version. - version = "46.0"; - - outputs = [ - "out" - "sessions" - ]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-session/${lib.versions.major finalAttrs.version}/gnome-session-${finalAttrs.version}.tar.xz"; - hash = "sha256-xuFiSvYJC8ThoZH+Imir+nqN4HgxynpX8hfmeb97mlQ="; - }; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - gsettings = "${glib.bin}/bin/gsettings"; - dbusLaunch = "${dbus.lib}/bin/dbus-launch"; - bash = "${bash}/bin/bash"; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - makeWrapper - xmlto - libxslt - docbook_xsl - docbook_xml_dtd_412 - python3 - dbus # for DTD - ]; - - buildInputs = [ - glib - gtk3 - libICE - gnome-desktop - json-glib - xorg.xtrans - adwaita-icon-theme - gnome-settings-daemon - gsettings-desktop-schemas - systemd - libepoxy - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - - # Use our provided `gnome-session-ctl` - original="@libexecdir@/gnome-session-ctl" - replacement="${gnome-session-ctl}/libexec/gnome-session-ctl" - - find data/ -type f -name "*.service.in" -exec sed -i \ - -e s,$original,$replacement,g \ - {} + - ''; - - # We move the GNOME sessions to another output since gnome-session is a dependency of - # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is - # enabled without proper GNOME installation. - postInstall = '' - mkdir $sessions - moveToOutput share/wayland-sessions "$sessions" - moveToOutput share/xsessions "$sessions" - - # Our provided one is being used - 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" \ - --suffix XDG_CONFIG_DIRS : "${gnome-settings-daemon}/etc/xdg" - ''; - - separateDebugInfo = true; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gnome-session"; - attrPath = "gnome.gnome-session"; - }; - providedSessions = [ - "gnome" - "gnome-xorg" - ]; - }; - - meta = with lib; { - description = "GNOME session manager"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-session"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -}) diff --git a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch deleted file mode 100644 index 38805c645b95f..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch +++ /dev/null @@ -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 '$0 -l $*'" -+ # Make sure the shell actually sets up the environment. -+ unset __NIXOS_SET_ENVIRONMENT_DONE -+ exec @bash@ -c "exec -l '$SHELL' -c '$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, diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 29e94b1ce79d6..206190913e25d 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -19,8 +19,6 @@ in gnome-control-center = callPackage ./core/gnome-control-center { }; - gnome-session = callPackage ./core/gnome-session { }; - gvfs = pkgs.gvfs.override { gnomeSupport = true; }; networkmanager-openvpn = pkgs.networkmanager-openvpn.override { @@ -121,6 +119,7 @@ in gnome-remote-desktop = lib.warn "The ‘gnome.gnome-remote-desktop’ was moved to top-level. Please use ‘pkgs.gnome-remote-desktop’ directly." pkgs.gnome-remote-desktop; # Added on 2024-08-11. gnome-robots = lib.warn "The ‘gnome.gnome-robots’ was moved to top-level. Please use ‘pkgs.gnome-robots’ directly." pkgs.gnome-robots; # Added on 2024-08-11. gnome-screenshot = lib.warn "The ‘gnome.gnome-screenshot’ was moved to top-level. Please use ‘pkgs.gnome-screenshot’ directly." pkgs.gnome-screenshot; # Added on 2024-06-22. + gnome-session = lib.warn "The ‘gnome.gnome-session’ was moved to top-level. Please use ‘pkgs.gnome-session’ directly." pkgs.gnome-session; # Added on 2024-08-28. gnome-session-ctl = lib.warn "The ‘gnome.gnome-session-ctl’ was moved to top-level. Please use ‘pkgs.gnome-session-ctl’ directly." pkgs.gnome-session-ctl; # Added on 2024-08-28. gnome-settings-daemon = lib.warn "The ‘gnome.gnome-settings-daemon’ was moved to top-level. Please use ‘pkgs.gnome-settings-daemon’ directly." pkgs.gnome-settings-daemon; # Added on 2024-08-28. gnome-settings-daemon43 = lib.warn "The ‘gnome.gnome-settings-daemon43’ was moved to top-level. Please use ‘pkgs.gnome-settings-daemon43’ directly." pkgs.gnome-settings-daemon43; # Added on 2024-08-28. diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index ae524b4b48889..cde3255eb46fc 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -95,9 +95,7 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-print-shim = callPackage ./desktop/elementary-print-shim { }; - elementary-session-settings = callPackage ./desktop/elementary-session-settings { - inherit (gnome) gnome-session; - }; + elementary-session-settings = callPackage ./desktop/elementary-session-settings { }; elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { }; |