gnu: Add caja-extensions.
[jackhill/guix/guix.git] / gnu / packages / mate.scm
CommitLineData
bb2fe79e
FH
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
68d2eea0 3;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
833b7e0a 4;;; Copyright © 2017 ng0 <ng0@infotropique.org>
bb2fe79e
FH
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages mate)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix utils)
26 #:use-module (guix build-system gnu)
42a6eaac 27 #:use-module (guix build-system glib-or-gtk)
b5831eb7 28 #:use-module (guix build-system trivial)
bb2fe79e 29 #:use-module (gnu packages)
d58b0abd 30 #:use-module (gnu packages attr)
909f02dd 31 #:use-module (gnu packages base)
32 #:use-module (gnu packages docbook)
33 #:use-module (gnu packages documentation)
b5831eb7 34 #:use-module (gnu packages fonts)
909f02dd 35 #:use-module (gnu packages fontutils)
36 #:use-module (gnu packages freedesktop)
da78e01b 37 #:use-module (gnu packages gettext)
909f02dd 38 #:use-module (gnu packages glib)
4b48a9fe 39 #:use-module (gnu packages gnome)
b5831eb7 40 #:use-module (gnu packages gnupg)
0bb3d6bf 41 #:use-module (gnu packages gnuzilla)
909f02dd 42 #:use-module (gnu packages gtk)
d58b0abd 43 #:use-module (gnu packages imagemagick)
909f02dd 44 #:use-module (gnu packages libcanberra)
45 #:use-module (gnu packages linux)
d58b0abd 46 #:use-module (gnu packages messaging)
909f02dd 47 #:use-module (gnu packages pkg-config)
42a6eaac 48 #:use-module (gnu packages photo)
0bb3d6bf 49 #:use-module (gnu packages polkit)
133cb876 50 #:use-module (gnu packages pulseaudio)
909f02dd 51 #:use-module (gnu packages python)
52 #:use-module (gnu packages xdisorg)
53 #:use-module (gnu packages xml)
54 #:use-module (gnu packages xorg))
bb2fe79e
FH
55
56(define-public mate-icon-theme
57 (package
58 (name "mate-icon-theme")
d84f7182 59 (version "1.18.2")
bb2fe79e
FH
60 (source (origin
61 (method url-fetch)
833b7e0a 62 (uri (string-append "https://pub.mate-desktop.org/releases/"
bb2fe79e
FH
63 (version-major+minor version) "/"
64 name "-" version ".tar.xz"))
65 (sha256
66 (base32
d84f7182 67 "0si3li3kza7s45zhasjvqn5f85zpkn0x8i4kq1dlnqvjjqzkg4ch"))))
bb2fe79e
FH
68 (build-system gnu-build-system)
69 (native-inputs
70 `(("pkg-config" ,pkg-config)
71 ("intltool" ,intltool)
bb2fe79e 72 ("icon-naming-utils" ,icon-naming-utils)))
833b7e0a 73 (home-page "https://mate-desktop.org/")
bb2fe79e
FH
74 (synopsis "The MATE desktop environment icon theme")
75 (description
76 "This package contains the default icon theme used by the MATE desktop.")
77 (license license:lgpl3+)))
cbfe494d
FH
78
79(define-public mate-themes
80 (package
81 (name "mate-themes")
60692df2 82 (version "3.22.13")
cbfe494d
FH
83 (source (origin
84 (method url-fetch)
833b7e0a 85 (uri (string-append "https://pub.mate-desktop.org/releases/themes/"
4e85f8d9
KK
86 (version-major+minor version) "/mate-themes-"
87 version ".tar.xz"))
cbfe494d
FH
88 (sha256
89 (base32
60692df2 90 "1p7w63an8qs15hkj79nppy7471glv0rm1b0himn3c4w69q8qdc9i"))))
cbfe494d
FH
91 (build-system gnu-build-system)
92 (native-inputs
93 `(("pkg-config" ,pkg-config)
68d2eea0 94 ("intltool" ,intltool)
95 ("gdk-pixbuf" ,gdk-pixbuf) ; gdk-pixbuf+svg isn't needed
96 ("gtk" ,gtk+-2)))
833b7e0a 97 (home-page "https://mate-desktop.org/")
cbfe494d
FH
98 (synopsis
99 "Official themes for the MATE desktop")
100 (description
101 "This package includes the standard themes for the MATE desktop, for
e3ec6c80
EF
102example Menta, TraditionalOk, GreenLaguna or BlackMate. This package has
103themes for both gtk+-2 and gtk+-3.")
cbfe494d
FH
104 (license (list license:lgpl2.1+ license:cc-by-sa3.0 license:gpl3+
105 license:gpl2+))))
4b48a9fe
FH
106
107(define-public mate-desktop
108 (package
109 (name "mate-desktop")
3bbdf641 110 (version "1.18.0")
4b48a9fe
FH
111 (source (origin
112 (method url-fetch)
833b7e0a 113 (uri (string-append "https://pub.mate-desktop.org/releases/"
4b48a9fe
FH
114 (version-major+minor version) "/"
115 name "-" version ".tar.xz"))
116 (sha256
117 (base32
3bbdf641 118 "12iv2y4dan962fs7vkkxbjkp77pbvjnwfa43ggr0zkdsc3ydjbbg"))))
4b48a9fe
FH
119 (build-system gnu-build-system)
120 (native-inputs
121 `(("pkg-config" ,pkg-config)
122 ("intltool" ,intltool)
123 ("glib:bin" ,glib "bin")
124 ("gobject-introspection" ,gobject-introspection)
6a548c56 125 ("yelp-tools" ,yelp-tools)
126 ("gtk-doc" ,gtk-doc)))
4b48a9fe 127 (inputs
9927943c
EF
128 `(("gtk+" ,gtk+)
129 ("libxrandr" ,libxrandr)
4b48a9fe 130 ("startup-notification" ,startup-notification)))
9927943c
EF
131 (propagated-inputs
132 `(("dconf" ,dconf))) ; mate-desktop-2.0.pc
833b7e0a 133 (home-page "https://mate-desktop.org/")
4b48a9fe
FH
134 (synopsis "Library with common API for various MATE modules")
135 (description
136 "This package contains a public API shared by several applications on the
137desktop and the mate-about program.")
138 (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.1+))))
f2c7369a
FH
139
140(define-public libmateweather
141 (package
142 (name "libmateweather")
d954e569 143 (version "1.18.1")
f2c7369a
FH
144 (source (origin
145 (method url-fetch)
833b7e0a 146 (uri (string-append "https://pub.mate-desktop.org/releases/"
f2c7369a
FH
147 (version-major+minor version) "/"
148 name "-" version ".tar.xz"))
149 (sha256
150 (base32
d954e569 151 "0z6vfh42fv9rqjrraqfpf6h9nd9h662bxy3l3r48j19xvxrwmx3a"))))
f2c7369a
FH
152 (build-system gnu-build-system)
153 (arguments
5804c7b6 154 '(#:configure-flags
d954e569
KK
155 (list (string-append "--with-zoneinfo-dir="
156 (assoc-ref %build-inputs "tzdata")
157 "/share/zoneinfo"))
f2c7369a
FH
158 #:phases
159 (modify-phases %standard-phases
5804c7b6 160 (add-before 'check 'fix-tzdata-location
f2c7369a
FH
161 (lambda* (#:key inputs #:allow-other-keys)
162 (substitute* "data/check-timezones.sh"
163 (("/usr/share/zoneinfo/zone.tab")
164 (string-append (assoc-ref inputs "tzdata")
165 "/share/zoneinfo/zone.tab")))
166 #t)))))
167 (native-inputs
168 `(("pkg-config" ,pkg-config)
169 ("intltool" ,intltool)
5804c7b6 170 ("dconf" ,dconf)
f2c7369a
FH
171 ("glib:bin" ,glib "bin")))
172 (inputs
5804c7b6 173 `(("gtk+" ,gtk+)
f2c7369a
FH
174 ("tzdata" ,tzdata)))
175 (propagated-inputs
06599980
EF
176 ;; both of these are requires.private in mateweather.pc
177 `(("libsoup" ,libsoup)
178 ("libxml2" ,libxml2)))
833b7e0a 179 (home-page "https://mate-desktop.org/")
f2c7369a
FH
180 (synopsis "MATE library for weather information from the Internet")
181 (description
06599980 182 "This library provides access to weather information from the internet for
f2c7369a
FH
183the MATE desktop environment.")
184 (license license:lgpl2.1+)))
7af1ca29 185
17df429c 186(define-public mate-terminal
187 (package
188 (name "mate-terminal")
189 (version "1.18.1")
190 (source
191 (origin
192 (method url-fetch)
193 (uri (string-append "https://pub.mate-desktop.org/releases/"
194 (version-major+minor version) "/"
195 name "-" version ".tar.xz"))
196 (sha256
197 (base32
198 "1zihm609d2d9cw53ry385whshjl1dnkifpk41g1ddm9f58hv4da1"))))
199 (build-system glib-or-gtk-build-system)
200 (native-inputs
201 `(("pkg-config" ,pkg-config)
202 ("intltool" ,intltool)
203 ("itstool" ,itstool)
204 ("gobject-introspection" ,gobject-introspection)
205 ("libxml2" ,libxml2)
206 ("yelp-tools" ,yelp-tools)))
207 (inputs
208 `(("dconf" ,dconf)
209 ("gtk+" ,gtk+)
210 ("libice" ,libice)
211 ("libsm" ,libsm)
212 ("libx11" ,libx11)
213 ("mate-desktop" ,mate-desktop)
214 ("pango" ,pango)
215 ("vte" ,vte)))
216 (home-page "https://mate-desktop.org/")
217 (synopsis "MATE Terminal Emulator")
218 (description
219 "MATE Terminal is a terminal emulation application that you can
220use to access a shell. With it, you can run any application that
221is designed to run on VT102, VT220, and xterm terminals.
222MATE Terminal also has the ability to use multiple terminals
223in a single window (tabs) and supports management of different
224configurations (profiles).")
225 (license license:gpl3)))
226
a8376ca5 227(define-public mate-session-manager
228 (package
229 (name "mate-session-manager")
230 (version "1.18.1")
231 (source
232 (origin
233 (method url-fetch)
234 (uri (string-append "https://pub.mate-desktop.org/releases/"
235 (version-major+minor version) "/"
236 name "-" version ".tar.xz"))
237 (sha256
238 (base32
239 "0i0xq6041x2qmb26x9bawx0qpfkgjn6x9w3phnm9s7rc4s0z20ll"))))
240 (build-system glib-or-gtk-build-system)
1b332539 241 (arguments
242 `(#:configure-flags (list "--enable-elogind"
243 "--disable-schemas-compile")
244 #:phases
245 (modify-phases %standard-phases
246 (add-before 'configure 'pre-configure
247 (lambda* (#:key outputs #:allow-other-keys)
248 ;; Use elogind instead of systemd.
249 (substitute* "configure"
250 (("libsystemd-login")
251 "libelogind")
252 (("systemd") "elogind"))
253 (substitute* "mate-session/gsm-systemd.c"
254 (("#include <systemd/sd-login.h>")
255 "#include <elogind/sd-login.h>"))
256 ;; Remove uses of the systemd journal.
257 (substitute* "mate-session/main.c"
258 (("#ifdef HAVE_SYSTEMD") "#if 0"))
259 (substitute* "mate-session/gsm-manager.c"
260 (("#ifdef HAVE_SYSTEMD") "#if 0"))
261 (substitute* "mate-session/gsm-autostart-app.c"
262 (("#ifdef HAVE_SYSTEMD") "#if 0"))
263 #t)))))
a8376ca5 264 (native-inputs
265 `(("pkg-config" ,pkg-config)
266 ("intltool" ,intltool)
267 ("xtrans" ,xtrans)
268 ("gobject-introspection" ,gobject-introspection)))
269 (inputs
270 `(("gtk+" ,gtk+)
271 ("dbus-glib" ,dbus-glib)
1b332539 272 ("elogind" ,elogind)
a8376ca5 273 ("libsm" ,libsm)
274 ("mate-desktop" ,mate-desktop)))
275 (home-page "https://mate-desktop.org/")
276 (synopsis "Session manager for MATE")
277 (description
278 "Mate-session contains the MATE session manager, as well as a
279configuration program to choose applications starting on login.")
280 (license license:gpl2)))
281
0bb3d6bf 282(define-public mate-settings-daemon
283 (package
284 (name "mate-settings-daemon")
285 (version "1.18.1")
286 (source
287 (origin
288 (method url-fetch)
289 (uri (string-append "https://pub.mate-desktop.org/releases/"
290 (version-major+minor version) "/"
291 name "-" version ".tar.xz"))
292 (sha256
293 (base32
294 "07b2jkxqv07njdrgkdck93d872p6lch1lrvi7ydnpicspg3rfid6"))))
295 (build-system glib-or-gtk-build-system)
296 (native-inputs
297 `(("pkg-config" ,pkg-config)
298 ("intltool" ,intltool)
299 ("gobject-introspection" ,gobject-introspection)))
300 (inputs
301 `(("cairo" ,cairo)
302 ("dbus" ,dbus)
303 ("dbus-glib" ,dbus-glib)
304 ("dconf" ,dconf)
305 ("fontconfig" ,fontconfig)
306 ("gtk+" ,gtk+)
307 ("libcanberra" ,libcanberra)
308 ("libmatekbd" ,libmatekbd)
309 ("libmatemixer" ,libmatemixer)
310 ("libnotify" ,libnotify)
311 ("libx11" ,libx11)
312 ("libxext" ,libxext)
313 ("libxi" ,libxi)
314 ("libxklavier" ,libxklavier)
315 ("mate-desktop" ,mate-desktop)
316 ("nss" ,nss)
317 ("polkit" ,polkit)
318 ("startup-notification" ,startup-notification)))
319 (home-page "https://mate-desktop.org/")
320 (synopsis "Settings Daemon for MATE")
321 (description
322 "Mate-settings-daemon is a fork of gnome-settings-daemon.")
323 (license (list license:lgpl2.1 license:gpl2))))
324
133cb876 325(define-public libmatemixer
326 (package
327 (name "libmatemixer")
328 (version "1.18.0")
329 (source
330 (origin
331 (method url-fetch)
332 (uri (string-append "https://pub.mate-desktop.org/releases/"
333 (version-major+minor version) "/"
334 name "-" version ".tar.xz"))
335 (sha256
336 (base32
337 "09vyxnlnalws318gsafdfi5c6jwpp92pbafn1ddlqqds23ihk4mr"))))
338 (build-system glib-or-gtk-build-system)
339 (native-inputs
340 `(("pkg-config" ,pkg-config)
341 ("intltool" ,intltool)
342 ("gobject-introspection" ,gobject-introspection)))
343 (inputs
344 `(("glib" ,glib)
345 ("pulseaudio" ,pulseaudio)
346 ("alsa-lib" ,alsa-lib)))
347 (home-page "https://mate-desktop.org/")
348 (synopsis "Mixer library for the MATE desktop")
349 (description
350 "Libmatemixer is a mixer library for MATE desktop. It provides an abstract
351API allowing access to mixer functionality available in the PulseAudio and ALSA
352sound systems.")
353 (license license:lgpl2.1)))
354
9c9909ef 355(define-public libmatekbd
356 (package
357 (name "libmatekbd")
358 (version "1.18.2")
359 (source
360 (origin
361 (method url-fetch)
362 (uri (string-append "https://pub.mate-desktop.org/releases/"
363 (version-major+minor version) "/"
364 name "-" version ".tar.xz"))
365 (sha256
366 (base32
367 "030bl18qbjm7l92bp1bhs7v82bp8j3mv7c1j1a4gd89iz4611pq3"))))
368 (build-system glib-or-gtk-build-system)
369 (native-inputs
370 `(("pkg-config" ,pkg-config)
371 ("intltool" ,intltool)
372 ("gobject-introspection" ,gobject-introspection)))
373 (inputs
374 `(("cairo" ,cairo)
375 ("gdk-pixbuf" ,gdk-pixbuf+svg)
376 ("glib" ,glib)
377 ("gtk+" ,gtk+)
378 ("libx11" ,libx11)
379 ("libxklavier" ,libxklavier)))
380 (home-page "https://mate-desktop.org/")
381 (synopsis "MATE keyboard configuration library")
382 (description
383 "Libmatekbd is a keyboard configuration library for the
384MATE desktop environment.")
385 (license license:lgpl2.1)))
386
7af1ca29
FH
387(define-public mate-menus
388 (package
389 (name "mate-menus")
78a52051 390 (version "1.18.0")
7af1ca29
FH
391 (source (origin
392 (method url-fetch)
833b7e0a 393 (uri (string-append "https://pub.mate-desktop.org/releases/"
7af1ca29
FH
394 (version-major+minor version) "/"
395 name "-" version ".tar.xz"))
396 (sha256
397 (base32
78a52051 398 "05kyr37xqv6hm1rlvnqd5ng0x1n883brqynkirkk5drl56axnz7h"))))
7af1ca29
FH
399 (build-system gnu-build-system)
400 (arguments
401 `(#:phases
402 (modify-phases %standard-phases
403 (add-after
404 'unpack 'fix-introspection-install-dir
405 (lambda* (#:key outputs #:allow-other-keys)
406 (let ((out (assoc-ref outputs "out")))
407 (substitute* '("configure")
408 (("`\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0`")
409 (string-append "\"" out "/share/gir-1.0/\""))
410 (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)")
27caff1b
EF
411 (string-append out "/lib/girepository-1.0/")))
412 #t))))))
7af1ca29
FH
413 (native-inputs
414 `(("pkg-config" ,pkg-config)
415 ("intltool" ,intltool)
416 ("gobject-introspection" ,gobject-introspection)))
417 (inputs
27caff1b
EF
418 `(("glib" ,glib)
419 ("python" ,python-2)))
833b7e0a 420 (home-page "https://mate-desktop.org/")
7af1ca29
FH
421 (synopsis "Freedesktop menu specification implementation for MATE")
422 (description
423 "The package contains an implementation of the freedesktop menu
424specification, the MATE menu layout configuration files, .directory files and
425assorted menu related utility programs.")
426 (license (list license:gpl2+ license:lgpl2.0+))))
42a6eaac 427
da78e01b 428(define-public mate-applets
429 (package
430 (name "mate-applets")
431 (version "1.18.1")
432 (source
433 (origin
434 (method url-fetch)
435 (uri (string-append "https://pub.mate-desktop.org/releases/"
436 (version-major+minor version) "/"
437 name "-" version ".tar.xz"))
438 (sha256
439 (base32
440 "1nplr8i1mxbxd7pqhcy8j69v25nsp5dk9fq7ffrmjmp39lrf3fh5"))))
441 (build-system glib-or-gtk-build-system)
442 (native-inputs
443 `(("pkg-config" ,pkg-config)
444 ("intltool" ,intltool)
445 ("libxslt" ,libxslt)
446 ("yelp-tools" ,yelp-tools)
447 ("scrollkeeper" ,scrollkeeper)
448 ("gettext" ,gettext-minimal)
449 ("docbook-xml" ,docbook-xml)
450 ("gobject-introspection" ,gobject-introspection)))
451 (inputs
452 `(("atk" ,atk)
453 ("dbus" ,dbus)
454 ("dbus-glib" ,dbus-glib)
455 ("glib" ,glib)
456 ("gucharmap" ,gucharmap)
457 ("gtk+" ,gtk+)
458 ("gtksourceview" ,gtksourceview)
459 ("libgtop" ,libgtop)
460 ("libmateweather" ,libmateweather)
461 ("libnotify" ,libnotify)
462 ("libx11" ,libx11)
463 ("libxml2" ,libxml2)
464 ("libwnck" ,libwnck)
465 ("mate-panel" ,mate-panel)
466 ("pango" ,pango)
467 ("polkit" ,polkit) ; either polkit or setuid
468 ("python" ,python-2)
469 ("upower" ,upower)
470 ("wireless-tools" ,wireless-tools)))
471 (propagated-inputs
472 `(("python-pygobject" ,python-pygobject)))
473 (home-page "https://mate-desktop.org/")
474 (synopsis "Various applets for the MATE Panel")
475 (description
476 "Mate-applets includes various small applications for Mate-panel:
477
478@enumerate
479@item accessx-status: indicates keyboard accessibility settings,
480including the current state of the keyboard, if those features are in use.
481@item Battstat: monitors the power subsystem on a laptop.
482@item Character palette: provides a convenient way to access
483non-standard characters, such as accented characters,
484mathematical symbols, special symbols, and punctuation marks.
485@item MATE CPUFreq Applet: CPU frequency scaling monitor
486@item Drivemount: lets you mount and unmount drives and file systems.
487@item Geyes: pair of eyes which follow the mouse pointer around the screen.
488@item Keyboard layout switcher: lets you assign different keyboard
489layouts for different locales.
490@item Modem Monitor: monitors the modem.
491@item Invest: downloads current stock quotes from the Internet and
492displays the quotes in a scrolling display in the applet. The
493applet downloads the stock information from Yahoo! Finance.
494@item System monitor: CPU, memory, network, swap file and resource.
495@item Trash: lets you drag items to the trash folder.
496@item Weather report: downloads weather information from the
497U.S National Weather Service (NWS) servers, including the
498Interactive Weather Information Network (IWIN).
499@end enumerate\n")
500 (license (list license:gpl2+ license:lgpl2.0+ license:gpl3+))))
501
4d553e0a 502(define-public mate-media
503 (package
504 (name "mate-media")
505 (version "1.18.1")
506 (source
507 (origin
508 (method url-fetch)
509 (uri (string-append "https://pub.mate-desktop.org/releases/"
510 (version-major+minor version) "/"
511 name "-" version ".tar.xz"))
512 (sha256
513 (base32
514 "1l0j71d07898wb6ily09sj1xczwrmcw13wyhxwns7sxw592nwi04"))))
515 (build-system glib-or-gtk-build-system)
516 (native-inputs
517 `(("pkg-config" ,pkg-config)
518 ("intltool" ,intltool)
519 ("gettext" ,gettext-minimal)
520 ("gobject-introspection" ,gobject-introspection)))
521 (inputs
522 `(("cairo" ,cairo)
523 ("gtk+" ,gtk+)
524 ("libcanberra" ,libcanberra)
525 ("libmatemixer" ,libmatemixer)
526 ("libxml2" ,libxml2)
527 ("mate-applets" ,mate-applets)
528 ("mate-desktop" ,mate-desktop)
529 ("mate-panel" ,mate-panel)
530 ("pango" ,pango)
531 ("startup-notification" ,startup-notification)))
532 (home-page "https://mate-desktop.org/")
533 (synopsis "Multimedia related programs for the MATE desktop")
534 (description
535 "Mate-media includes the MATE media tools for MATE, including
536mate-volume-control, a MATE volume control application and applet.")
537 (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.1+))))
538
c3812bec 539(define-public mate-panel
540 (package
541 (name "mate-panel")
542 (version "1.18.4")
543 (source
544 (origin
545 (method url-fetch)
546 (uri (string-append "https://pub.mate-desktop.org/releases/"
547 (version-major+minor version) "/"
548 name "-" version ".tar.xz"))
549 (sha256
550 (base32
551 "1n565ff1n7jrfx223i3cl3m69wjda506nvbn8gra7m1jwdfzpbw1"))))
552 (build-system glib-or-gtk-build-system)
553 (arguments
554 `(#:configure-flags
555 (list (string-append "--with-zoneinfo-dir="
556 (assoc-ref %build-inputs "tzdata")
557 "/share/zoneinfo")
558 "--with-in-process-applets=all")
559 #:phases
560 (modify-phases %standard-phases
561 (add-before 'configure 'fix-timezone-path
562 (lambda* (#:key inputs #:allow-other-keys)
563 (let* ((tzdata (assoc-ref inputs "tzdata")))
564 (substitute* "applets/clock/system-timezone.h"
565 (("/usr/share/lib/zoneinfo/tab")
566 (string-append tzdata "/share/zoneinfo/zone.tab"))
567 (("/usr/share/zoneinfo")
568 (string-append tzdata "/share/zoneinfo"))))
569 #t))
570 (add-after 'unpack 'fix-introspection-install-dir
571 (lambda* (#:key outputs #:allow-other-keys)
572 (let ((out (assoc-ref outputs "out")))
573 (substitute* '("configure")
574 (("`\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0`")
575 (string-append "\"" out "/share/gir-1.0/\""))
576 (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)")
577 (string-append out "/lib/girepository-1.0/")))
578 #t))))))
579 (native-inputs
580 `(("pkg-config" ,pkg-config)
581 ("intltool" ,intltool)
582 ("itstool" ,itstool)
583 ("xtrans" ,xtrans)
584 ("gobject-introspection" ,gobject-introspection)))
585 (inputs
586 `(("dconf" ,dconf)
587 ("cairo" ,cairo)
588 ("dbus-glib" ,dbus-glib)
589 ("gtk+" ,gtk+)
590 ("libcanberra" ,libcanberra)
591 ("libice" ,libice)
592 ("libmateweather" ,libmateweather)
593 ("librsvg" ,librsvg)
594 ("libsm" ,libsm)
595 ("libx11" ,libx11)
596 ("libxau" ,libxau)
597 ("libxml2" ,libxml2)
598 ("libxrandr" ,libxrandr)
599 ("libwnck" ,libwnck)
600 ("mate-desktop" ,mate-desktop)
601 ("mate-menus" ,mate-menus)
602 ("pango" ,pango)
603 ("tzdata" ,tzdata)))
604 (home-page "https://mate-desktop.org/")
605 (synopsis "Panel for MATE")
606 (description
607 "Mate-panel contains the MATE panel, the libmate-panel-applet library and
608several applets. The applets supplied here include the Workspace Switcher,
609the Window List, the Window Selector, the Notification Area, the Clock and the
610infamous 'Wanda the Fish'.")
611 (license (list license:gpl2+ license:lgpl2.0+))))
612
42a6eaac 613(define-public caja
614 (package
615 (name "caja")
616 (version "1.18.3")
617 (source
618 (origin
619 (method url-fetch)
620 (uri (string-append "https://pub.mate-desktop.org/releases/"
621 (version-major+minor version) "/"
622 name "-" version ".tar.xz"))
623 (sha256
624 (base32
625 "0mljqcx7k8p27854zm7qzzn8ca6hs7hva9p43hp4p507z52caqmm"))))
626 (build-system glib-or-gtk-build-system)
627 (arguments
628 `(#:configure-flags '("--disable-update-mimedb")
629 #:tests? #f ; tests fail even with display set
630 #:phases
631 (modify-phases %standard-phases
632 (add-before 'check 'pre-check
633 (lambda _
634 ;; Tests require a running X server.
635 (system "Xvfb :1 &")
636 (setenv "DISPLAY" ":1")
637 ;; For the missing /etc/machine-id.
638 (setenv "DBUS_FATAL_WARNINGS" "0")
639 #t)))))
640 (native-inputs
641 `(("pkg-config" ,pkg-config)
642 ("intltool" ,intltool)
643 ("glib:bin" ,glib "bin")
644 ("xorg-server" ,xorg-server)
645 ("gobject-introspection" ,gobject-introspection)))
646 (inputs
647 `(("exempi" ,exempi)
648 ("gtk+" ,gtk+)
649 ("gvfs" ,gvfs)
650 ("libexif" ,libexif)
651 ("libnotify" ,libnotify)
652 ("libsm" ,libsm)
653 ("libxml2" ,libxml2)
654 ("mate-desktop" ,mate-desktop)
655 ("startup-notification" ,startup-notification)))
656 (home-page "https://mate-desktop.org/")
657 (synopsis "File manager for the MATE desktop")
658 (description
659 "Caja is the official file manager for the MATE desktop.
660It allows for browsing directories, as well as previewing files and launching
661applications associated with them. Caja is also responsible for handling the
662icons on the MATE desktop. It works on local and remote filesystems.")
663 ;; There is a note about a TRADEMARKS_NOTICE file in COPYING which
664 ;; does not exist. It is safe to assume that this is of no concern
665 ;; for us.
666 (license license:gpl2+)))
4d26a340 667
d58b0abd 668(define-public caja-extensions
669 (package
670 (name "caja-extensions")
671 (version "1.18.1")
672 (source
673 (origin
674 (method url-fetch)
675 (uri (string-append "https://pub.mate-desktop.org/releases/"
676 (version-major+minor version) "/"
677 name "-" version ".tar.xz"))
678 (sha256
679 (base32
680 "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw"))))
681 (build-system glib-or-gtk-build-system)
682 (arguments
683 `(#:configure-flags (list "--enable-sendto"
684 ;; TODO: package "gupnp" to enable 'upnp', package
685 ;; "gksu" to enable 'gksu'.
686 (string-append "--with-sendto-plugins=removable-devices,"
687 "caja-burn,emailclient,pidgin,gajim")
688 "--enable-image-converter"
689 "--enable-open-terminal" "--enable-share"
690 "--enable-wallpaper" "--enable-xattr-tags"
691 (string-append "--with-cajadir="
692 (assoc-ref %outputs "out")
693 "/lib/caja/extensions-2.0/"))))
694 (native-inputs
695 `(("intltool" ,intltool)
696 ("gettext" ,gettext-minimal)
697 ("glib:bin" ,glib "bin")
698 ("gobject-introspection" ,gobject-introspection)
699 ("gtk-doc" ,gtk-doc)
700 ("pkg-config" ,pkg-config)))
701 (inputs
702 `(("attr" ,attr)
703 ("brasero" ,brasero)
704 ("caja" ,caja)
705 ("dbus" ,dbus)
706 ("dbus-glib" ,dbus-glib)
707 ("gajim" ,gajim) ;runtime only?
708 ("gtk+" ,gtk+)
709 ("imagemagick" ,imagemagick)
710 ("graphicsmagick" ,graphicsmagick)
711 ("mate-desktop" ,mate-desktop)
712 ("pidgin" ,pidgin) ;runtime only?
713 ("startup-notification" ,startup-notification)))
714 (home-page "https://mate-desktop.org/")
715 (synopsis "Extensions for the File manager Caja")
716 (description
717 "Caja is the official file manager for the MATE desktop.
718It allows for browsing directories, as well as previewing files and launching
719applications associated with them. Caja is also responsible for handling the
720icons on the MATE desktop. It works on local and remote filesystems.")
721 (license license:gpl2+)))
722
16cd07c1 723(define-public mate-control-center
724 (package
725 (name "mate-control-center")
726 (version "1.18.2")
727 (source
728 (origin
729 (method url-fetch)
730 (uri (string-append "https://pub.mate-desktop.org/releases/"
731 (version-major+minor version) "/"
732 name "-" version ".tar.xz"))
733 (sha256
734 (base32
735 "0flnn0h8f5aqyccwrlv7qxchvr3kqmlfdga6wq28d55zkpv5m7dl"))))
736 (build-system glib-or-gtk-build-system)
737 (native-inputs
738 `(("pkg-config" ,pkg-config)
739 ("intltool" ,intltool)
740 ("yelp-tools" ,yelp-tools)
741 ("desktop-file-utils" ,desktop-file-utils)
742 ("kbproto" ,kbproto)
743 ("randrproto" ,randrproto)
744 ("renderproto" ,renderproto)
745 ("scrnsaverproto" ,scrnsaverproto)
746 ("xextpro" ,xextproto)
747 ("xproto" ,xproto)
748 ("xmodmap" ,xmodmap)
749 ("gobject-introspection" ,gobject-introspection)))
750 (inputs
751 `(("atk" ,atk)
752 ("cairo" ,cairo)
753 ("caja" ,caja)
754 ("dconf" ,dconf)
755 ("dbus" ,dbus)
756 ("dbus-glib" ,dbus-glib)
757 ("fontconfig" ,fontconfig)
758 ("freetype" ,freetype)
759 ("glib" ,glib)
760 ("gtk+" ,gtk+)
761 ("libcanberra" ,libcanberra)
762 ("libmatekbd" ,libmatekbd)
763 ("libx11" ,libx11)
764 ("libxcursor" ,libxcursor)
765 ("libxext" ,libxext)
766 ("libxi" ,libxi)
767 ("libxklavier" ,libxklavier)
768 ("libxml2" ,libxml2)
769 ("libxrandr" ,libxrandr)
770 ("libxrender" ,libxrender)
771 ("libxscrnsaver" ,libxscrnsaver)
772 ("marco" ,marco)
773 ("mate-desktop" ,mate-desktop)
774 ("mate-menus" ,mate-menus)
775 ("mate-settings-daemon" ,mate-settings-daemon)
776 ("pango" ,pango)
777 ("startup-notification" ,startup-notification)))
778 (propagated-inputs
779 `(("gdk-pixbuf" ,gdk-pixbuf+svg) ; mate-slab.pc
780 ("librsvg" ,librsvg))) ; mate-slab.pc
781 (home-page "https://mate-desktop.org/")
782 (synopsis "MATE Desktop configuration tool")
783 (description
784 "MATE control center is MATE's main interface for configuration
785of various aspects of your desktop.")
786 (license license:gpl2+)))
787
4d26a340 788(define-public marco
789 (package
790 (name "marco")
791 (version "1.18.1")
792 (source
793 (origin
794 (method url-fetch)
795 (uri (string-append "https://pub.mate-desktop.org/releases/"
796 (version-major+minor version) "/"
797 name "-" version ".tar.xz"))
798 (sha256
799 (base32
800 "0lwbp9wyd66hl5d7g272l8g3k1pb9s4s2p9fb04750a58w87d8k5"))))
801 (build-system glib-or-gtk-build-system)
802 (native-inputs
803 `(("pkg-config" ,pkg-config)
804 ("intltool" ,intltool)
805 ("itstool" ,itstool)
806 ("glib" ,glib)
807 ("gobject-introspection" ,gobject-introspection)
808 ("libxft" ,libxft)
809 ("libxml2" ,libxml2)
810 ("zenity" ,zenity)))
811 (inputs
812 `(("gtk+" ,gtk+)
813 ("libcanberra" ,libcanberra)
814 ("libgtop" ,libgtop)
815 ("libice" ,libice)
816 ("libsm" ,libsm)
817 ("libx11" ,libx11)
818 ("libxcomposite" ,libxcomposite)
819 ("libxcursor" ,libxcursor)
820 ("libxdamage" ,libxdamage)
821 ("libxext" ,libxext)
822 ("libxfixes" ,libxfixes)
823 ("libxinerama" ,libxinerama)
824 ("libxrandr" ,libxrandr)
825 ("libxrender" ,libxrender)
826 ("mate-desktop" ,mate-desktop)
827 ("pango" ,pango)
828 ("startup-notification" ,startup-notification)))
829 (home-page "https://mate-desktop.org/")
830 (synopsis "Window manager for the MATE desktop")
831 (description
832 "Marco is a minimal X window manager that uses GTK+ for drawing
833window frames. It is aimed at non-technical users and is designed to integrate
834well with the MATE desktop. It lacks some features that may be expected by
835some users; these users may want to investigate other available window managers
836for use with MATE or as a standalone window manager.")
837 (license license:gpl2+)))
b5831eb7 838
75282ec1 839(define-public mate-user-guide
840 (package
841 (name "mate-user-guide")
842 (version "1.18.0")
843 (source
844 (origin
845 (method url-fetch)
846 (uri (string-append "https://pub.mate-desktop.org/releases/"
847 (version-major+minor version) "/"
848 name "-" version ".tar.xz"))
849 (sha256
850 (base32
851 "0f3b46r9a3cywm7rpj08xlkfnlfr9db58xfcpix8i33qp50fxqmb"))))
852 (build-system gnu-build-system)
853 (arguments
854 `(#:phases
855 (modify-phases %standard-phases
856 (add-after 'unpack 'adjust-desktop-file
857 (lambda* (#:key inputs #:allow-other-keys)
858 (let* ((yelp (assoc-ref inputs "yelp")))
859 (substitute* "mate-user-guide.desktop.in.in"
860 (("yelp")
861 (string-append yelp "/bin/yelp"))))
862 #t)))))
863 (native-inputs
864 `(("pkg-config" ,pkg-config)
865 ("intltool" ,intltool)
866 ("gettext" ,gettext-minimal)
867 ("yelp-tools" ,yelp-tools)
868 ("yelp-xsl" ,yelp-xsl)))
869 (inputs
870 `(("yelp" ,yelp)))
871 (home-page "https://mate-desktop.org/")
872 (synopsis "User Documentation for Mate software")
873 (description
874 "MATE User Guide is a collection of documentation which details
875general use of the MATE Desktop environment. Topics covered include
876sessions, panels, menus, file management, and preferences.")
877 (license (list license:fdl1.1+ license:gpl2+))))
878
b5831eb7 879(define-public mate
880 (package
881 (name "mate")
882 (version (package-version mate-desktop))
883 (source #f)
884 (build-system trivial-build-system)
885 (arguments
886 `(#:modules ((guix build union))
887 #:builder
888 (begin
889 (use-modules (ice-9 match)
890 (guix build union))
891 (match %build-inputs
892 (((names . directories) ...)
893 (union-build (assoc-ref %outputs "out")
894 directories))))))
895 (inputs
896 ;; TODO: Add more packages
897 `(("at-spi2-core" ,at-spi2-core)
898 ("caja" ,caja)
899 ("dbus" ,dbus)
900 ("dconf" ,dconf)
901 ("desktop-file-utils" ,desktop-file-utils)
902 ("font-cantarell" ,font-cantarell)
903 ("glib-networking" ,glib-networking)
904 ("gnome-keyring" ,gnome-keyring)
905 ("gvfs" ,gvfs)
906 ("libmatekbd" ,libmatekbd)
907 ("libmateweather" ,libmateweather)
908 ("libmatemixer" ,libmatemixer)
909 ("marco" ,marco)
910 ("mate-session-manager" ,mate-session-manager)
911 ("mate-settings-daemon" ,mate-settings-daemon)
912 ("mate-desktop" ,mate-desktop)
913 ("mate-terminal" ,mate-terminal)
914 ("mate-themes" ,mate-themes)
915 ("mate-icon-theme" ,mate-icon-theme)
916 ("mate-menu" ,mate-menus)
917 ("mate-panel" ,mate-panel)
918 ("mate-control-center" ,mate-control-center)
919 ("mate-media" ,mate-media)
920 ("mate-applets" ,mate-applets)
921 ("pinentry-gnome3" ,pinentry-gnome3)
922 ("pulseaudio" ,pulseaudio)
923 ("shared-mime-info" ,shared-mime-info)
924 ("yelp" ,yelp)
925 ("zenity" ,zenity)))
926 (synopsis "The MATE desktop environment")
927 (home-page "https://mate-desktop.org/")
928 (description
929 "The MATE Desktop Environment is the continuation of GNOME 2. It provides
930an intuitive and attractive desktop environment using traditional metaphors for
931GNU/Linux systems. MATE is under active development to add support for new
932technologies while preserving a traditional desktop experience.")
933 (license license:gpl2+)))