From 6865836c3def7d19993a7242bef2ed23ace21926 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 25 Feb 2024 11:08:57 +0800 Subject: [PATCH] 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; + }; +}