about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2022-01-30 01:23:14 +0000
committerJan Tojnar <jtojnar@gmail.com>2022-01-30 20:39:49 +0100
commit161cd51dc434626cf8a0e24fb142275bf55323a8 (patch)
treefc2a7bdd999561dc7a344bfe31579d2734609303 /pkgs/desktops
parent6396b5dbc2c6d9c9d0486221c87ab3d89fa62d48 (diff)
downloadnixlib-161cd51dc434626cf8a0e24fb142275bf55323a8.tar
nixlib-161cd51dc434626cf8a0e24fb142275bf55323a8.tar.gz
nixlib-161cd51dc434626cf8a0e24fb142275bf55323a8.tar.bz2
nixlib-161cd51dc434626cf8a0e24fb142275bf55323a8.tar.lz
nixlib-161cd51dc434626cf8a0e24fb142275bf55323a8.tar.xz
nixlib-161cd51dc434626cf8a0e24fb142275bf55323a8.tar.zst
nixlib-161cd51dc434626cf8a0e24fb142275bf55323a8.zip
gnome.gnome-session: 40.1.1 → 41.3
https://ftp.gnome.org/pub/GNOME/sources/gnome-session/40/gnome-session-40.8.news
https://ftp.gnome.org/pub/GNOME/sources/gnome-session/41/gnome-session-41.3.news

- Patch no longer relies on grep (https://gitlab.gnome.org/GNOME/gnome-session/commit/db1a97c2ffa091a37087cad15c759554e6fbb4ad).
- Also format the expression.
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/ctl.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/default.nix98
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/fix-paths.patch15
3 files changed, 79 insertions, 38 deletions
diff --git a/pkgs/desktops/gnome/core/gnome-session/ctl.nix b/pkgs/desktops/gnome/core/gnome-session/ctl.nix
index 6a274e35bf56..7ee9e156e5bb 100644
--- a/pkgs/desktops/gnome/core/gnome-session/ctl.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/ctl.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-session-ctl";
-  version = "40.0";
+  version = "41.3";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = version;
-    hash = "sha256-gvBmLx8Qoj1vPsOwaZsd9+pTDvU5D7uUts7ZT1pXwNo=";
+    hash = "sha256-aC0tkTf2lgCRlcbFj1FEOVBm3YUuP+8Yz98W3ZjUydg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix
index 3ba6958fad0e..3c6903b2b01b 100644
--- a/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -1,16 +1,42 @@
-{ fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome, glib, gtk3, gsettings-desktop-schemas
-, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3
-, libxslt, gettext, makeWrapper, systemd, xorg, libepoxy, gnugrep, bash, gnome-session-ctl }:
+{ fetchurl
+, lib
+, stdenv
+, substituteAll
+, meson
+, ninja
+, pkg-config
+, gnome
+, glib
+, gtk3
+, gsettings-desktop-schemas
+, gnome-desktop
+, dbus
+, json-glib
+, libICE
+, xmlto
+, docbook_xsl
+, docbook_xml_dtd_412
+, python3
+, libxslt
+, gettext
+, makeWrapper
+, systemd
+, xorg
+, libepoxy
+, bash
+, gnome-session-ctl
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-session";
-  version = "40.1.1";
+  # Also bump ./ctl.nix when bumping major version.
+  version = "41.3";
 
-  outputs = ["out" "sessions"];
+  outputs = [ "out" "sessions" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "10nzyhmgkrzk6i70kj7690na0hmsv6qy5bmr10akxq9jxqlphy4w";
+    sha256 = "7koikFP1ImJAVIiWCTNbiFKHz2e73g3J/YgrAeybWzk=";
   };
 
   patches = [
@@ -18,22 +44,41 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       gsettings = "${glib.bin}/bin/gsettings";
       dbusLaunch = "${dbus.lib}/bin/dbus-launch";
-      grep = "${gnugrep}/bin/grep";
       bash = "${bash}/bin/bash";
     })
   ];
 
-  mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ];
-
   nativeBuildInputs = [
-    meson ninja pkg-config gettext makeWrapper
-    xmlto libxslt docbook_xsl docbook_xml_dtd_412 python3
+    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 gnome.adwaita-icon-theme
-    gnome.gnome-settings-daemon gsettings-desktop-schemas systemd libepoxy
+    glib
+    gtk3
+    libICE
+    gnome-desktop
+    json-glib
+    xorg.xtrans
+    gnome.adwaita-icon-theme
+    gnome.gnome-settings-daemon
+    gsettings-desktop-schemas
+    systemd
+    libepoxy
+  ];
+
+  mesonFlags = [
+    "-Dsystemd=true"
+    "-Dsystemd_session=default"
   ];
 
   postPatch = ''
@@ -49,17 +94,6 @@ stdenv.mkDerivation rec {
       {} +
   '';
 
-  # `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.gnome-shell}/share"\
-      --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
-  '';
-
   # 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.
@@ -72,12 +106,26 @@ stdenv.mkDerivation rec {
     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.gnome-shell}/share"\
+      --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "gnome-session";
       attrPath = "gnome.gnome-session";
     };
-    providedSessions = [ "gnome" "gnome-xorg" ];
+    providedSessions = [
+      "gnome"
+      "gnome-xorg"
+    ];
   };
 
   meta = with lib; {
diff --git a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
index 320b3024deee..38805c645b95 100644
--- a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
+++ b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
@@ -1,17 +1,10 @@
 diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
-index ddd1a591..46a3488b 100755
+index b4b1f8fa..99d52cba 100755
 --- a/gnome-session/gnome-session.in
 +++ b/gnome-session/gnome-session.in
-@@ -3,17 +3,19 @@
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
+@@ -4,13 +4,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
     [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-    [  -n "$SHELL" ] &&
--   grep -q "$SHELL" /etc/shells &&
--   ! (echo "$SHELL" | grep -q "false") &&
--   ! (echo "$SHELL" | grep -q "nologin"); then
-+   @grep@ -q "$SHELL" /etc/shells &&
-+   ! (echo "$SHELL" | @grep@ -q "false") &&
-+   ! (echo "$SHELL" | @grep@ -q "nologin"); then
+    [  -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.
@@ -28,7 +21,7 @@ index ddd1a591..46a3488b 100755
  REGION=${REGION%\'}
  
 diff --git a/gnome-session/main.c b/gnome-session/main.c
-index 84edfbe5..e5285489 100644
+index a460a849..9d07898f 100644
 --- a/gnome-session/main.c
 +++ b/gnome-session/main.c
 @@ -215,7 +215,7 @@ require_dbus_session (int      argc,