From f9c72bdea4556d00d9d37f47ed7dd7885692b943 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 28 Nov 2023 20:30:19 +0800 Subject: [PATCH 01/20] cinnamon.bulky: 2.10 -> 3.0 https://github.com/linuxmint/bulky/compare/2.10...3.0 --- pkgs/desktops/cinnamon/bulky/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/bulky/default.nix b/pkgs/desktops/cinnamon/bulky/default.nix index 2d7fd0c6c022..8b6cfb87dd12 100644 --- a/pkgs/desktops/cinnamon/bulky/default.nix +++ b/pkgs/desktops/cinnamon/bulky/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "bulky"; - version = "2.10"; + version = "3.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = "bulky"; rev = version; - hash = "sha256-3hpg9a5HU7mSSlMOWvmB/p0Mlyla5PDiS0J9iYJLr6Q="; + hash = "sha256-8/Q8ess+qF7kdjiS2y2alUSnjKlJ74yuSe4UTPVChNQ="; }; nativeBuildInputs = [ From 8d209118f54dc98fd4e56e9ef4e3a32ede4473c1 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:11 +0800 Subject: [PATCH 02/20] cinnamon.cinnamon-common: 5.8.4 -> 6.0.0 https://github.com/linuxmint/cinnamon/compare/5.8.4...6.0.0 Removes libXfixes dependency. https://github.com/linuxmint/cinnamon/commit/3295a2d631870416485fb53a4a28cea5366ff886 New hardcode absolute /usr/bin paths. https://github.com/linuxmint/cinnamon/commit/62b184e8210bceb5ed0209d79d3d8dad599caf65 No longer need to patch scrollbar-test-widget.py. https://github.com/linuxmint/cinnamon/commit/9b9400cda3a3034f825cb042bd031fb4bcdc8a9d --- .../cinnamon/cinnamon-common/default.nix | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/pkgs/desktops/cinnamon/cinnamon-common/default.nix index 3ff56b18d255..fd1ad256d20c 100644 --- a/pkgs/desktops/cinnamon/cinnamon-common/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-common/default.nix @@ -9,7 +9,6 @@ , cjs , evolution-data-server , fetchFromGitHub -, fetchpatch , gdk-pixbuf , gettext , libgnomekbd @@ -20,7 +19,6 @@ , intltool , json-glib , callPackage -, libsoup , libstartup_notification , libXtst , libXdamage @@ -73,25 +71,18 @@ let in stdenv.mkDerivation rec { pname = "cinnamon-common"; - version = "5.8.4"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = "cinnamon"; rev = version; - hash = "sha256-34kOSDIU56cSZ4j0FadVfr9HLQytnK4ys88DFF7LTiM="; + hash = "sha256-kQvPdamS0t7YcWyCekdsLNXZfidaV3tdSptzHPGMSZ0="; }; patches = [ ./use-sane-install-dir.patch ./libdir.patch - - # Backport pillow 10.0.0 support. - # https://github.com/linuxmint/cinnamon/issues/11746 - (fetchpatch { - url = "https://github.com/linuxmint/cinnamon/commit/fce9aad1ebb290802dc550e8dae6344dddf9dec1.patch"; - hash = "sha256-flt7CblfXlLieAVNeC8TBnv1TX0Zca1obPWusBMnIxE="; - }) ]; buildInputs = [ @@ -108,7 +99,6 @@ stdenv.mkDerivation rec { gsound gtk3 json-glib - libsoup # referenced in js/ui/environment.js libstartup_notification libXtst libXdamage @@ -170,9 +160,10 @@ stdenv.mkDerivation rec { pushd ./files/usr/share/cinnamon/cinnamon-settings substituteInPlace ./bin/capi.py --replace '"/usr/lib"' '"${cinnamon-control-center}/lib"' - substituteInPlace ./bin/CinnamonGtkSettings.py --replace "'python3'" "'${pythonEnv.interpreter}'" substituteInPlace ./bin/SettingsWidgets.py --replace "/usr/share/sounds" "/run/current-system/sw/share/sounds" - substituteInPlace ./bin/Spices.py --replace "msgfmt" "${gettext}/bin/msgfmt" + substituteInPlace ./bin/Spices.py --replace "subprocess.run(['/usr/bin/" "subprocess.run(['" \ + --replace 'subprocess.run(["/usr/bin/' 'subprocess.run(["' \ + --replace "msgfmt" "${gettext}/bin/msgfmt" substituteInPlace ./modules/cs_info.py --replace "lspci" "${pciutils}/bin/lspci" substituteInPlace ./modules/cs_themes.py --replace "$out/share/cinnamon/styles.d" "/run/current-system/sw/share/cinnamon/styles.d" popd @@ -201,7 +192,7 @@ stdenv.mkDerivation rec { ''; passthru = { - providedSessions = [ "cinnamon" "cinnamon2d" ]; + providedSessions = [ "cinnamon" "cinnamon2d" "cinnamon-wayland" ]; }; meta = with lib; { From 4aff26b630a12b1422df8d8bff94bdfab0d0f1ce Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:15 +0800 Subject: [PATCH 03/20] cinnamon.cinnamon-control-center: 5.8.2 -> 6.0.0 https://github.com/linuxmint/cinnamon-control-center/compare/5.8.2...6.0.0 --- pkgs/desktops/cinnamon/cinnamon-control-center/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix index 775ab979ad8c..40d0243b5f24 100644 --- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix @@ -35,13 +35,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-control-center"; - version = "5.8.2"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-7AXm4ZTpI/4Xa2lwDmEvomNdwmgVoXSKqojpFZMuoVQ="; + hash = "sha256-zkJkZagZBt6JMiC/HLsyP9+qVLtTszumOk3PKt18X4Y="; }; buildInputs = [ From a4e2be76d7627c7f49159d0e431c29e75c04cec6 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:18 +0800 Subject: [PATCH 04/20] cinnamon.cinnamon-desktop: 5.8.0 -> 6.0.0 https://github.com/linuxmint/cinnamon-desktop/compare/5.8.0...6.0.0 Added gnome-systemd. https://github.com/linuxmint/cinnamon-desktop/commit/7eadfb1da9a42384396978b8ab46e0725d18e04f Added gnome-idle-monitor (replaces cs-idle-monitor). https://github.com/linuxmint/cinnamon-desktop/commit/2419322898bca95fa90d468de2b55feac7e77977 --- pkgs/desktops/cinnamon/cinnamon-desktop/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix index e42e5a6069b9..0f53fbbb656a 100644 --- a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix @@ -10,6 +10,7 @@ , python3 , lib , stdenv +, systemd , xkeyboard_config , xorg , wrapGAppsHook @@ -18,13 +19,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-desktop"; - version = "5.8.0"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-rYTWtdYfMow3cIPhJdcmhyaIIU7fgVecWigbsCW0Piw="; + hash = "sha256-Ay9JyPBsE345dBwQHChkaGuoXiB2nPyvCNhWWphL8kY="; }; outputs = [ "out" "dev" ]; @@ -37,6 +38,7 @@ stdenv.mkDerivation rec { buildInputs = [ gdk-pixbuf + systemd xkeyboard_config xorg.libxkbfile xorg.libXext From 1ddb3ffa60eb853425dbe83bc37f130f5b87a297 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:22 +0800 Subject: [PATCH 05/20] cinnamon.cinnamon-menus: 5.8.0 -> 6.0.0 https://github.com/linuxmint/cinnamon-menus/compare/5.8.0...6.0.0 --- pkgs/desktops/cinnamon/cinnamon-menus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix index 444a68778664..754a5c43a182 100644 --- a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-menus"; - version = "5.8.0"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-AgA/DA7I9/0AJhlmgk0yAOJaZzpiQV1vM949Y6EOWVg="; + hash = "sha256-zP1jA5Fwxh6QrM5YwJo7SFPWaxkJsv1D84dhIDP5xuI="; }; buildInputs = [ From 540072b8a12df72ec31a5a4655491adc9dba82fd Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:25 +0800 Subject: [PATCH 06/20] cinnamon.cinnamon-screensaver: 5.8.1 -> 6.0.0 https://github.com/linuxmint/cinnamon-screensaver/compare/5.8.1...6.0.0 Removes accountsservice dependency. https://github.com/linuxmint/cinnamon-screensaver/commit/d5ad3735721a5e90dfea1f635a72c4f6e4a2c116 --- pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix index 91c495563058..1690a9336474 100644 --- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix @@ -19,7 +19,6 @@ , gobject-introspection , python3 , pam -, accountsservice , cairo , xapp , xdotool @@ -29,13 +28,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-screensaver"; - version = "5.8.1"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-d7h9OJ39HVQNCHNr13M1ybDFoU3Xnd1PEczGLHZU/lU="; + hash = "sha256-5hXhCPXC7b2SsmvNSLDe/WYQcufN7FfhnaAgTNtqg0I="; }; patches = [ @@ -75,7 +74,6 @@ stdenv.mkDerivation rec { xapp xdotool pam - accountsservice cairo cinnamon-desktop cinnamon-common From b21bfd8b5dc56c162120d38d874fa05dc0c98c8b Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:29 +0800 Subject: [PATCH 07/20] cinnamon.cinnamon-session: 5.8.1 -> 6.0.1 https://github.com/linuxmint/cinnamon-session/compare/5.8.1...6.0.1 New cinnamon-session-quit dialog. https://github.com/linuxmint/cinnamon-session/commit/264a4d0a675e9106f93bb2f1964e0e6425b437c2 --- .../cinnamon/cinnamon-session/default.nix | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/pkgs/desktops/cinnamon/cinnamon-session/default.nix index 51fa5bca3dd6..a6800f94737d 100644 --- a/pkgs/desktops/cinnamon/cinnamon-session/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-session/default.nix @@ -23,15 +23,22 @@ , pango }: +let + pythonEnv = python3.withPackages (pp: with pp; [ + pp.xapp # don't omit `pp.`, see #213561 + pygobject3 + setproctitle + ]); +in stdenv.mkDerivation rec { pname = "cinnamon-session"; - version = "5.8.1"; + version = "6.0.1"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-NVoP1KYh/z96NKMi9LjL4RgkjJg32oSy5WHJ91+70DI="; + hash = "sha256-9wdakMCW0RnsYdf9OmK/Q9o8m0g+5EfHVbjqvFY3d/w="; }; patches = [ @@ -40,6 +47,7 @@ stdenv.mkDerivation rec { buildInputs = [ # meson.build + cinnamon-desktop gtk3 glib libcanberra @@ -57,12 +65,11 @@ stdenv.mkDerivation rec { xorg.xtrans # other (not meson.build) - - cinnamon-desktop cinnamon-settings-daemon dbus-glib glib gsettings-desktop-schemas + pythonEnv # for cinnamon-session-quit ]; nativeBuildInputs = [ @@ -81,8 +88,10 @@ stdenv.mkDerivation rec { ]; postPatch = '' - chmod +x data/meson_install_schemas.py # patchShebangs requires executable file - patchShebangs data/meson_install_schemas.py + # patchShebangs requires executable file + chmod +x data/meson_install_schemas.py cinnamon-session-quit/cinnamon-session-quit.py + patchShebangs --build data/meson_install_schemas.py + patchShebangs --host cinnamon-session-quit/cinnamon-session-quit.py ''; preFixup = '' From 2ebb12584790647700e930fa92e785c2c7de16df Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:32 +0800 Subject: [PATCH 08/20] cinnamon.cinnamon-settings-daemon: 5.8.1 -> 6.0.0 https://github.com/linuxmint/cinnamon-settings-daemon/compare/5.8.1...6.0.0 New settings-remap plugin for sync cinnamon/gnome settings. https://github.com/linuxmint/cinnamon-settings-daemon/commit/c5b3e5f85f2370b66a813840b581ee49081ef4e8 --- pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix index 9eb2d743d8e4..65828b3da604 100644 --- a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix @@ -32,13 +32,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-settings-daemon"; - version = "5.8.1"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-2ObfUdrCuvyhtpoxNzoH8tsFQLxNkMLQPFfJajXEsXU="; + hash = "sha256-bT6NetCBo3J9IiiJ9Hs4iC1N3n/AP9Q+6wZciuKA4i4="; }; patches = [ From 4155ccd1c88f9783dc1afc7aa6f3e2fd53110f73 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:35 +0800 Subject: [PATCH 09/20] cinnamon.cinnamon-translations: 5.8.2 -> 6.0.0 https://github.com/linuxmint/cinnamon-translations/compare/5.8.2...6.0.0 --- pkgs/desktops/cinnamon/cinnamon-translations/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix index 1c46fdcf6be0..bacd1d3518d8 100644 --- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-translations"; - version = "5.8.2"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-hFqCKzJogGka6vsIj8SCL9GMDsTQO50jwpYKr74V5Fo="; + hash = "sha256-lbJ4Hhd+7Hd70ZrEw0Q7Yts9yciXzqSuNTerW6oY93A="; }; nativeBuildInputs = [ From 4253d19b6431bfe5ce0b41cffe09342a18c8fd47 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:39 +0800 Subject: [PATCH 10/20] cinnamon.cjs: 5.8.0 -> 6.0.0 https://github.com/linuxmint/cjs/compare/5.8.0...6.0.0 --- pkgs/desktops/cinnamon/cjs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix index 681d6afd4ead..4ff139ba787e 100644 --- a/pkgs/desktops/cinnamon/cjs/default.nix +++ b/pkgs/desktops/cinnamon/cjs/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "cjs"; - version = "5.8.0"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = "cjs"; rev = version; - hash = "sha256-DKCe8dKdYfdeWQ9Iqr0AmDU7YDN9QrQGdTkrBV/ywV0="; + hash = "sha256-oSqEAZWEVb8NxFTScl8s5Mb04tCGDyVVslYW00s4YYk="; }; outputs = [ "out" "dev" ]; From 08b6183fb7d488432812d7a6ef41ddf5692e01b2 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:52 +0800 Subject: [PATCH 11/20] cinnamon.muffin: 5.8.1 -> 6.0.0 https://github.com/linuxmint/muffin/compare/5.8.1...6.0.0 Restores wayland support. https://github.com/linuxmint/muffin/commit/bc10efe8282b9dc78e5fd05f34cd54e2a242980e --- pkgs/desktops/cinnamon/muffin/default.nix | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix index c2ad10f97ac0..98ee19c27e78 100644 --- a/pkgs/desktops/cinnamon/muffin/default.nix +++ b/pkgs/desktops/cinnamon/muffin/default.nix @@ -6,6 +6,7 @@ , cinnamon-desktop , dbus , desktop-file-utils +, egl-wayland , glib , gnome , gobject-introspection @@ -19,6 +20,7 @@ , libinput , libstartup_notification , libwacom +, libxcvt , libXdamage , libxkbcommon , libXtst @@ -29,13 +31,16 @@ , pkg-config , python3 , udev +, wayland +, wayland-protocols , wrapGAppsHook , xorgserver +, xwayland }: stdenv.mkDerivation rec { pname = "muffin"; - version = "5.8.1"; + version = "6.0.0"; outputs = [ "out" "dev" "man" ]; @@ -43,7 +48,7 @@ stdenv.mkDerivation rec { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-9YE+pHXJb21CcAflL9swNyhQY3ZCkLlZbnmUwTNdyfA="; + hash = "sha256-17B2C3SW9smTgLBBGJc9LwFpXoP9WidZEGgI2hbJTH8="; }; patches = [ @@ -69,6 +74,7 @@ stdenv.mkDerivation rec { cairo cinnamon-desktop dbus + egl-wayland glib gtk3 libcanberra @@ -78,10 +84,14 @@ stdenv.mkDerivation rec { libinput libstartup_notification libwacom + libxcvt libXdamage libxkbcommon pipewire udev + wayland + wayland-protocols + xwayland ]; propagatedBuildInputs = [ @@ -91,6 +101,13 @@ stdenv.mkDerivation rec { graphene ]; + mesonFlags = [ + # Based on Mint's debian/rules. + "-Degl_device=true" + "-Dwayland_eglstream=true" + "-Dxwayland_path=${lib.getExe xwayland}" + ]; + postPatch = '' patchShebangs src/backends/native/gen-default-modes.py ''; From a72559cdbe7ddc556341e50c14b202c7dbc9c1d0 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:00:56 +0800 Subject: [PATCH 12/20] cinnamon.nemo: 5.8.5 -> 6.0.0 https://github.com/linuxmint/nemo/compare/5.8.5...6.0.0 --- pkgs/desktops/cinnamon/nemo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix index 61266bb87100..406bcd132511 100644 --- a/pkgs/desktops/cinnamon/nemo/default.nix +++ b/pkgs/desktops/cinnamon/nemo/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "nemo"; - version = "5.8.5"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - sha256 = "sha256-Nl/T+8mmQdCTHo3qAUd+ATflSDXiGCQfGb1gXzvLuAc="; + sha256 = "sha256-JeiBhgfGyGyNT9eNhtUl6Pp1jgG02NRlm5lam592lS0="; }; patches = [ From ade3f1a0309ab7e2e04ae3ed364aa1e06d5dff57 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 23 Nov 2023 22:08:58 +0800 Subject: [PATCH 13/20] cinnamon.nemo-extensions: 5.8.0 -> 6.0.0 https://github.com/linuxmint/nemo-extensions/compare/5.8.0...6.0.0 --- pkgs/desktops/cinnamon/nemo-extensions/srcs.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix index 491373f5ea5f..c59538a40a44 100644 --- a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix +++ b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix @@ -4,12 +4,12 @@ rec { # When you bump this, you should make sure all nemo-extensions # are actually using this file since we try to deal with tags # like nemo-fileroller-5.6.1 according to upstream's wishes. - version = "5.8.0"; + version = "6.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = "nemo-extensions"; rev = version; - sha256 = "sha256-tyRYPWJa93w05a0PcYvz1GA8/xX2kHLdIzz4tCcppiY="; + sha256 = "sha256-M8ImntyfFfSL591UpqZosE7F8ydbpfrBhcLOBtW/sGQ="; }; } From 7abff9134107ae982936cc446fd3d9fcca6c7fad Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 28 Nov 2023 20:44:39 +0800 Subject: [PATCH 14/20] cinnamon.pix: 3.0.2 -> 3.2.0 https://github.com/linuxmint/pix/compare/3.0.2...3.2.0 --- pkgs/desktops/cinnamon/pix/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/desktops/cinnamon/pix/default.nix b/pkgs/desktops/cinnamon/pix/default.nix index ef434171d914..d9324fb30d24 100644 --- a/pkgs/desktops/cinnamon/pix/default.nix +++ b/pkgs/desktops/cinnamon/pix/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitHub -, fetchpatch , pkg-config , meson , ninja @@ -34,24 +33,15 @@ stdenv.mkDerivation rec { pname = "pix"; - version = "3.0.2"; + version = "3.2.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - sha256 = "sha256-iNUhcHG4nCZ4WNELodyLdztzfNg9g+F0eQrZHXS6Zj0="; + sha256 = "sha256-hhtW2QyexGIyovhWOReeJ0bxgye8LJl1RrEs0/5+q24="; }; - patches = [ - # Fix build with exiv2 0.28, can be removed on next update - # https://github.com/linuxmint/pix/pull/178 - (fetchpatch { - url = "https://github.com/linuxmint/pix/commit/46e19703a973d51fa97e6a22121560f5ba200eea.patch"; - sha256 = "sha256-Z+pUxoy0m/agXW++YxEUhRuax0qvuGVXNhU8d9mvGh4="; - }) - ]; - nativeBuildInputs = [ bison desktop-file-utils From 75ea2708c407543df77808a7b07b9863e8cbeecc Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Nov 2023 23:01:02 +0800 Subject: [PATCH 15/20] cinnamon.xapp: 2.6.1 -> 2.8.0 https://github.com/linuxmint/xapp/compare/2.6.1...2.8.0 --- pkgs/desktops/cinnamon/xapp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/xapp/default.nix b/pkgs/desktops/cinnamon/xapp/default.nix index 5b38d0662ea5..3043d7c7ed4f 100644 --- a/pkgs/desktops/cinnamon/xapp/default.nix +++ b/pkgs/desktops/cinnamon/xapp/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { pname = "xapp"; - version = "2.6.1"; + version = "2.8.0"; outputs = [ "out" "dev" ]; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-ZxIPiDLcMHEmlnrImctI2ZfH3AIOjB4m/RPGipJ7koM="; + hash = "sha256-kpVNzBvUo2Ktzln51xLbySeKutVeJaI57kL8cBZscTM="; }; # Recommended by upstream, which enables the build of xapp-debug. From a0822e5c0a4ea2aea3995bd94448a4ab597218ee Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 28 Nov 2023 20:33:02 +0800 Subject: [PATCH 16/20] cinnamon.xviewer: 3.4.1 -> 3.4.2 https://github.com/linuxmint/xviewer/compare/3.4.1...3.4.2 --- pkgs/desktops/cinnamon/xviewer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/xviewer/default.nix b/pkgs/desktops/cinnamon/xviewer/default.nix index c03ba5145b5e..1c7e03de9204 100644 --- a/pkgs/desktops/cinnamon/xviewer/default.nix +++ b/pkgs/desktops/cinnamon/xviewer/default.nix @@ -27,13 +27,13 @@ stdenv.mkDerivation rec { pname = "xviewer"; - version = "3.4.1"; + version = "3.4.2"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - sha256 = "sha256-HVxCBqaKtsEGhGAB+dBCOnjAjLZHv0XqTifPrvoYdj8="; + sha256 = "sha256-bI0TFJYulj1XlgKU5YLrlYKnkHORVYz4TK9mhl9mGag="; }; nativeBuildInputs = [ From 8849d2174e1f34875ee72e85530177286448b801 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Dec 2023 06:28:20 -0800 Subject: [PATCH 17/20] lightdm-slick-greeter: 1.8.2 -> 2.0.0 https://github.com/linuxmint/slick-greeter/compare/1.8.2...2.0.0 --- .../display-managers/lightdm-slick-greeter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix index c1007e07b79b..d49689255b98 100644 --- a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation rec { pname = "lightdm-slick-greeter"; - version = "1.8.2"; + version = "2.0.0"; src = fetchFromGitHub { owner = "linuxmint"; repo = "slick-greeter"; rev = version; - sha256 = "sha256-OSL4Ls3bCua5ut8zWodeIH1SfevCbsS7BgBJYdcJaVE="; + sha256 = "sha256-2iwH8npCfo4z1K4WQNP2Pd32PJTkCX/rT0+1RTrBO8E="; }; nativeBuildInputs = [ From b7fa2ea58bf49a4cd879ccdd7b58b2727c4784c3 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 20 Nov 2023 00:10:36 +0800 Subject: [PATCH 18/20] nixosTests.cinnamon-wayland: init --- nixos/tests/all-tests.nix | 1 + nixos/tests/cinnamon-wayland.nix | 71 ++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 nixos/tests/cinnamon-wayland.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 480439c2a25e..fceae29fddae 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -186,6 +186,7 @@ in { chrony = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony.nix {}; chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {}; cinnamon = handleTest ./cinnamon.nix {}; + cinnamon-wayland = handleTest ./cinnamon-wayland.nix {}; cjdns = handleTest ./cjdns.nix {}; clickhouse = handleTest ./clickhouse.nix {}; cloud-init = handleTest ./cloud-init.nix {}; diff --git a/nixos/tests/cinnamon-wayland.nix b/nixos/tests/cinnamon-wayland.nix new file mode 100644 index 000000000000..58dddbbb0866 --- /dev/null +++ b/nixos/tests/cinnamon-wayland.nix @@ -0,0 +1,71 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "cinnamon-wayland"; + + meta.maintainers = lib.teams.cinnamon.members; + + nodes.machine = { nodes, ... }: { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.desktopManager.cinnamon.enable = true; + services.xserver.displayManager = { + autoLogin.enable = true; + autoLogin.user = nodes.machine.users.users.alice.name; + defaultSession = "cinnamon-wayland"; + }; + }; + + enableOCR = true; + + testScript = { nodes, ... }: + let + user = nodes.machine.users.users.alice; + env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; + su = command: "su - ${user.name} -c '${env} ${command}'"; + + # Call javascript in cinnamon (the shell), returns a tuple (success, output), + # where `success` is true if the dbus call was successful and `output` is what + # the javascript evaluates to. + eval = name: su "gdbus call --session -d org.Cinnamon -o /org/Cinnamon -m org.Cinnamon.Eval ${name}"; + in + '' + machine.wait_for_unit("display-manager.service") + + with subtest("Wait for wayland server"): + machine.wait_for_file("/run/user/${toString user.uid}/wayland-0") + + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + + with subtest("Wait for the Cinnamon shell"): + # Correct output should be (true, '2') + # https://github.com/linuxmint/cinnamon/blob/5.4.0/js/ui/main.js#L183-L187 + machine.wait_until_succeeds("${eval "Main.runState"} | grep -q 'true,..2'") + + with subtest("Check if Cinnamon components actually start"): + for i in ["csd-media-keys", "xapp-sn-watcher", "nemo-desktop"]: + machine.wait_until_succeeds(f"pgrep -f {i}") + machine.wait_until_succeeds("journalctl -b --grep 'Loaded applet menu@cinnamon.org'") + machine.wait_until_succeeds("journalctl -b --grep 'calendar@cinnamon.org: Calendar events supported'") + + with subtest("Open Cinnamon Settings"): + machine.succeed("${su "cinnamon-settings themes >&2 &"}") + machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'cinnamon-settings'") + machine.wait_for_text('(Style|Appearance|Color)') + machine.sleep(2) + machine.screenshot("cinnamon_settings") + + with subtest("Check if screensaver works"): + # This is not supported at the moment. + # https://trello.com/b/HHs01Pab/cinnamon-wayland + machine.execute("${su "cinnamon-screensaver-command -l >&2 &"}") + machine.wait_until_succeeds("journalctl -b --grep 'Cinnamon Screensaver is unavailable on Wayland'") + + with subtest("Open GNOME Terminal"): + machine.succeed("${su "dbus-launch gnome-terminal"}") + machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'gnome-terminal'") + machine.sleep(2) + + with subtest("Check if Cinnamon has ever coredumped"): + machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'") + ''; +}) From 9247bdfce74a8e6b22892c1ad3b3ecf263a727a7 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 30 Nov 2023 21:51:00 +0800 Subject: [PATCH 19/20] nixos/cinnamon: switch to xdg.portal.configPackages This will make sure the config is in sync with upstream. --- nixos/modules/services/x11/desktop-managers/cinnamon.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix index a882bb140d21..e9cadf219468 100644 --- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix +++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix @@ -200,8 +200,7 @@ in }) ]; - # https://salsa.debian.org/cinnamon-team/cinnamon/-/commit/f87c64f8d35ba406eb11ad442989a0716f6620cf# - xdg.portal.config.x-cinnamon.default = mkDefault [ "xapp" "gtk" ]; + xdg.portal.configPackages = mkDefault [ pkgs.cinnamon.cinnamon-common ]; # Override GSettings schemas environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; From 74065b1858490a3fc0d2b80033d0a74996844c3e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 2 Dec 2023 12:15:05 +0800 Subject: [PATCH 20/20] nixos/rl-2405: Mention Cinnamon 6.0 update --- nixos/doc/manual/release-notes/rl-2405.section.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index b6b343145d78..c6ff5e8eff31 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -27,6 +27,8 @@ In addition to numerous new and upgraded packages, this release has the followin +- Cinnamon has been updated to 6.0. Please beware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release. + - Programs written in [Nim](https://nim-lang.org/) are built with libraries selected by lockfiles. The `nimPackages` and `nim2Packages` sets have been removed. See https://nixos.org/manual/nixpkgs/unstable#nim for more information.