1{
2 lib,
3 stdenv,
4 fetchurl,
5 pkg-config,
6 gettext,
7 itstool,
8 libxml2,
9 libcanberra-gtk3,
10 libgtop,
11 libXdamage,
12 libXpresent,
13 libXres,
14 libstartup_notification,
15 zenity,
16 glib,
17 gtk3,
18 mate-desktop,
19 mate-settings-daemon,
20 wrapGAppsHook3,
21 mateUpdateScript,
22}:
23
24stdenv.mkDerivation rec {
25 pname = "marco";
26 version = "1.28.1";
27
28 src = fetchurl {
29 url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
30 sha256 = "JJbl5A7pgM1oSUk6w+D4/Q3si4HGdNqNm6GaV38KwuE=";
31 };
32
33 nativeBuildInputs = [
34 pkg-config
35 gettext
36 itstool
37 libxml2 # xmllint
38 wrapGAppsHook3
39 ];
40
41 buildInputs = [
42 libcanberra-gtk3
43 libgtop
44 libXdamage
45 libXpresent
46 libXres
47 libstartup_notification
48 gtk3
49 zenity
50 mate-desktop
51 mate-settings-daemon
52 ];
53
54 postPatch = ''
55 substituteInPlace src/core/util.c \
56 --replace-fail 'argvl[i++] = "zenity"' 'argvl[i++] = "${lib.getExe zenity}"'
57 '';
58
59 env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
60 env.ZENITY = lib.getExe zenity;
61
62 enableParallelBuilding = true;
63
64 passthru.updateScript = mateUpdateScript { inherit pname; };
65
66 meta = with lib; {
67 description = "MATE default window manager";
68 homepage = "https://github.com/mate-desktop/marco";
69 license = [ licenses.gpl2Plus ];
70 platforms = platforms.unix;
71 teams = [ teams.mate ];
72 };
73}