From 47994c31afe8ff87319e28f2c6777cc36affa706 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 14 Feb 2024 11:56:45 +0000 Subject: [PATCH 01/48] mate.mate-common: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/mate-common/compare/v1.26.0...v1.28.0 Also uses stdenvNoCC. --- pkgs/desktops/mate/mate-common/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/mate/mate-common/default.nix b/pkgs/desktops/mate/mate-common/default.nix index 0f4a1901932b..fac27474e32a 100644 --- a/pkgs/desktops/mate/mate-common/default.nix +++ b/pkgs/desktops/mate/mate-common/default.nix @@ -1,16 +1,16 @@ { lib -, stdenv +, stdenvNoCC , fetchurl , mateUpdateScript }: -stdenv.mkDerivation rec { +stdenvNoCC.mkDerivation rec { pname = "mate-common"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "014wpfqpqmfkzv81paap4fz15mj1gsyvaxlrfqsp9a3yxw4f7jaf"; + sha256 = "QrfCzuJo9x1+HBrU9pvNoOzWVXipZyIYfGt2N40mugo="; }; enableParallelBuilding = true; From 27a7c9dcac60d6af5be9d95d40e8f33d48e72130 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 14 Feb 2024 11:56:19 +0000 Subject: [PATCH 02/48] mate.mate-desktop: 1.26.2 -> 1.28.2 https://github.com/mate-desktop/mate-desktop/compare/v1.26.2...v1.28.2 Also enables startup notification support. https://github.com/mate-desktop/mate-desktop/blob/v1.28.0/configure.ac#L130 Also add "dev" output. --- pkgs/desktops/mate/mate-desktop/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix index d7c052ae3c24..4f917028bd80 100644 --- a/pkgs/desktops/mate/mate-desktop/default.nix +++ b/pkgs/desktops/mate/mate-desktop/default.nix @@ -4,7 +4,7 @@ , pkg-config , gettext , isocodes -, gnome +, libstartup_notification , gtk3 , dconf , wrapGAppsHook @@ -13,11 +13,13 @@ stdenv.mkDerivation rec { pname = "mate-desktop"; - version = "1.26.2"; + version = "1.28.2"; + + outputs = [ "out" "dev" ]; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "XtA/fFLXt+zknKHnNqp2au/rXGOeqz5oxwkMUw0CN2o="; + sha256 = "MrtLeSAUs5HB4biunBioK01EdlCYS0y6fSjpVWSWSqI="; }; nativeBuildInputs = [ @@ -28,10 +30,14 @@ stdenv.mkDerivation rec { buildInputs = [ dconf - gtk3 isocodes ]; + propagatedBuildInputs = [ + gtk3 + libstartup_notification + ]; + enableParallelBuilding = true; passthru.updateScript = mateUpdateScript { inherit pname; }; From 59c54537d5bcc39ff2d05cc208cb6ec0d65afcfe Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 14 Feb 2024 11:55:18 +0000 Subject: [PATCH 03/48] mate.libmatekbd: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/libmatekbd/compare/v1.26.1...v1.28.0 --- pkgs/desktops/mate/libmatekbd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix index 901d1c6bfffa..918e28f255aa 100644 --- a/pkgs/desktops/mate/libmatekbd/default.nix +++ b/pkgs/desktops/mate/libmatekbd/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "libmatekbd"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "Y5ONkSUpRe7qiP2DdNEjG9g9As2WXGu6F8GF7bOXvO0="; + sha256 = "XS5YSDwrI9M1A9JMiPi5CijMAYnX5AAbPic6YE9v6A4="; }; nativeBuildInputs = [ From 93c62138fb0a2ee8dc1ee892e2c242be9e2e990e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 14 Feb 2024 11:50:53 +0000 Subject: [PATCH 04/48] mate.libmatemixer: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/libmatemixer/compare/v1.26.1...v1.28.0 Also enables udev support (when ALSA module is built). https://github.com/mate-desktop/libmatemixer/blob/v1.28.0/configure.ac#L196 --- pkgs/desktops/mate/libmatemixer/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/mate/libmatemixer/default.nix b/pkgs/desktops/mate/libmatemixer/default.nix index 310bfb96a7d9..ebdd3eb07dda 100644 --- a/pkgs/desktops/mate/libmatemixer/default.nix +++ b/pkgs/desktops/mate/libmatemixer/default.nix @@ -7,6 +7,7 @@ , glib , alsaSupport ? stdenv.isLinux , alsa-lib +, udev , pulseaudioSupport ? config.pulseaudio or true , libpulseaudio , ossSupport ? false @@ -15,11 +16,11 @@ stdenv.mkDerivation rec { pname = "libmatemixer"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "SWD1mmufr4KgHUpLjMJgtIaN2ZHv1Kmxe10KFaHToa4="; + sha256 = "XXO5Ijl/YGiOPJUw61MrzkbDDiYtsbU1L6MsQNhwoMc="; }; nativeBuildInputs = [ @@ -29,9 +30,12 @@ stdenv.mkDerivation rec { buildInputs = [ glib - ] - ++ lib.optional alsaSupport alsa-lib - ++ lib.optional pulseaudioSupport libpulseaudio; + ] ++ lib.optionals alsaSupport [ + alsa-lib + udev + ] ++ lib.optionals pulseaudioSupport [ + libpulseaudio + ]; configureFlags = lib.optional ossSupport "--enable-oss"; From b4657dc75c23ee895c59235b5fe7769e0d6a2745 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 14 Feb 2024 11:48:09 +0000 Subject: [PATCH 05/48] mate.eom: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/eom/compare/v1.26.1...v1.28.0 --- pkgs/desktops/mate/eom/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix index 765d10dd9d68..0ca00c27b92b 100644 --- a/pkgs/desktops/mate/eom/default.nix +++ b/pkgs/desktops/mate/eom/default.nix @@ -13,7 +13,7 @@ , libpeas , shared-mime-info , gtk3 -, mate +, mate-desktop , hicolor-icon-theme , wrapGAppsHook , mateUpdateScript @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { pname = "eom"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "tSUSKUlPfmxi4J+yEeQzCN9PB0xVG6CiM9ws1oZLmWA="; + sha256 = "mgHKsplaGoxyWMhl6uXxgu1HMMRGcq/cOgfkI+3VOrw="; }; nativeBuildInputs = [ @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { shared-mime-info gtk3 libpeas - mate.mate-desktop + mate-desktop hicolor-icon-theme ]; From 28a4433b004da716a4611270e92bab423984999e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 14 Feb 2024 11:47:34 +0000 Subject: [PATCH 06/48] mate.mate-backgrounds: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/mate-backgrounds/compare/v1.26.0...v1.28.0 Also uses stdenvNoCC. --- .../desktops/mate/mate-backgrounds/default.nix | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/mate/mate-backgrounds/default.nix b/pkgs/desktops/mate/mate-backgrounds/default.nix index 639f156c8ac7..0d512260d303 100644 --- a/pkgs/desktops/mate/mate-backgrounds/default.nix +++ b/pkgs/desktops/mate/mate-backgrounds/default.nix @@ -1,31 +1,21 @@ { lib -, stdenv +, stdenvNoCC , fetchurl -, fetchpatch , meson , ninja , gettext , mateUpdateScript }: -stdenv.mkDerivation rec { +stdenvNoCC.mkDerivation rec { pname = "mate-backgrounds"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0379hngy3ap1r5kmqvmzs9r710k2c9nal2ps3hq765df4ir15j8d"; + sha256 = "UNGv0CSGvQesIqWmtu+jAxFI8NSKguSI2QmtVwA6aUM="; }; - patches = [ - # Fix build with meson 0.61, can be removed on next update. - # https://github.com/mate-desktop/mate-backgrounds/pull/39 - (fetchpatch { - url = "https://github.com/mate-desktop/mate-backgrounds/commit/0096e237d420e6247a75a1c6940a818e309ac2a7.patch"; - sha256 = "HEF8VWunFO+NCG18fZA7lbE2l8pc6Z3jcD+rSZ1Jsqg="; - }) - ]; - nativeBuildInputs = [ gettext meson From ce68cafc54ca06ff22f5b1e0fb3f34bbbd18e4b4 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 15 Feb 2024 02:09:30 +0000 Subject: [PATCH 07/48] mate.marco: 1.26.2 -> 1.28.1 https://github.com/mate-desktop/marco/compare/v1.26.2...v1.28.1 --- pkgs/desktops/mate/marco/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix index 0e71a9a86fd6..598cc51eca46 100644 --- a/pkgs/desktops/mate/marco/default.nix +++ b/pkgs/desktops/mate/marco/default.nix @@ -14,6 +14,7 @@ , gnome , glib , gtk3 +, mate-desktop , mate-settings-daemon , wrapGAppsHook , mateUpdateScript @@ -21,11 +22,11 @@ stdenv.mkDerivation rec { pname = "marco"; - version = "1.26.2"; + version = "1.28.1"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "EvGiVP4QcvAwSIRxHgiaVoJ4CgEVk0Au043muUgOB6M="; + sha256 = "JJbl5A7pgM1oSUk6w+D4/Q3si4HGdNqNm6GaV38KwuE="; }; nativeBuildInputs = [ @@ -45,9 +46,15 @@ stdenv.mkDerivation rec { libstartup_notification gtk3 gnome.zenity + mate-desktop mate-settings-daemon ]; + postPatch = '' + substituteInPlace src/core/util.c \ + --replace-fail 'argvl[i++] = "zenity"' 'argvl[i++] = "${gnome.zenity}/bin/zenity"' + ''; + env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; From 4d40b2ed752d9cc356dee139e7bd440614a4ff0e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 15 Feb 2024 02:10:13 +0000 Subject: [PATCH 08/48] mate.mate-calc: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/mate-calc/compare/v1.26.0...v1.28.0 --- pkgs/desktops/mate/mate-calc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix index cdb743cac665..4a4d6db2a3b3 100644 --- a/pkgs/desktops/mate/mate-calc/default.nix +++ b/pkgs/desktops/mate/mate-calc/default.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation rec { pname = "mate-calc"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0mddfh9ixhh60nfgx5kcprcl9liavwqyina11q3pnpfs3n02df3y"; + sha256 = "gEsSXR4oZLHnSvgW2psquLGUcrmvl0Q37nNVraXmKPU="; }; nativeBuildInputs = [ From e755cc90f6bbc387f18419d11636d88e1eb05fee Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 15 Feb 2024 02:11:00 +0000 Subject: [PATCH 09/48] mate.libmateweather: 1.26.3 -> 1.28.0 https://github.com/mate-desktop/libmateweather/compare/v1.26.3...v1.28.0 --- pkgs/desktops/mate/libmateweather/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix index 4c7e6eb6c023..4c003c4a9873 100644 --- a/pkgs/desktops/mate/libmateweather/default.nix +++ b/pkgs/desktops/mate/libmateweather/default.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation rec { pname = "libmateweather"; - version = "1.26.3"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "XmzSRBiEfLRazxfaW0NacTHLTsKs/2joKPNCob8T70o="; + sha256 = "VUNz3rWzk7nYSydd0spmyaSi0ObskgRPq4qlPjAy0rU="; }; strictDeps = true; From d931fd53148ad890d3f4a7e20cbcf6470913bdf3 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 16 Feb 2024 01:30:32 +0000 Subject: [PATCH 10/48] mate.mate-icon-theme: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/mate-icon-theme/compare/v1.26.0...v1.28.0 --- pkgs/desktops/mate/mate-icon-theme/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix index 1f874fa6f16e..b951d929bb06 100644 --- a/pkgs/desktops/mate/mate-icon-theme/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme/default.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation rec { pname = "mate-icon-theme"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0nha555fhhn0j5wmzmdc7bh93ckzwwdm8mwmzma5whkzslv09xa1"; + sha256 = "lNYHkGDKXfdFQpId5O6ji30C0HVhyRk1bZXeh2+abTo="; }; nativeBuildInputs = [ From 54dae297d165ee23fbd25d5662eca6e6ac8053d7 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 16 Feb 2024 01:31:54 +0000 Subject: [PATCH 11/48] mate.mate-menus: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/mate-menus/compare/v1.26.1...v1.28.0 --- pkgs/desktops/mate/mate-menus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix index 9d879340ce1e..9328147e642c 100644 --- a/pkgs/desktops/mate/mate-menus/default.nix +++ b/pkgs/desktops/mate/mate-menus/default.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "mate-menus"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "RY1ZmuW2UMfSF0D5/pVMSoOL5F7WKrQOIOMG+vXdHYw="; + sha256 = "z0DHXH1vCq0dSWmCj8YgJcYiK8aoTwu51urX5FlwUI0="; }; nativeBuildInputs = [ From 1d5c2c780fdff226853e27490c068c572374a054 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 16 Feb 2024 01:35:40 +0000 Subject: [PATCH 12/48] mate.mate-notification-daemon: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/mate-notification-daemon/compare/v1.26.1...v1.28.0 Also enables wayland support. --- pkgs/desktops/mate/mate-notification-daemon/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix index 7569a676db11..ca1fa2e17289 100644 --- a/pkgs/desktops/mate/mate-notification-daemon/default.nix +++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix @@ -7,6 +7,7 @@ , libcanberra-gtk3 , libnotify , libwnck +, gtk-layer-shell , gtk3 , libxml2 , mate-desktop @@ -17,11 +18,11 @@ stdenv.mkDerivation rec { pname = "mate-notification-daemon"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "Dq6SlsSKPHH9VvGTGWH5LSnkWgRf5fGgX4PHQAwxmSQ="; + sha256 = "pDEDSOrYZsvLm0xGP00mXMapahp4KpQRoIsjvWXbsuA="; }; nativeBuildInputs = [ @@ -35,11 +36,14 @@ stdenv.mkDerivation rec { libcanberra-gtk3 libnotify libwnck + gtk-layer-shell gtk3 mate-desktop mate-panel ]; + configureFlags = [ "--enable-in-process" ]; + env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; From 21690886e322df7ade513cf6ad2943f0b8f0189c Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 16 Feb 2024 01:36:58 +0000 Subject: [PATCH 13/48] mate.mate-polkit: 1.26.1 -> 1.28.1 https://github.com/mate-desktop/mate-polkit/compare/v1.26.1...v1.28.1 Also uses Ayatana appindicator. --- pkgs/desktops/mate/mate-polkit/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/mate/mate-polkit/default.nix b/pkgs/desktops/mate/mate-polkit/default.nix index 1adee4c01b0f..827a641d3967 100644 --- a/pkgs/desktops/mate/mate-polkit/default.nix +++ b/pkgs/desktops/mate/mate-polkit/default.nix @@ -5,19 +5,18 @@ , gettext , gtk3 , gobject-introspection -, libappindicator-gtk3 -, libindicator-gtk3 +, libayatana-appindicator , polkit , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-polkit"; - version = "1.26.1"; + version = "1.28.1"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "9bewtd/FMwLEBAMkWZjrkSGvP1DnFmagmrc7slRSA1c="; + sha256 = "NQod0KjtaiycGDz/KiHzlCmelo/MauLoyTxWXa5gSug="; }; nativeBuildInputs = [ @@ -28,8 +27,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 - libappindicator-gtk3 - libindicator-gtk3 + libayatana-appindicator polkit ]; From aaa57a15fdf2df1e76ca87b83703619bd09dcbfe Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 17 Feb 2024 09:51:51 +0000 Subject: [PATCH 14/48] mate.mate-session-manager: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/mate-session-manager/compare/v1.26.1...v1.28.0 --- .../mate/mate-session-manager/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix index 443339388f17..c8b0c94f888e 100644 --- a/pkgs/desktops/mate/mate-session-manager/default.nix +++ b/pkgs/desktops/mate/mate-session-manager/default.nix @@ -8,11 +8,13 @@ , systemd , libSM , libXtst +, glib , gtk3 , libepoxy , polkit , hicolor-icon-theme -, mate +, mate-desktop +, mate-screensaver , wrapGAppsHook , fetchpatch , mateUpdateScript @@ -20,11 +22,11 @@ stdenv.mkDerivation rec { pname = "mate-session-manager"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "W4x9ZEH9nCk8hjiCq2enSTxTzfZOqyfAlFdfQj69Qng="; + sha256 = "0yzkWVuh2mUpB3cgPyvIK9lzshSjoECAoe9caJkKLXs="; }; patches = [ @@ -48,7 +50,8 @@ stdenv.mkDerivation rec { libSM libXtst gtk3 - mate.mate-desktop + mate-desktop + mate-screensaver # for gsm_manager_init hicolor-icon-theme libepoxy polkit @@ -56,9 +59,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + postFixup = '' substituteInPlace $out/share/xsessions/mate.desktop \ - --replace "Exec=mate-session" "Exec=$out/bin/mate-session" + --replace-fail "Exec=mate-session" "Exec=$out/bin/mate-session" ''; passthru.providedSessions = [ "mate" ]; From beb53ce8feef4ad79193f7a5d7416cad2122a20a Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 17 Feb 2024 09:52:39 +0000 Subject: [PATCH 15/48] mate.mate-settings-daemon: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/mate-settings-daemon/compare/v1.26.1...v1.28.0 dbus-glib is no longer needed. https://github.com/mate-desktop/mate-settings-daemon/commit/66b5dded076dea587e2d30adf64c22f6c6e4aa26 --- .../mate/mate-settings-daemon/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix index 6d245add0df3..09085ed04869 100644 --- a/pkgs/desktops/mate/mate-settings-daemon/default.nix +++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix @@ -4,15 +4,16 @@ , pkg-config , gettext , glib -, dbus-glib , libxklavier , libcanberra-gtk3 , libnotify +, libmatekbd +, libmatemixer , nss , polkit , dconf , gtk3 -, mate +, mate-desktop , pulseaudioSupport ? stdenv.config.pulseaudio or true , libpulseaudio , wrapGAppsHook @@ -21,11 +22,11 @@ stdenv.mkDerivation rec { pname = "mate-settings-daemon"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "aX6mW1QpIcK3ZhRSktJo0wCcwtqDFtKnhphpBV5LGFk="; + sha256 = "TtfNraqkyZ7//AKCuEEXA7t24HLEHEtXmJ+MW0BhGjo="; }; nativeBuildInputs = [ @@ -35,17 +36,16 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - dbus-glib libxklavier libcanberra-gtk3 libnotify + libmatekbd + libmatemixer nss polkit gtk3 dconf - mate.mate-desktop - mate.libmatekbd - mate.libmatemixer + mate-desktop ] ++ lib.optional pulseaudioSupport libpulseaudio; configureFlags = lib.optional pulseaudioSupport "--enable-pulse"; From 1340971c1251e3484255aa6e89494f6e7cbb3e13 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 17 Feb 2024 09:53:57 +0000 Subject: [PATCH 16/48] mate.mate-system-monitor: 1.26.3 -> 1.28.1 https://github.com/mate-desktop/mate-system-monitor/compare/v1.26.3...v1.28.1 Drops libwnck since upstream discourages building wnck support. https://github.com/mate-desktop/mate-system-monitor/blob/v1.28.0/meson_options.txt#L2 Systemd support is now enabled by default. https://github.com/mate-desktop/mate-system-monitor/commit/bc1296b16d9ec05e8d990c18d22fc52b78071afb Also fixes mate-version.xml path. --- pkgs/desktops/mate/mate-system-monitor/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix index a29cc7c18ec7..9408e6529365 100644 --- a/pkgs/desktops/mate/mate-system-monitor/default.nix +++ b/pkgs/desktops/mate/mate-system-monitor/default.nix @@ -7,21 +7,21 @@ , gtkmm3 , libxml2 , libgtop -, libwnck , librsvg , polkit , systemd , wrapGAppsHook +, mate-desktop , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-system-monitor"; - version = "1.26.3"; + version = "1.28.1"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "WFthNBX3bucDt7XlK1WWKUKVB+A8kwVKSq3Pb5xlIkk="; + sha256 = "QtZj1rkPtTYevBP2VHmD1vHirHXcKuTxysbqYymWWiU="; }; nativeBuildInputs = [ @@ -35,13 +35,16 @@ stdenv.mkDerivation rec { gtkmm3 libxml2 libgtop - libwnck librsvg polkit systemd ]; - configureFlags = [ "--enable-systemd" ]; + postPatch = '' + # This package does not provide mate-version.xml. + substituteInPlace src/sysinfo.cpp \ + --replace-fail 'DATADIR "/mate-about/mate-version.xml"' '"${mate-desktop}/share/mate-about/mate-version.xml"' + ''; enableParallelBuilding = true; From 2b4a00c5532bf3166ff33a6e036ffdfa6a439194 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 19 Feb 2024 15:02:29 +0000 Subject: [PATCH 17/48] mate.mate-terminal: 1.26.1 -> 1.28.1 https://github.com/mate-desktop/mate-terminal/compare/v1.26.1...v1.28.1 --- pkgs/desktops/mate/mate-terminal/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix index e2406789df43..76c002c9299d 100644 --- a/pkgs/desktops/mate/mate-terminal/default.nix +++ b/pkgs/desktops/mate/mate-terminal/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "mate-terminal"; - version = "1.26.1"; + version = "1.28.1"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "fBMCBvC0eIfoySdOc/jBn65RETRXKGmnwjERt4nh4dA="; + sha256 = "8TXrGp4q4ieY7LLcGRT9tM/XdOa7ZcAVK+N8xslGnpI="; }; nativeBuildInputs = [ From ea180d31223ad1ba28c7cbb339f5c98cbc4d71ea Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 19 Feb 2024 15:04:38 +0000 Subject: [PATCH 18/48] mate.mate-user-guide: 1.26.2 -> 1.28.0 https://github.com/mate-desktop/mate-user-guide/compare/v1.26.2...v1.28.0 --- pkgs/desktops/mate/mate-user-guide/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/mate/mate-user-guide/default.nix b/pkgs/desktops/mate/mate-user-guide/default.nix index 5b894c40340c..7dc2e9ad4221 100644 --- a/pkgs/desktops/mate/mate-user-guide/default.nix +++ b/pkgs/desktops/mate/mate-user-guide/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "mate-user-guide"; - version = "1.26.2"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "TTK241ZKyPTqqysVSC33+XaXUN+IEavtg30KLn7jgIs="; + sha256 = "U+8IFPUGVEYU7WGre+UiHMjTqfFPfvlpjJD+fkYBS54="; }; nativeBuildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace mate-user-guide.desktop.in.in \ - --replace "Exec=yelp" "Exec=${yelp}/bin/yelp" + --replace-fail "Exec=yelp" "Exec=${yelp}/bin/yelp" ''; enableParallelBuilding = true; From 2b537f61fbabb2467a6b5bd687476759fdb2dcae Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 19 Feb 2024 15:06:14 +0000 Subject: [PATCH 19/48] mate.mozo: 1.26.2 -> 1.28.0 https://github.com/mate-desktop/mozo/compare/v1.26.2...v1.28.0 --- pkgs/desktops/mate/mozo/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/mate/mozo/default.nix b/pkgs/desktops/mate/mozo/default.nix index 3b0618bc41ac..94426da24178 100644 --- a/pkgs/desktops/mate/mozo/default.nix +++ b/pkgs/desktops/mate/mozo/default.nix @@ -3,7 +3,7 @@ , fetchurl , pkg-config , gettext -, mate +, mate-menus , gtk3 , glib , wrapGAppsHook @@ -13,14 +13,14 @@ python3.pkgs.buildPythonApplication rec { pname = "mozo"; - version = "1.26.2"; + version = "1.28.0"; format = "other"; doCheck = false; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "RyxILg7y+xYp5h4X2qoaSH9kOSsCmEncmkCCr7OLye4="; + sha256 = "/piYT/1qqMNtBZS879ugPeObQtQeAHJRaAOE8870SSQ="; }; nativeBuildInputs = [ @@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec { ]; propagatedBuildInputs = [ - mate.mate-menus + mate-menus python3.pkgs.pygobject3 ]; From 8bd6369f3fcd031f2117bea87aefce45cab10034 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 19 Feb 2024 15:09:16 +0000 Subject: [PATCH 20/48] mate.pluma: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/pluma/compare/v1.26.1...v1.28.0 Also drops adwaita-icon-theme, XDG_ICON_DIRS is not picked up by wrapGAppsHook for a while and we are fine. --- pkgs/desktops/mate/default.nix | 2 +- pkgs/desktops/mate/pluma/default.nix | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 8604c0f5ee90..50287c544c12 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -50,7 +50,7 @@ let mate-user-share = callPackage ./mate-user-share { }; mate-utils = callPackage ./mate-utils { }; mozo = callPackage ./mozo { }; - pluma = callPackage ./pluma { inherit (pkgs.gnome) adwaita-icon-theme; }; + pluma = callPackage ./pluma { }; python-caja = callPackage ./python-caja { }; basePackages = [ diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix index ed7d54e9469b..98985a28564f 100644 --- a/pkgs/desktops/mate/pluma/default.nix +++ b/pkgs/desktops/mate/pluma/default.nix @@ -9,7 +9,6 @@ , enchant , libxml2 , python3 -, adwaita-icon-theme , gtksourceview4 , libpeas , mate-desktop @@ -19,11 +18,11 @@ stdenv.mkDerivation rec { pname = "pluma"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "WVns49cRjhBmWfZNIC0O0XY60Qu7ul0qzYy/ui45lPE="; + sha256 = "qorflYk0UJOlDjCyft5KeKJCHRcnwn9GX8h8Q1llodQ="; }; nativeBuildInputs = [ @@ -37,7 +36,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - adwaita-icon-theme enchant gtksourceview4 libpeas From 8f62b25ef6cfaac4377904a1001f9fe9b8b5a7b0 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 20 Feb 2024 12:00:33 +0000 Subject: [PATCH 21/48] mate.caja: 1.26.3 -> 1.28.0 https://github.com/mate-desktop/caja/compare/v1.26.3...v1.28.0 Also enables wayland support. --- pkgs/desktops/mate/caja/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix index fc5a8e93d9b9..a09cef4621a8 100644 --- a/pkgs/desktops/mate/caja/default.nix +++ b/pkgs/desktops/mate/caja/default.nix @@ -3,24 +3,26 @@ , fetchurl , pkg-config , gettext +, gtk-layer-shell , gtk3 , libnotify , libxml2 , libexif , exempi -, mate +, mate-desktop , hicolor-icon-theme +, wayland , wrapGAppsHook , mateUpdateScript }: stdenv.mkDerivation rec { pname = "caja"; - version = "1.26.3"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "gT7fCKNvmV7DwVBBMf+K+70CH24VhmQ/5dztXnPleQ0="; + sha256 = "HjAUzhRVgX7C73TQnv37aDXYo3LtmhbvtZGe97ghlXo="; }; nativeBuildInputs = [ @@ -30,13 +32,15 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + gtk-layer-shell gtk3 libnotify libxml2 libexif exempi - mate.mate-desktop + mate-desktop hicolor-icon-theme + wayland ]; configureFlags = [ "--disable-update-mimedb" ]; From 239d44557a78d34bd20181fff11711e64338c4ad Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 23:55:54 +0800 Subject: [PATCH 22/48] mate.caja-with-extensions: Reimplement using lndir This installs missing desktop files and icons and allows dropping the caja-extensions hardcode gsettings patch. --- .../mate/caja-with-extensions/default.nix | 29 --------- pkgs/desktops/mate/caja/with-extensions.nix | 61 +++++++++++++++++++ pkgs/desktops/mate/default.nix | 5 +- 3 files changed, 65 insertions(+), 30 deletions(-) delete mode 100644 pkgs/desktops/mate/caja-with-extensions/default.nix create mode 100644 pkgs/desktops/mate/caja/with-extensions.nix diff --git a/pkgs/desktops/mate/caja-with-extensions/default.nix b/pkgs/desktops/mate/caja-with-extensions/default.nix deleted file mode 100644 index 4de6d5d6d760..000000000000 --- a/pkgs/desktops/mate/caja-with-extensions/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv -, lib -, makeWrapper -, caja-extensions -, caja -, extensions ? [ caja-extensions ] -, mateUpdateScript -}: - -stdenv.mkDerivation { - pname = "${caja.pname}-with-extensions"; - version = caja.version; - - dontUnpack = true; - - nativeBuildInputs = [ - makeWrapper - ]; - - inherit caja; - - installPhase = '' - mkdir -p $out/bin - makeWrapper $caja/bin/caja $out/bin/caja \ - --set CAJA_EXTENSION_DIRS ${lib.concatMapStringsSep ":" (x: "${x.outPath}/lib/caja/extensions-2.0") extensions} - ''; - - inherit (caja.meta); -} diff --git a/pkgs/desktops/mate/caja/with-extensions.nix b/pkgs/desktops/mate/caja/with-extensions.nix new file mode 100644 index 000000000000..b9a55b4b9209 --- /dev/null +++ b/pkgs/desktops/mate/caja/with-extensions.nix @@ -0,0 +1,61 @@ +{ stdenv +, lib +, glib +, wrapGAppsHook +, xorg +, caja +, cajaExtensions +, extensions ? [ ] +, useDefaultExtensions ? true +}: + +let + selectedExtensions = extensions ++ (lib.optionals useDefaultExtensions cajaExtensions); +in +stdenv.mkDerivation { + pname = "${caja.pname}-with-extensions"; + version = caja.version; + + src = null; + + nativeBuildInputs = [ + glib + wrapGAppsHook + ]; + + buildInputs = lib.forEach selectedExtensions (x: x.buildInputs) ++ selectedExtensions + ++ [ caja ] ++ caja.buildInputs; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + preferLocalBuild = true; + allowSubstitutes = false; + + installPhase = '' + runHook preInstall + + mkdir -p $out + ${xorg.lndir}/bin/lndir -silent ${caja} $out + + dbus_service_path="share/dbus-1/services/org.mate.freedesktop.FileManager1.service" + rm -f $out/share/applications/* "$out/$dbus_service_path" + for file in ${caja}/share/applications/*; do + substitute "$file" "$out/share/applications/$(basename $file)" \ + --replace-fail "${caja}" "$out" + done + substitute "${caja}/$dbus_service_path" "$out/$dbus_service_path" \ + --replace-fail "${caja}" "$out" + + runHook postInstall + ''; + + preFixup = lib.optionalString (selectedExtensions != [ ]) '' + gappsWrapperArgs+=( + --set CAJA_EXTENSION_DIRS ${lib.concatMapStringsSep ":" (x: "${x.outPath}/lib/caja/extensions-2.0") selectedExtensions} + ) + ''; + + inherit (caja.meta); +} diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 50287c544c12..910c973ff4ec 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -14,7 +14,7 @@ let caja = callPackage ./caja { }; caja-dropbox = callPackage ./caja-dropbox { }; caja-extensions = callPackage ./caja-extensions { }; - caja-with-extensions = callPackage ./caja-with-extensions { }; + caja-with-extensions = callPackage ./caja/with-extensions.nix { }; engrampa = callPackage ./engrampa { }; eom = callPackage ./eom { }; libmatekbd = callPackage ./libmatekbd { }; @@ -96,6 +96,9 @@ let pluma ]; + cajaExtensions = [ + caja-extensions + ]; }; in lib.makeScope pkgs.newScope packages From c87f6b55911a705be2437274820f46b3e605188a Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Feb 2024 17:21:53 +0800 Subject: [PATCH 23/48] mate: Install caja-with-extensions by default --- nixos/modules/services/x11/desktop-managers/mate.nix | 3 --- pkgs/desktops/mate/default.nix | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index f535a1d298b9..89008f0124da 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -37,9 +37,6 @@ in pkgs.mate.mate-session-manager ]; - # Let caja find extensions - environment.sessionVariables.CAJA_EXTENSION_DIRS = [ "${config.system.path}/lib/caja/extensions-2.0" ]; - # Let mate-panel find applets environment.sessionVariables."MATE_PANEL_APPLETS_DIR" = "${config.system.path}/share/mate-panel/applets"; environment.sessionVariables."MATE_PANEL_EXTRA_MODULES" = "${config.system.path}/lib/mate-panel/applets"; diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 910c973ff4ec..bbd9f8c09989 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -54,7 +54,7 @@ let python-caja = callPackage ./python-caja { }; basePackages = [ - caja + caja-with-extensions libmatekbd libmatemixer libmateweather @@ -75,7 +75,7 @@ let extraPackages = [ atril - caja-extensions + caja-extensions # for caja-sendto engrampa eom mate-applets From dbf14ea76919f233aeae6f1f731a0c7bae5df1bf Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 20 Feb 2024 12:02:04 +0000 Subject: [PATCH 24/48] mate.mate-media: 1.26.2 -> 1.28.1 https://github.com/mate-desktop/mate-media/compare/v1.26.2...v1.28.1 Also enables wayland support. --- pkgs/desktops/mate/mate-media/default.nix | 36 ++++++++++++++--------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/mate/mate-media/default.nix b/pkgs/desktops/mate/mate-media/default.nix index 0b5eae0172e0..4b2590088e1d 100644 --- a/pkgs/desktops/mate/mate-media/default.nix +++ b/pkgs/desktops/mate/mate-media/default.nix @@ -4,32 +4,27 @@ , pkg-config , gettext , libtool -, libxml2 -, libcanberra-gtk3 +, gtk-layer-shell , gtk3 -, mate +, libcanberra-gtk3 +, libmatemixer +, libxml2 +, mate-desktop +, mate-panel +, wayland , wrapGAppsHook , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-media"; - version = "1.26.2"; + version = "1.28.1"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "r0ZjlXTMOIUTCJyhC7FB/8Pm0awz5zDkII21dZZChQ8="; + sha256 = "vNwQLiL2P1XmMWbVxwjpHBE1cOajCodDRaiGCeg6mRI="; }; - buildInputs = [ - libxml2 - libcanberra-gtk3 - gtk3 - mate.libmatemixer - mate.mate-panel - mate.mate-desktop - ]; - nativeBuildInputs = [ pkg-config gettext @@ -37,6 +32,19 @@ stdenv.mkDerivation rec { wrapGAppsHook ]; + buildInputs = [ + gtk-layer-shell + gtk3 + libcanberra-gtk3 + libmatemixer + libxml2 + mate-desktop + mate-panel + wayland + ]; + + configureFlags = [ "--enable-in-process" ]; + enableParallelBuilding = true; passthru.updateScript = mateUpdateScript { inherit pname; }; From 2f977d185f0acd2df30c6fb27eb133673aaa48b9 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 20 Feb 2024 12:03:03 +0000 Subject: [PATCH 25/48] mate.mate-panel: 1.26.4 -> 1.28.0 https://github.com/mate-desktop/mate-panel/compare/v1.26.4...v1.28.0 Also enables wayland support. --- pkgs/desktops/mate/mate-panel/default.nix | 37 +++++++++++++++++------ 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix index 214e1767f25b..75340bf4dc96 100644 --- a/pkgs/desktops/mate/mate-panel/default.nix +++ b/pkgs/desktops/mate/mate-panel/default.nix @@ -5,25 +5,31 @@ , gettext , itstool , glib +, gnome +, gtk-layer-shell +, gtk3 +, libmateweather , libwnck , librsvg , libxml2 , dconf -, gtk3 -, mate +, mate-desktop +, mate-menus , hicolor-icon-theme +, wayland , gobject-introspection , wrapGAppsHook +, marco , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-panel"; - version = "1.26.4"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "IHD51RVlfl3c2g2H73KXE9upy3sq0GIjvWdKIcxrPa8="; + sha256 = "s70EoJTQ61vX3DOA728MSdmp1SCXM9fM17RtBmogjLo="; }; nativeBuildInputs = [ @@ -35,18 +41,29 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - glib + gtk-layer-shell + libmateweather libwnck librsvg libxml2 - gtk3 dconf - mate.libmateweather - mate.mate-desktop - mate.mate-menus + mate-desktop + mate-menus hicolor-icon-theme + wayland ]; + propagatedBuildInputs = [ + glib + gtk3 + # See https://github.com/mate-desktop/mate-panel/issues/1402 + # This is propagated for mate_panel_applet_settings_new and applet's wrapGAppsHook + gnome.dconf-editor + ]; + + # Needed for Wayland support. + configureFlags = [ "--with-in-process-applets=all" ]; + env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; makeFlags = [ @@ -57,7 +74,7 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( # Workspace switcher settings, works only when passed after gtk3 schemas in the wrapper for some reason - --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath mate.marco}" + --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath marco}" ) ''; From cbe14f0baf048e48d93ce101b303ed44f1380c3c Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Feb 2024 21:56:20 +0800 Subject: [PATCH 26/48] mate.mate-panel-with-applets: init --- pkgs/desktops/mate/default.nix | 12 ++++ .../desktops/mate/mate-panel/with-applets.nix | 61 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 pkgs/desktops/mate/mate-panel/with-applets.nix diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index bbd9f8c09989..7c65e36d13db 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -35,6 +35,7 @@ let mate-netbook = callPackage ./mate-netbook { }; mate-notification-daemon = callPackage ./mate-notification-daemon { }; mate-panel = callPackage ./mate-panel { }; + mate-panel-with-applets = callPackage ./mate-panel/with-applets.nix { }; mate-polkit = callPackage ./mate-polkit { }; mate-power-manager = callPackage ./mate-power-manager { }; mate-sensors-applet = callPackage ./mate-sensors-applet { }; @@ -99,6 +100,17 @@ let cajaExtensions = [ caja-extensions ]; + + panelApplets = [ + mate-applets + mate-indicator-applet + mate-netbook + mate-notification-daemon + mate-media + mate-power-manager + mate-sensors-applet + mate-utils + ]; }; in lib.makeScope pkgs.newScope packages diff --git a/pkgs/desktops/mate/mate-panel/with-applets.nix b/pkgs/desktops/mate/mate-panel/with-applets.nix new file mode 100644 index 000000000000..e3f76645aa7c --- /dev/null +++ b/pkgs/desktops/mate/mate-panel/with-applets.nix @@ -0,0 +1,61 @@ +{ stdenv +, lib +, glib +, wrapGAppsHook +, xorg +, marco +, mate-panel +, panelApplets +, applets ? [ ] +, useDefaultApplets ? true +}: + +let + selectedApplets = applets ++ (lib.optionals useDefaultApplets panelApplets); +in +stdenv.mkDerivation { + pname = "${mate-panel.pname}-with-applets"; + version = mate-panel.version; + + src = null; + + paths = [ mate-panel ] ++ selectedApplets; + passAsFile = [ "paths" ]; + + nativeBuildInputs = [ + glib + wrapGAppsHook + ]; + + buildInputs = lib.forEach selectedApplets (x: x.buildInputs) ++ selectedApplets + ++ [ mate-panel ] ++ mate-panel.buildInputs ++ mate-panel.propagatedBuildInputs; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + preferLocalBuild = true; + allowSubstitutes = false; + + installPhase = '' + runHook preInstall + + mkdir -p $out + for i in $(cat $pathsPath); do + ${xorg.lndir}/bin/lndir -silent $i $out + done + + runHook postInstall + ''; + + preFixup = '' + gappsWrapperArgs+=( + --set MATE_PANEL_APPLETS_DIR "$out/share/mate-panel/applets" + --set MATE_PANEL_EXTRA_MODULES "$out/lib/mate-panel/applets" + # Workspace switcher settings + --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath marco}" + ) + ''; + + inherit (mate-panel.meta); +} From a323f4f82848dd5e62dd2afdc8135aff8dbb26cc Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Feb 2024 22:44:24 +0800 Subject: [PATCH 27/48] mate: Install mate-panel-with-applets by default --- nixos/modules/services/x11/desktop-managers/mate.nix | 4 ---- pkgs/desktops/mate/default.nix | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index 89008f0124da..2eec827e2585 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -37,10 +37,6 @@ in pkgs.mate.mate-session-manager ]; - # Let mate-panel find applets - environment.sessionVariables."MATE_PANEL_APPLETS_DIR" = "${config.system.path}/share/mate-panel/applets"; - environment.sessionVariables."MATE_PANEL_EXTRA_MODULES" = "${config.system.path}/lib/mate-panel/applets"; - # Debugging environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1"; diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 7c65e36d13db..2216709f1662 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -66,7 +66,7 @@ let mate-icon-theme mate-menus mate-notification-daemon - mate-panel + mate-panel-with-applets mate-polkit mate-session-manager mate-settings-daemon From 655e1ac964d0effc4e8fed737ea83e8c8395ebfb Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 20 Feb 2024 12:05:48 +0000 Subject: [PATCH 28/48] mate.mate-power-manager: 1.26.1 -> 1.28.1 https://github.com/mate-desktop/mate-power-manager/compare/v1.26.1...v1.28.1 --- pkgs/desktops/mate/mate-power-manager/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix index 1bf511d5073f..1eaff61fc1b2 100644 --- a/pkgs/desktops/mate/mate-power-manager/default.nix +++ b/pkgs/desktops/mate/mate-power-manager/default.nix @@ -6,6 +6,7 @@ , glib , itstool , libxml2 +, mate-desktop , mate-panel , libnotify , libcanberra-gtk3 @@ -21,11 +22,11 @@ stdenv.mkDerivation rec { pname = "mate-power-manager"; - version = "1.26.1"; + version = "1.28.1"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "IM2dIu0Eur+Yu1DnGg7F14qKR2KHcjJ4+H2nbKv7EEI="; + sha256 = "jr3LdLYH6Ggza6moFGze+Pl7zlNcKwyzv2UMWPce7iE="; }; nativeBuildInputs = [ @@ -46,6 +47,7 @@ stdenv.mkDerivation rec { dbus-glib upower polkit + mate-desktop mate-panel ]; From 650cbb520abf862cbdebd0bee6b106dd186c6ece Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:39:21 +0000 Subject: [PATCH 29/48] mate.atril: 1.26.2 -> 1.28.0 https://github.com/mate-desktop/atril/compare/v1.26.2...v1.28.0 --- pkgs/desktops/mate/atril/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix index 29c0e1b824e9..611721da3642 100644 --- a/pkgs/desktops/mate/atril/default.nix +++ b/pkgs/desktops/mate/atril/default.nix @@ -3,16 +3,17 @@ , fetchurl , pkg-config , gettext +, caja , gtk3 , glib , libxml2 , libarchive , libsecret , poppler +, mate-desktop , itstool , hicolor-icon-theme , texlive -, mate , wrapGAppsHook , enableEpub ? true , webkitgtk_4_1 @@ -28,11 +29,11 @@ stdenv.mkDerivation rec { pname = "atril"; - version = "1.26.2"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "wwW51fVxP0Jiau4DggkTA0IrPXGlbd1lkyzNsjx86SY="; + sha256 = "ztRyX26bccTqY2dr/DzDvgnSnboIqnp6uXlk4LQ1UWI="; }; nativeBuildInputs = [ @@ -42,6 +43,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + caja gtk3 glib itstool @@ -49,8 +51,7 @@ stdenv.mkDerivation rec { libsecret libxml2 poppler - mate.caja - mate.mate-desktop + mate-desktop hicolor-icon-theme texlive.bin.core # for synctex, used by the pdf back-end ] From 39efd9dbbc960ce8102f5aa0cd3b9966696d4528 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:41:28 +0000 Subject: [PATCH 30/48] mate.caja-extensions: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/caja-extensions/compare/v1.26.1...v1.28.0 Also removes hardcode-gsettings.patch: * caja-with-extensions should handle this fine. * We don't set CAJA_EXTENSION_DIR using sessionVariables now. --- .../desktops/mate/caja-extensions/default.nix | 36 ++-- .../caja-extensions/hardcode-gsettings.patch | 169 ------------------ 2 files changed, 13 insertions(+), 192 deletions(-) delete mode 100644 pkgs/desktops/mate/caja-extensions/hardcode-gsettings.patch diff --git a/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix index 1cbbd97cc484..a73b892c5649 100644 --- a/pkgs/desktops/mate/caja-extensions/default.nix +++ b/pkgs/desktops/mate/caja-extensions/default.nix @@ -3,23 +3,24 @@ , fetchurl , pkg-config , gettext +, caja +, glib +, gst_all_1 , gtk3 , gupnp -, mate , imagemagick +, mate-desktop , wrapGAppsHook , mateUpdateScript -, glib -, substituteAll }: stdenv.mkDerivation rec { pname = "caja-extensions"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "WJwZ4/oQJC1iOaXMuVhVmENqVuvpTS6ypQtZUMzh1SA="; + sha256 = "0phsXgdAg1/icc+9WCPu6vAyka8XYyA/RwCruBCeMXU="; }; nativeBuildInputs = [ @@ -29,31 +30,20 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + caja + glib + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gtk3 gupnp - mate.caja - mate.mate-desktop imagemagick - ]; - - patches = [ - (substituteAll { - src = ./hardcode-gsettings.patch; - caja_gsetttings_path = glib.getSchemaPath mate.caja; - desktop_gsetttings_path = glib.getSchemaPath mate.mate-desktop; - }) + mate-desktop ]; postPatch = '' - substituteInPlace open-terminal/caja-open-terminal.c --subst-var-by \ - GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} - substituteInPlace sendto/caja-sendto-command.c --subst-var-by \ - GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} - substituteInPlace wallpaper/caja-wallpaper-extension.c --subst-var-by \ - GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} - for f in image-converter/caja-image-{resizer,rotator}.c; do - substituteInPlace $f --replace "/usr/bin/convert" "${imagemagick}/bin/convert" + substituteInPlace $f --replace-fail 'argv[0] = "convert"' 'argv[0] = "${imagemagick}/bin/convert"' done ''; diff --git a/pkgs/desktops/mate/caja-extensions/hardcode-gsettings.patch b/pkgs/desktops/mate/caja-extensions/hardcode-gsettings.patch deleted file mode 100644 index f37124963d0d..000000000000 --- a/pkgs/desktops/mate/caja-extensions/hardcode-gsettings.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git a/open-terminal/caja-open-terminal.c b/open-terminal/caja-open-terminal.c -index e14a9bf..691afab 100644 ---- a/open-terminal/caja-open-terminal.c -+++ b/open-terminal/caja-open-terminal.c -@@ -135,8 +135,18 @@ desktop_opens_home_dir (void) - { - gboolean result; - GSettings* settings; -- -- settings = g_settings_new (COT_SCHEMA); -+ GSettingsSchemaSource* schema_source; -+ GSettingsSchema* schema; -+ -+ schema_source = g_settings_schema_source_new_from_directory("@GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ COT_SCHEMA, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - result = g_settings_get_boolean (settings, COT_DESKTOP_KEY); - g_object_unref (settings); - return result; -@@ -147,8 +157,18 @@ set_desktop_opens_home_dir (gboolean val) - { - gboolean result; - GSettings* settings; -- -- settings = g_settings_new (COT_SCHEMA); -+ GSettingsSchemaSource* schema_source; -+ GSettingsSchema* schema; -+ -+ schema_source = g_settings_schema_source_new_from_directory("@GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ COT_SCHEMA, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - result = g_settings_set_boolean (settings, COT_DESKTOP_KEY, val); - g_object_unref (settings); - return result; -@@ -159,8 +179,18 @@ desktop_is_home_dir (void) - { - gboolean result; - GSettings* settings; -- -- settings = g_settings_new (CAJA_SCHEMA); -+ GSettingsSchemaSource* schema_source; -+ GSettingsSchema* schema; -+ -+ schema_source = g_settings_schema_source_new_from_directory("@caja_gsetttings_path@", -+ g_settings_schema_source_get_default(), -+ TRUE, NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ CAJA_SCHEMA, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - result = g_settings_get_boolean (settings, CAJA_DESKTOP_KEY); - g_object_unref (settings); - return result; -@@ -171,8 +201,18 @@ default_terminal_application (void) - { - gchar *result; - GSettings* settings; -- -- settings = g_settings_new (TERM_SCHEMA); -+ GSettingsSchemaSource* schema_source; -+ GSettingsSchema* schema; -+ -+ schema_source = g_settings_schema_source_new_from_directory("@desktop_gsetttings_path@", -+ g_settings_schema_source_get_default(), -+ TRUE, NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ TERM_SCHEMA, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - result = g_settings_get_string (settings, TERM_EXEC_KEY); - g_object_unref (settings); - -@@ -189,8 +229,18 @@ set_default_terminal_application (const gchar* exec) - { - gboolean result; - GSettings* settings; -- -- settings = g_settings_new (TERM_SCHEMA); -+ GSettingsSchemaSource* schema_source; -+ GSettingsSchema* schema; -+ -+ schema_source = g_settings_schema_source_new_from_directory("@desktop_gsetttings_path@", -+ g_settings_schema_source_get_default(), -+ TRUE, NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ TERM_SCHEMA, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - result = g_settings_set_string (settings, TERM_EXEC_KEY, exec); - g_object_unref (settings); - return result; -diff --git a/sendto/caja-sendto-command.c b/sendto/caja-sendto-command.c -index 8181db6..579dc81 100644 ---- a/sendto/caja-sendto-command.c -+++ b/sendto/caja-sendto-command.c -@@ -801,6 +801,8 @@ caja_sendto_init (void) - int main (int argc, char **argv) - { - GOptionContext *context; -+ GSettingsSchemaSource* schema_source; -+ GSettingsSchema* schema; - GError *error = NULL; - - #ifdef ENABLE_NLS -@@ -818,7 +820,15 @@ int main (int argc, char **argv) - return 1; - } - -- settings = g_settings_new ("org.mate.Caja.Sendto"); -+ schema_source = g_settings_schema_source_new_from_directory("@GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.mate.Caja.Sendto", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - caja_sendto_init (); - if (caja_sendto_plugin_init () == FALSE) { - GtkWidget *error_dialog; -diff --git a/wallpaper/caja-wallpaper-extension.c b/wallpaper/caja-wallpaper-extension.c -index 3119e9f..4f80c88 100644 ---- a/wallpaper/caja-wallpaper-extension.c -+++ b/wallpaper/caja-wallpaper-extension.c -@@ -47,6 +47,8 @@ set_wallpaper_callback (CajaMenuItem *item, - { - GList *files; - GSettings *settings; -+ GSettingsSchemaSource* schema_source; -+ GSettingsSchema* schema; - CajaFileInfo *file; - gchar *uri; - gchar *filename; -@@ -57,7 +59,15 @@ set_wallpaper_callback (CajaMenuItem *item, - uri = caja_file_info_get_uri (file); - filename = g_filename_from_uri(uri, NULL, NULL); - -- settings = g_settings_new (WP_SCHEMA); -+ schema_source = g_settings_schema_source_new_from_directory("@desktop_gsetttings_path@", -+ g_settings_schema_source_get_default(), -+ TRUE, NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ WP_SCHEMA, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - - g_settings_set_string (settings, WP_FILE_KEY, filename); - From a5cfc1a78ce8095fa74402e852533b2ed6176686 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:42:37 +0000 Subject: [PATCH 31/48] mate.caja-dropbox: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/caja-dropbox/compare/v1.26.0...v1.28.0 --- pkgs/desktops/mate/caja-dropbox/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/mate/caja-dropbox/default.nix b/pkgs/desktops/mate/caja-dropbox/default.nix index bb19521e835c..7841d0769a36 100644 --- a/pkgs/desktops/mate/caja-dropbox/default.nix +++ b/pkgs/desktops/mate/caja-dropbox/default.nix @@ -5,8 +5,8 @@ , pkg-config , gobject-introspection , gdk-pixbuf +, caja , gtk3 -, mate , python3 , dropbox , mateUpdateScript @@ -17,11 +17,11 @@ let in stdenv.mkDerivation rec { pname = "caja-dropbox"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "16w4r0zjps12lmzwiwpb9qnmbvd0p391q97296sxa8k88b1x14wn"; + sha256 = "t0w4qZQlS9PPfLxxK8LsdRagypQqpleFJs29aqYgGWM="; }; patches = [ @@ -44,8 +44,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + caja gtk3 - mate.caja python3 ]; From ff1c608c723b4f5b8de8808eab3beb3dbedf5987 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:45:08 +0000 Subject: [PATCH 32/48] mate.engrampa: 1.26.2 -> 1.28.1 https://github.com/mate-desktop/engrampa/compare/v1.26.2...v1.28.1 Also enables JSON support. --- pkgs/desktops/mate/engrampa/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix index 8ed6f37fc4d6..d8ec65de6b9d 100644 --- a/pkgs/desktops/mate/engrampa/default.nix +++ b/pkgs/desktops/mate/engrampa/default.nix @@ -5,22 +5,24 @@ , gettext , itstool , libxml2 +, caja , gtk3 -, mate , hicolor-icon-theme +, json-glib +, mate-desktop , wrapGAppsHook , mateUpdateScript -# can be defaulted to true once engrampa builds with meson (version > 1.27.0) +# can be defaulted to true once switch to meson , withMagic ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, file }: stdenv.mkDerivation rec { pname = "engrampa"; - version = "1.26.2"; + version = "1.28.1"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "cx9cR7UfNvyMiWUrbnfbT7K0Zjid6ZkMmFUpo9T/iEw="; + sha256 = "nFxMm8+LCO6qjydVONJLTJVQidWK7AMx6JwCuE2FOGo="; }; nativeBuildInputs = [ @@ -32,10 +34,11 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + caja gtk3 - mate.caja hicolor-icon-theme - mate.mate-desktop + json-glib + mate-desktop ] ++ lib.optionals withMagic [ file ]; From 0f013ace32bfc5de14d43c1993dcfdbb981c4c7e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:47:10 +0000 Subject: [PATCH 33/48] mate.mate-applets: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/mate-applets/compare/v1.26.1...v1.28.0 --- pkgs/desktops/mate/mate-applets/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix index dfb4e4620c51..3e20dc74da43 100644 --- a/pkgs/desktops/mate/mate-applets/default.nix +++ b/pkgs/desktops/mate/mate-applets/default.nix @@ -7,7 +7,7 @@ , dbus-glib , glib , gtk3 -, gtksourceview3 +, gtksourceview4 , gucharmap , libmateweather , libnl @@ -20,7 +20,6 @@ , polkit , upower , wirelesstools -, mate , hicolor-icon-theme , wrapGAppsHook , mateUpdateScript @@ -28,11 +27,11 @@ stdenv.mkDerivation rec { pname = "mate-applets"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "Orj2HbN23DM85MGHIsY6B/qz6OEnK34OCXrUWXsXwsI="; + sha256 = "G2vva9XTJvudyCj/kQ5LG5KUtGYMMR3ByQMQ/Zw1ZoY="; }; nativeBuildInputs = [ @@ -45,7 +44,7 @@ stdenv.mkDerivation rec { buildInputs = [ dbus-glib gtk3 - gtksourceview3 + gtksourceview4 gucharmap hicolor-icon-theme libgtop @@ -61,7 +60,7 @@ stdenv.mkDerivation rec { wirelesstools ]; - configureFlags = [ "--enable-suid=no" ]; + configureFlags = [ "--enable-suid=no" "--enable-in-process" ]; env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; From e387798ed43d68c369c444b9807741d132378f1b Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:48:18 +0000 Subject: [PATCH 34/48] mate.mate-screensaver: 1.26.2 -> 1.28.0 https://github.com/mate-desktop/mate-screensaver/compare/v1.26.2...v1.28.0 --- pkgs/desktops/mate/mate-screensaver/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/mate/mate-screensaver/default.nix b/pkgs/desktops/mate/mate-screensaver/default.nix index 37cf461b78a5..2d2c9bfaf952 100644 --- a/pkgs/desktops/mate/mate-screensaver/default.nix +++ b/pkgs/desktops/mate/mate-screensaver/default.nix @@ -8,20 +8,22 @@ , libXScrnSaver , libnotify , libxml2 +, mate-desktop +, mate-menus +, mate-panel , pam , systemd -, mate , wrapGAppsHook , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-screensaver"; - version = "1.26.2"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "2pcAziQUW9VdJJJ+7P5tMdClLq6G5WOyxlBUs1al/34="; + sha256 = "ag8kqPhKL5XhARSrU+Y/1KymiKVf3FA+1lDgpBDj6nA="; }; nativeBuildInputs = [ @@ -36,11 +38,11 @@ stdenv.mkDerivation rec { dbus-glib libXScrnSaver libnotify + mate-desktop + mate-menus + mate-panel pam systemd - mate.mate-desktop - mate.mate-menus - mate.mate-panel ]; configureFlags = [ "--without-console-kit" ]; From 2e4ba3d1c081d9da6a1d10a805cfbd6ee02695d5 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:52:24 +0000 Subject: [PATCH 35/48] mate.mate-sensors-applet: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/mate-sensors-applet/compare/v1.26.0...v1.28.0 Note that this no longer provides any executable after we enable in-process. --- pkgs/desktops/mate/default.nix | 1 - pkgs/desktops/mate/mate-sensors-applet/default.nix | 13 ++++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 2216709f1662..18c019cf3f99 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -87,7 +87,6 @@ let mate-netbook mate-power-manager mate-screensaver - mate-sensors-applet mate-system-monitor mate-terminal mate-user-guide diff --git a/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix index 7c5988e34503..88fc966edb56 100644 --- a/pkgs/desktops/mate/mate-sensors-applet/default.nix +++ b/pkgs/desktops/mate/mate-sensors-applet/default.nix @@ -10,29 +10,26 @@ , libatasmart , libnotify , lm_sensors -, mate +, mate-panel , hicolor-icon-theme -, wrapGAppsHook , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-sensors-applet"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0s19r30fsicqvvcnz57lv158pi35w9zn5i7h5hz59224y0zpqhsc"; + sha256 = "1GU2ZoKvj+uGGCg8l4notw22/RfKj6lQrG9xAQIxWoE="; }; nativeBuildInputs = [ pkg-config gettext itstool - wrapGAppsHook ]; - # maybe add nvidia-settings later on buildInputs = [ gtk3 libxml2 @@ -40,10 +37,12 @@ stdenv.mkDerivation rec { libatasmart libnotify lm_sensors - mate.mate-panel + mate-panel hicolor-icon-theme ]; + configureFlags = [ "--enable-in-process" ]; + enableParallelBuilding = true; passthru.updateScript = mateUpdateScript { inherit pname; }; From 540493afb99f8e530b1f599606f965485373641d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 22 Feb 2024 12:53:35 +0000 Subject: [PATCH 36/48] mate.mate-utils: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/mate-utils/compare/v1.26.1...v1.28.0 --- pkgs/desktops/mate/mate-utils/default.nix | 36 +++++++++++++---------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/pkgs/desktops/mate/mate-utils/default.nix b/pkgs/desktops/mate/mate-utils/default.nix index cfe24a4888a0..35ce76d7c0fa 100644 --- a/pkgs/desktops/mate/mate-utils/default.nix +++ b/pkgs/desktops/mate/mate-utils/default.nix @@ -1,43 +1,34 @@ { lib , stdenv , fetchurl -, fetchpatch , pkg-config , gettext , itstool , glib +, gtk-layer-shell , gtk3 , libxml2 , libgtop , libcanberra-gtk3 , inkscape , udisks2 -, mate +, mate-desktop +, mate-panel , hicolor-icon-theme +, wayland , wrapGAppsHook , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-utils"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "L1NHWxoJkd1ak9ndpY/KTkFvJZJTWG2UpbEQjxI3BiA="; + sha256 = "WESdeg0dkA/wO3jKn36Ywh6X9H/Ca+5/8cYYNPIviNM="; }; - patches = [ - # Hopefully helps "libxml2.treeError: xmlSetProp() failed" - # This patch is not part of upstream yet. - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919058 - # https://github.com/mate-desktop/mate-utils/issues/210 - (fetchpatch { - url = "https://salsa.debian.org/debian-mate-team/mate-utils/-/raw/2b43d78f3fdbf0aa50716b62bcada2ef015957c6/debian/patches/1001_fix-gsearchtool-pt-help-translation.patch"; - sha256 = "SZVpdup/bNv+3hEGQ0L13mgXyNm+wRcL53t9/Oi24wA="; - }) - ]; - nativeBuildInputs = [ pkg-config gettext @@ -47,15 +38,28 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + gtk-layer-shell gtk3 libgtop libcanberra-gtk3 libxml2 udisks2 - mate.mate-panel + mate-desktop + mate-panel hicolor-icon-theme + wayland ]; + postPatch = '' + # Workaround undefined version requirements + # https://github.com/mate-desktop/mate-utils/issues/361 + substituteInPlace configure \ + --replace-fail '>= $GTK_LAYER_SHELL_REQUIRED_VERSION' "" \ + --replace-fail '>= $GDK_WAYLAND_REQUIRED_VERSION' "" + ''; + + configureFlags = [ "--enable-wayland" ]; + env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; From c135aee3f94cd3338bdf25f122b9a49423479c74 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Feb 2024 18:27:17 +0800 Subject: [PATCH 37/48] mate.python-caja: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/python-caja/compare/v1.26.0...v1.28.0 --- pkgs/desktops/mate/python-caja/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/mate/python-caja/default.nix b/pkgs/desktops/mate/python-caja/default.nix index b9c58d8d9268..7f668cdde996 100644 --- a/pkgs/desktops/mate/python-caja/default.nix +++ b/pkgs/desktops/mate/python-caja/default.nix @@ -3,19 +3,19 @@ , fetchurl , pkg-config , gettext +, caja , gtk3 -, mate , python3Packages , mateUpdateScript }: stdenv.mkDerivation rec { pname = "python-caja"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "181zcs1pi3762chm4xraqs8048jm7jzwnvgwla1v3z2nqzpp3xr1"; + sha256 = "sFbCOdvf4z7QzIQx+zUAqTj3h7Weh19f+TV4umb2gNY="; }; nativeBuildInputs = [ @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + caja gtk3 - mate.caja python3Packages.python python3Packages.pygobject3 ]; From 5ffcbc046ba3469eb215b6e45d4704c6f40e5202 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Feb 2024 20:29:21 +0800 Subject: [PATCH 38/48] mate.mate-control-center: 1.26.1 -> 1.28.0 https://github.com/mate-desktop/mate-control-center/compare/v1.26.1...v1.28.0 --- .../mate/mate-control-center/default.nix | 45 +++++++++++++------ 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix index 8e2e3ea621c2..8305601204e2 100644 --- a/pkgs/desktops/mate/mate-control-center/default.nix +++ b/pkgs/desktops/mate/mate-control-center/default.nix @@ -5,17 +5,27 @@ , gettext , itstool , libxml2 +, accountsservice +, caja , dbus-glib , libxklavier , libcanberra-gtk3 +, libgtop +, libmatekbd , librsvg -, libappindicator-gtk3 +, libayatana-appindicator , glib , desktop-file-utils , dconf , gtk3 , polkit -, mate +, marco +, mate-desktop +, mate-menus +, mate-panel +, mate-settings-daemon +, udisks2 +, systemd , hicolor-icon-theme , wrapGAppsHook , mateUpdateScript @@ -23,11 +33,11 @@ stdenv.mkDerivation rec { pname = "mate-control-center"; - version = "1.26.1"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "4F9JKjtleqVvxY989xvIyA344lNR/eTbT1I6uNtbVgg="; + sha256 = "6/LHBP1SSNwvmDb/KQKIae8p1QVJB8xhVzS2ODp5FLw="; }; nativeBuildInputs = [ @@ -39,32 +49,41 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + accountsservice libxml2 dbus-glib libxklavier libcanberra-gtk3 + libgtop + libmatekbd librsvg - libappindicator-gtk3 + libayatana-appindicator gtk3 dconf polkit hicolor-icon-theme - mate.mate-desktop - mate.libmatekbd - mate.mate-menus - mate.mate-panel # for org.mate.panel schema, see m-c-c#678 - mate.marco - mate.mate-settings-daemon + marco + mate-desktop + mate-menus + mate-panel # for org.mate.panel schema, see m-c-c#678 + mate-settings-daemon + udisks2 + systemd ]; + postPatch = '' + substituteInPlace capplets/system-info/mate-system-info.c \ + --replace-fail "/usr/bin/mate-about" "${mate-desktop}/bin/mate-about" + ''; + configureFlags = [ "--disable-update-mimedb" ]; preFixup = '' gappsWrapperArgs+=( # WM keyboard shortcuts - --prefix XDG_DATA_DIRS : "${mate.marco}/share" + --prefix XDG_DATA_DIRS : "${marco}/share" # Desktop font, works only when passed after gtk3 schemas in the wrapper for some reason - --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath mate.caja}" + --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath caja}" ) ''; From 5c5df850027b657f9f82daadf5ffc9c8a24fb083 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Feb 2024 12:31:13 +0000 Subject: [PATCH 39/48] mate.mate-indicator-applet: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/mate-indicator-applet/compare/v1.26.0...v1.28.0 --- pkgs/desktops/mate/mate-indicator-applet/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/mate/mate-indicator-applet/default.nix b/pkgs/desktops/mate/mate-indicator-applet/default.nix index b6445151f594..0a915625958b 100644 --- a/pkgs/desktops/mate/mate-indicator-applet/default.nix +++ b/pkgs/desktops/mate/mate-indicator-applet/default.nix @@ -5,7 +5,7 @@ , gettext , gtk3 , libayatana-indicator -, mate +, mate-panel , hicolor-icon-theme , wrapGAppsHook , mateUpdateScript @@ -13,17 +13,17 @@ stdenv.mkDerivation rec { pname = "mate-indicator-applet"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "144fh9f3lag2cqnmb6zxlh8k83ya8kha6rmd7r8gg3z5w3nzpyz4"; + sha256 = "zrPXA5cKPlWNfNffCxwhceOvdSolSVrO0uIiwemtSc0="; }; postPatch = '' # Find installed Unity & Ayatana (new-style) indicators substituteInPlace src/applet-main.c \ - --replace '/usr/share' '/run/current-system/sw/share' + --replace-fail '/usr/share' '/run/current-system/sw/share' ''; nativeBuildInputs = [ @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 libayatana-indicator - mate.mate-panel + mate-panel hicolor-icon-theme ]; From 9e31001c4b6f77eef7697267c50ef8639462ca73 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Feb 2024 12:34:50 +0000 Subject: [PATCH 40/48] mate.mate-user-share: 1.26.0 -> 1.28.0 https://github.com/mate-desktop/mate-user-share/compare/v1.26.0...v1.28.0 --- pkgs/desktops/mate/mate-user-share/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/mate/mate-user-share/default.nix b/pkgs/desktops/mate/mate-user-share/default.nix index 84204e3e34be..3e33e4fd47a4 100644 --- a/pkgs/desktops/mate/mate-user-share/default.nix +++ b/pkgs/desktops/mate/mate-user-share/default.nix @@ -5,6 +5,7 @@ , gettext , itstool , gtk3 +, caja , dbus-glib , libnotify , libxml2 @@ -21,11 +22,11 @@ let in stdenv.mkDerivation rec { pname = "mate-user-share"; - version = "1.26.0"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1wh0b4qw5wzpl7sg44lpwjb9r6xllch3xfz8c2cchl8rcgbh2kph"; + sha256 = "iYVgmZkXllE0jkl+8I81C4YIG5expKcwQHfurlc5rjg="; }; nativeBuildInputs = [ @@ -38,10 +39,10 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 + caja dbus-glib libnotify libcanberra-gtk3 - mate.caja hicolor-icon-theme # Should mod_dnssd and apacheHttpd be runtime dependencies? # In gnome-user-share they are not. From b45faa98347c82d4744d578e34bb72949322c97d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 13 Mar 2024 21:29:43 +0800 Subject: [PATCH 41/48] nixos/mate: Add extraPanelApplets, extraCajaExtensions option Hopefully this is more user-friendly. --- .../services/x11/desktop-managers/mate.nix | 20 +++++++++++++++++++ pkgs/desktops/mate/default.nix | 3 +-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index 2eec827e2585..0aa96143994d 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -20,6 +20,20 @@ in }; debug = mkEnableOption (lib.mdDoc "mate-session debug messages"); + + extraPanelApplets = mkOption { + default = [ ]; + example = literalExpression "with pkgs.mate; [ mate-applets ]"; + type = types.listOf types.package; + description = lib.mdDoc "Extra applets to add to mate-panel."; + }; + + extraCajaExtensions = mkOption { + default = [ ]; + example = lib.literalExpression "with pkgs.mate; [ caja-extensions ]"; + type = types.listOf types.package; + description = lib.mdDoc "Extra extensions to add to caja."; + }; }; environment.mate.excludePackages = mkOption { @@ -44,6 +58,12 @@ in (pkgs.mate.basePackages ++ pkgs.mate.extraPackages ++ [ + (pkgs.mate.caja-with-extensions.override { + extensions = cfg.extraCajaExtensions; + }) + (pkgs.mate.mate-panel-with-applets.override { + applets = cfg.extraPanelApplets; + }) pkgs.desktop-file-utils pkgs.glib pkgs.gtk3.out diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 18c019cf3f99..219d9d3648a9 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -54,8 +54,8 @@ let pluma = callPackage ./pluma { }; python-caja = callPackage ./python-caja { }; + # Caja and mate-panel are managed in NixOS module. basePackages = [ - caja-with-extensions libmatekbd libmatemixer libmateweather @@ -66,7 +66,6 @@ let mate-icon-theme mate-menus mate-notification-daemon - mate-panel-with-applets mate-polkit mate-session-manager mate-settings-daemon From 148aa398b78a88ec6f4cd871907c9513b63146c6 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 25 Feb 2024 10:55:45 +0800 Subject: [PATCH 42/48] wayfirePlugins.firedecor: init at 2023-10-23 mntmn/Firedecor is the fork used for Debian packaging. --- .../window-managers/wayfire/firedecor.nix | 73 +++++++++++++++++++ .../window-managers/wayfire/plugins.nix | 1 + 2 files changed, 74 insertions(+) create mode 100644 pkgs/applications/window-managers/wayfire/firedecor.nix diff --git a/pkgs/applications/window-managers/wayfire/firedecor.nix b/pkgs/applications/window-managers/wayfire/firedecor.nix new file mode 100644 index 000000000000..ce42f6fc6886 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/firedecor.nix @@ -0,0 +1,73 @@ +{ stdenv +, lib +, fetchFromGitHub +, meson +, ninja +, pkg-config +, boost +, cairo +, glib +, libGL +, libinput +, librsvg +, libxkbcommon +, pango +, udev +, wayfire +, wayland +, wf-config +, xcbutilwm +, mate +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "firedecor"; + version = "2023-10-23"; + + src = fetchFromGitHub { + owner = "mntmn"; + repo = "Firedecor"; + rev = finalAttrs.version; + hash = "sha256-7or8HkmIZnLpXEZzUhJ3u8SIPfIQFgn32Ju/5OzK06Y="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + boost + cairo + glib + libGL + libinput + librsvg + libxkbcommon + pango + udev + wayfire + wayland + wf-config + xcbutilwm + ]; + + postPatch = '' + substituteInPlace src/firedecor-theme.cpp \ + --replace-fail "/usr/share" "/run/current-system/sw/share" + ''; + + env = { + PKG_CONFIG_WAYFIRE_PLUGINDIR = "${placeholder "out"}/lib/wayfire"; + PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata"; + }; + + meta = with lib; { + homepage = "https://github.com/mntmn/Firedecor"; + description = "Advanced window decoration plugin for the Wayfire window manager"; + license = licenses.mit; + inherit (mate.mate-wayland-session.meta) maintainers; + inherit (wayfire.meta) platforms; + }; +}) diff --git a/pkgs/applications/window-managers/wayfire/plugins.nix b/pkgs/applications/window-managers/wayfire/plugins.nix index 86f522cdd68d..b8af85aafd0d 100644 --- a/pkgs/applications/window-managers/wayfire/plugins.nix +++ b/pkgs/applications/window-managers/wayfire/plugins.nix @@ -4,6 +4,7 @@ lib.makeScope pkgs.newScope (self: let inherit (self) callPackage; in { + firedecor = callPackage ./firedecor.nix { }; wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { }; wcm = callPackage ./wcm.nix { }; wf-shell = callPackage ./wf-shell.nix { }; From 6865836c3def7d19993a7242bef2ed23ace21926 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 25 Feb 2024 11:08:57 +0800 Subject: [PATCH 43/48] mate.mate-wayland-session: init at 1.28.3 --- pkgs/desktops/mate/default.nix | 1 + .../mate/mate-wayland-session/default.nix | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 pkgs/desktops/mate/mate-wayland-session/default.nix diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 219d9d3648a9..79d929907f05 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -50,6 +50,7 @@ let mate-user-guide = callPackage ./mate-user-guide { }; mate-user-share = callPackage ./mate-user-share { }; mate-utils = callPackage ./mate-utils { }; + mate-wayland-session = callPackage ./mate-wayland-session { }; mozo = callPackage ./mozo { }; pluma = callPackage ./pluma { }; python-caja = callPackage ./python-caja { }; diff --git a/pkgs/desktops/mate/mate-wayland-session/default.nix b/pkgs/desktops/mate/mate-wayland-session/default.nix new file mode 100644 index 000000000000..b803caa7048f --- /dev/null +++ b/pkgs/desktops/mate/mate-wayland-session/default.nix @@ -0,0 +1,58 @@ +{ stdenvNoCC +, lib +, fetchFromGitHub +, meson +, ninja +, glib +, mate-polkit +, mate-notification-daemon +, wayfire +, wayfirePlugins +, gitUpdater +}: + +stdenvNoCC.mkDerivation rec { + pname = "mate-wayland-session"; + version = "1.28.3"; + + src = fetchFromGitHub { + owner = "mate-desktop"; + repo = "mate-wayland-session"; + rev = "v${version}"; + hash = "sha256-sUAq2BylsvjYn8Lt+nm4yIfVhzIEefxKZYnhJnuxjs0="; + }; + + nativeBuildInputs = [ + meson + ninja + glib + ]; + + postPatch = '' + substituteInPlace session/mate-wayland-components.sh \ + --replace-fail "polkit-mate-authentication-agent-1" "${mate-polkit}/libexec/polkit-mate-authentication-agent-1" \ + --replace-fail "mate-notification-daemon" "${mate-notification-daemon}/libexec/mate-notification-daemon" \ + --replace-fail "cat /usr/bin/blueman-applet" "command -v blueman-applet" \ + --replace-fail "cat /usr/bin/gnome-keyring-daemon" "command -v gnome-keyring-daemon" + + # Ensure wayfire.ini is writable, as this script tries to modify it later. + substituteInPlace session/mate-wayland.sh \ + --replace-fail "cp /usr/share/doc/wayfire/examples/wayfire.ini" "cp --no-preserve=mode,ownership ${wayfire.src}/wayfire.ini" \ + --replace-fail "/usr/share/doc/wayfire/examples/wayfire.ini" "${wayfire.src}/wayfire.ini" \ + --replace-fail "/usr/lib/x86_64-linux-gnu/wayfire/libfiredecor.so" "${wayfirePlugins.firedecor}/lib/wayfire/libfiredecor.so" \ + --replace-fail "/usr/share/doc/firedecor/firedecor.config" "$out/share/doc/firedecor/firedecor.config" + ''; + + passthru = { + providedSessions = [ "MATE" ]; + updateScript = gitUpdater { rev-prefix = "v"; }; + }; + + meta = with lib; { + description = "Wayland session using Wayfire for the MATE desktop"; + homepage = "https://mate-desktop.org"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = teams.mate.members; + }; +} From 398cce395cc4d41864c6ddbd7ec4b0226b1e25bd Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 25 Feb 2024 11:23:10 +0800 Subject: [PATCH 44/48] nixos/mate: Add enableWaylandSession option Make this an opt-in for now since the session is in early stage and introduces a new set of wayfire closure. --- .../services/x11/desktop-managers/mate.nix | 91 +++++++++++-------- 1 file changed, 51 insertions(+), 40 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index 0aa96143994d..957eac7848e7 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -34,6 +34,8 @@ in type = types.listOf types.package; description = lib.mdDoc "Extra extensions to add to caja."; }; + + enableWaylandSession = mkEnableOption (lib.mdDoc "MATE Wayland session"); }; environment.mate.excludePackages = mkOption { @@ -45,54 +47,63 @@ in }; - config = mkIf cfg.enable { + config = mkMerge [ + (mkIf (cfg.enable || cfg.enableWaylandSession) { + services.xserver.displayManager.sessionPackages = [ + pkgs.mate.mate-session-manager + ]; - services.xserver.displayManager.sessionPackages = [ - pkgs.mate.mate-session-manager - ]; + # Debugging + environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1"; - # Debugging - environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1"; + environment.systemPackages = utils.removePackagesByName + (pkgs.mate.basePackages ++ + pkgs.mate.extraPackages ++ + [ + (pkgs.mate.caja-with-extensions.override { + extensions = cfg.extraCajaExtensions; + }) + (pkgs.mate.mate-panel-with-applets.override { + applets = cfg.extraPanelApplets; + }) + pkgs.desktop-file-utils + pkgs.glib + pkgs.gtk3.out + pkgs.shared-mime-info + pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ + pkgs.yelp # for 'Contents' in 'Help' menus + ]) + config.environment.mate.excludePackages; - environment.systemPackages = utils.removePackagesByName - (pkgs.mate.basePackages ++ - pkgs.mate.extraPackages ++ - [ - (pkgs.mate.caja-with-extensions.override { - extensions = cfg.extraCajaExtensions; - }) - (pkgs.mate.mate-panel-with-applets.override { - applets = cfg.extraPanelApplets; - }) - pkgs.desktop-file-utils - pkgs.glib - pkgs.gtk3.out - pkgs.shared-mime-info - pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ - pkgs.yelp # for 'Contents' in 'Help' menus - ]) - config.environment.mate.excludePackages; + programs.dconf.enable = true; + # Shell integration for VTE terminals + programs.bash.vteIntegration = mkDefault true; + programs.zsh.vteIntegration = mkDefault true; - programs.dconf.enable = true; - # Shell integration for VTE terminals - programs.bash.vteIntegration = mkDefault true; - programs.zsh.vteIntegration = mkDefault true; + # Mate uses this for printing + programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); - # Mate uses this for printing - programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); + services.gnome.at-spi2-core.enable = true; + services.gnome.gnome-keyring.enable = true; + services.udev.packages = [ pkgs.mate.mate-settings-daemon ]; + services.gvfs.enable = true; + services.upower.enable = config.powerManagement.enable; + services.xserver.libinput.enable = mkDefault true; - services.gnome.at-spi2-core.enable = true; - services.gnome.gnome-keyring.enable = true; - services.udev.packages = [ pkgs.mate.mate-settings-daemon ]; - services.gvfs.enable = true; - services.upower.enable = config.powerManagement.enable; - services.xserver.libinput.enable = mkDefault true; + security.pam.services.mate-screensaver.unixAuth = true; - security.pam.services.mate-screensaver.unixAuth = true; + xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ]; - xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ]; + environment.pathsToLink = [ "/share" ]; + }) + (mkIf cfg.enableWaylandSession { + programs.wayfire.enable = true; + programs.wayfire.plugins = [ pkgs.wayfirePlugins.firedecor ]; - environment.pathsToLink = [ "/share" ]; - }; + environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; + environment.systemPackages = [ pkgs.mate.mate-wayland-session ]; + services.xserver.displayManager.sessionPackages = [ pkgs.mate.mate-wayland-session ]; + }) + ]; } From 14877de6ad51b3f9ebb46ee431c870af233353cd Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 25 Feb 2024 17:03:43 +0800 Subject: [PATCH 45/48] mate.mate-gsettings-overrides: init --- pkgs/desktops/mate/default.nix | 1 + .../mate/mate-gsettings-overrides/default.nix | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/desktops/mate/mate-gsettings-overrides/default.nix diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 79d929907f05..da8c8e065789 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -27,6 +27,7 @@ let mate-common = callPackage ./mate-common { }; mate-control-center = callPackage ./mate-control-center { }; mate-desktop = callPackage ./mate-desktop { }; + mate-gsettings-overrides = callPackage ./mate-gsettings-overrides { }; mate-icon-theme = callPackage ./mate-icon-theme { }; mate-icon-theme-faenza = callPackage ./mate-icon-theme-faenza { }; mate-indicator-applet = callPackage ./mate-indicator-applet { }; diff --git a/pkgs/desktops/mate/mate-gsettings-overrides/default.nix b/pkgs/desktops/mate/mate-gsettings-overrides/default.nix new file mode 100644 index 000000000000..e9e2c3c3b0b9 --- /dev/null +++ b/pkgs/desktops/mate/mate-gsettings-overrides/default.nix @@ -0,0 +1,24 @@ +{ lib +, runCommand +, gsettings-desktop-schemas +, mate-wayland-session +, glib +}: + +let + gsettingsOverridePackages = [ + gsettings-desktop-schemas + mate-wayland-session + ]; +in +runCommand "mate-gsettings-overrides" { preferLocalBuild = true; } '' + data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides" + schema_dir="$data_dir/glib-2.0/schemas" + mkdir -p "$schema_dir" + + ${lib.concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"") gsettingsOverridePackages} + + chmod -R a+w "$data_dir" + + ${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir" +'' From abd9d0bec5f2e8229f1d48592669beb0b442593d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 12 Mar 2024 21:26:52 +0800 Subject: [PATCH 46/48] nixosTests.mate: Add trivial tests for MATE 1.28 changes --- nixos/tests/mate.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/tests/mate.nix b/nixos/tests/mate.nix index 48582e18d520..1252ec43cf3d 100644 --- a/nixos/tests/mate.nix +++ b/nixos/tests/mate.nix @@ -54,6 +54,15 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { machine.wait_for_text('(Applications|Places|System)') machine.wait_for_text('(Computer|Home|Trash)') + with subtest("Check if various environment variables are set"): + machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf marco)/environ | grep 'XDG_CURRENT_DESKTOP' | grep 'MATE'") + # From mate-panel-with-applets packaging + machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") + + with subtest("Check if applets are built with in-process support"): + # This is needed for Wayland support + machine.fail("pgrep -fa clock-applet") + with subtest("Lock the screen"): machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is inactive'") machine.succeed("su - ${user.name} -c '${env} mate-screensaver-command -l >&2 &'") From 596f75bf1f6e4af81b3f64b19a123981d35f66f7 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 12 Mar 2024 22:29:08 +0800 Subject: [PATCH 47/48] nixosTests.mate-wayland: init --- nixos/tests/all-tests.nix | 1 + nixos/tests/mate-wayland.nix | 63 ++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 nixos/tests/mate-wayland.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index ac64b85dd486..2655e1cfd649 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -513,6 +513,7 @@ in { mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; }); pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; }); mate = handleTest ./mate.nix {}; + mate-wayland = handleTest ./mate-wayland.nix {}; matter-server = handleTest ./matter-server.nix {}; matomo = handleTest ./matomo.nix {}; matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {}; diff --git a/nixos/tests/mate-wayland.nix b/nixos/tests/mate-wayland.nix new file mode 100644 index 000000000000..df39ead286e1 --- /dev/null +++ b/nixos/tests/mate-wayland.nix @@ -0,0 +1,63 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "mate-wayland"; + + meta.maintainers = lib.teams.mate.members; + + nodes.machine = { ... }: { + imports = [ + ./common/user-account.nix + ]; + + services.xserver.enable = true; + services.xserver.displayManager = { + sddm.enable = true; # https://github.com/canonical/lightdm/issues/63 + sddm.wayland.enable = true; + defaultSession = "MATE"; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + services.xserver.desktopManager.mate.enableWaylandSession = true; + + hardware.pulseaudio.enable = true; + + # Need to switch to a different GPU driver than the default one (-vga std) so that wayfire can launch: + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; + }; + + enableOCR = true; + + testScript = { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + '' + machine.wait_for_unit("display-manager.service") + + with subtest("Wait for Wayland server"): + machine.wait_for_file("/run/user/${toString user.uid}/wayland-1") + + with subtest("Check if MATE session components actually start"): + for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]: + machine.wait_until_succeeds(f"pgrep -f {i}") + machine.wait_for_text('(Applications|Places|System)') + # It is expected that this applet doesn't work in Wayland + machine.wait_for_text('WorkspaceSwitcherApplet') + + with subtest("Check if various environment variables are set"): + cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ" + machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'") + machine.succeed(f"{cmd} | grep 'XDG_SESSION_DESKTOP' | grep 'MATE'") + machine.succeed(f"{cmd} | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") + + with subtest("Check if Wayfire config is properly configured"): + for i in ["button_style = mate", "firedecor", "mate-wayland-components.sh"]: + machine.wait_until_succeeds(f"cat /home/${user.name}/.config/mate/wayfire.ini | grep '{i}'") + + with subtest("Check if Wayfire has ever coredumped"): + machine.fail("coredumpctl --json=short | grep wayfire") + machine.sleep(10) + machine.screenshot("screen") + ''; +}) From dff5e178f65fe60d35992888473f01d8609ddb25 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 11 Mar 2024 23:12:38 +0800 Subject: [PATCH 48/48] nixos/rl-2405: Mention desktop environment updates I've done so far Too lazy to open a new PR for Cinnamon, hopefully fine since I maintain both DEs. --- nixos/doc/manual/release-notes/rl-2405.section.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 0905337de94d..966b15ffcb22 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -308,7 +308,12 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `addDriverRunpath` has been added to facilitate the deprecation of the old `addOpenGLRunpath` setuphook. This change is motivated by the evolution of the setuphook to include all hardware acceleration. -- 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. +- 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 and could potentially [affect Xorg sessions](https://blog.linuxmint.com/?p=4639). We suggest a reboot when switching between sessions. + +- MATE has been updated to 1.28. + - To properly support panel plugins built with Wayland (in-process) support, we are introducing `services.xserver.desktopManager.mate.extraPanelApplets` option, please use that for installing panel applets. + - Similarly, please use `services.xserver.desktopManager.mate.extraCajaExtensions` option for installing Caja extensions. + - To use the Wayland session, enable `services.xserver.desktopManager.mate.enableWaylandSession`. This is opt-in for now as it is in early stage and introduces a new set of Wayfire closure. Due to [known issues with LightDM](https://github.com/canonical/lightdm/issues/63), we suggest using SDDM for display manager. - New `boot.loader.systemd-boot.xbootldrMountPoint` allows setting up a separate [XBOOTLDR partition](https://uapi-group.org/specifications/specs/boot_loader_specification/) to store boot files. Useful on systems with a small EFI System partition that cannot be easily repartitioned.