gnu: Add libmatekbd.
[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)
bb2fe79e
FH
28 #:use-module (gnu packages)
29 #:use-module (gnu packages pkg-config)
42a6eaac 30 #:use-module (gnu packages freedesktop)
4d26a340 31 #:use-module (gnu packages libcanberra)
133cb876 32 #:use-module (gnu packages linux)
bb2fe79e
FH
33 #:use-module (gnu packages glib)
34 #:use-module (gnu packages gtk)
4b48a9fe
FH
35 #:use-module (gnu packages gnome)
36 #:use-module (gnu packages xorg)
f2c7369a
FH
37 #:use-module (gnu packages xdisorg)
38 #:use-module (gnu packages base)
7af1ca29 39 #:use-module (gnu packages xml)
42a6eaac 40 #:use-module (gnu packages photo)
133cb876 41 #:use-module (gnu packages pulseaudio)
7af1ca29 42 #:use-module (gnu packages python))
bb2fe79e
FH
43
44(define-public mate-icon-theme
45 (package
46 (name "mate-icon-theme")
d84f7182 47 (version "1.18.2")
bb2fe79e
FH
48 (source (origin
49 (method url-fetch)
833b7e0a 50 (uri (string-append "https://pub.mate-desktop.org/releases/"
bb2fe79e
FH
51 (version-major+minor version) "/"
52 name "-" version ".tar.xz"))
53 (sha256
54 (base32
d84f7182 55 "0si3li3kza7s45zhasjvqn5f85zpkn0x8i4kq1dlnqvjjqzkg4ch"))))
bb2fe79e
FH
56 (build-system gnu-build-system)
57 (native-inputs
58 `(("pkg-config" ,pkg-config)
59 ("intltool" ,intltool)
bb2fe79e 60 ("icon-naming-utils" ,icon-naming-utils)))
833b7e0a 61 (home-page "https://mate-desktop.org/")
bb2fe79e
FH
62 (synopsis "The MATE desktop environment icon theme")
63 (description
64 "This package contains the default icon theme used by the MATE desktop.")
65 (license license:lgpl3+)))
cbfe494d
FH
66
67(define-public mate-themes
68 (package
69 (name "mate-themes")
60692df2 70 (version "3.22.13")
cbfe494d
FH
71 (source (origin
72 (method url-fetch)
833b7e0a 73 (uri (string-append "https://pub.mate-desktop.org/releases/themes/"
4e85f8d9
KK
74 (version-major+minor version) "/mate-themes-"
75 version ".tar.xz"))
cbfe494d
FH
76 (sha256
77 (base32
60692df2 78 "1p7w63an8qs15hkj79nppy7471glv0rm1b0himn3c4w69q8qdc9i"))))
cbfe494d
FH
79 (build-system gnu-build-system)
80 (native-inputs
81 `(("pkg-config" ,pkg-config)
68d2eea0 82 ("intltool" ,intltool)
83 ("gdk-pixbuf" ,gdk-pixbuf) ; gdk-pixbuf+svg isn't needed
84 ("gtk" ,gtk+-2)))
833b7e0a 85 (home-page "https://mate-desktop.org/")
cbfe494d
FH
86 (synopsis
87 "Official themes for the MATE desktop")
88 (description
89 "This package includes the standard themes for the MATE desktop, for
e3ec6c80
EF
90example Menta, TraditionalOk, GreenLaguna or BlackMate. This package has
91themes for both gtk+-2 and gtk+-3.")
cbfe494d
FH
92 (license (list license:lgpl2.1+ license:cc-by-sa3.0 license:gpl3+
93 license:gpl2+))))
4b48a9fe
FH
94
95(define-public mate-desktop
96 (package
97 (name "mate-desktop")
3bbdf641 98 (version "1.18.0")
4b48a9fe
FH
99 (source (origin
100 (method url-fetch)
833b7e0a 101 (uri (string-append "https://pub.mate-desktop.org/releases/"
4b48a9fe
FH
102 (version-major+minor version) "/"
103 name "-" version ".tar.xz"))
104 (sha256
105 (base32
3bbdf641 106 "12iv2y4dan962fs7vkkxbjkp77pbvjnwfa43ggr0zkdsc3ydjbbg"))))
4b48a9fe
FH
107 (build-system gnu-build-system)
108 (native-inputs
109 `(("pkg-config" ,pkg-config)
110 ("intltool" ,intltool)
111 ("glib:bin" ,glib "bin")
112 ("gobject-introspection" ,gobject-introspection)
6a548c56 113 ("yelp-tools" ,yelp-tools)
114 ("gtk-doc" ,gtk-doc)))
4b48a9fe 115 (inputs
9927943c
EF
116 `(("gtk+" ,gtk+)
117 ("libxrandr" ,libxrandr)
4b48a9fe 118 ("startup-notification" ,startup-notification)))
9927943c
EF
119 (propagated-inputs
120 `(("dconf" ,dconf))) ; mate-desktop-2.0.pc
833b7e0a 121 (home-page "https://mate-desktop.org/")
4b48a9fe
FH
122 (synopsis "Library with common API for various MATE modules")
123 (description
124 "This package contains a public API shared by several applications on the
125desktop and the mate-about program.")
126 (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.1+))))
f2c7369a
FH
127
128(define-public libmateweather
129 (package
130 (name "libmateweather")
d954e569 131 (version "1.18.1")
f2c7369a
FH
132 (source (origin
133 (method url-fetch)
833b7e0a 134 (uri (string-append "https://pub.mate-desktop.org/releases/"
f2c7369a
FH
135 (version-major+minor version) "/"
136 name "-" version ".tar.xz"))
137 (sha256
138 (base32
d954e569 139 "0z6vfh42fv9rqjrraqfpf6h9nd9h662bxy3l3r48j19xvxrwmx3a"))))
f2c7369a
FH
140 (build-system gnu-build-system)
141 (arguments
5804c7b6 142 '(#:configure-flags
d954e569
KK
143 (list (string-append "--with-zoneinfo-dir="
144 (assoc-ref %build-inputs "tzdata")
145 "/share/zoneinfo"))
f2c7369a
FH
146 #:phases
147 (modify-phases %standard-phases
5804c7b6 148 (add-before 'check 'fix-tzdata-location
f2c7369a
FH
149 (lambda* (#:key inputs #:allow-other-keys)
150 (substitute* "data/check-timezones.sh"
151 (("/usr/share/zoneinfo/zone.tab")
152 (string-append (assoc-ref inputs "tzdata")
153 "/share/zoneinfo/zone.tab")))
154 #t)))))
155 (native-inputs
156 `(("pkg-config" ,pkg-config)
157 ("intltool" ,intltool)
5804c7b6 158 ("dconf" ,dconf)
f2c7369a
FH
159 ("glib:bin" ,glib "bin")))
160 (inputs
5804c7b6 161 `(("gtk+" ,gtk+)
f2c7369a
FH
162 ("tzdata" ,tzdata)))
163 (propagated-inputs
06599980
EF
164 ;; both of these are requires.private in mateweather.pc
165 `(("libsoup" ,libsoup)
166 ("libxml2" ,libxml2)))
833b7e0a 167 (home-page "https://mate-desktop.org/")
f2c7369a
FH
168 (synopsis "MATE library for weather information from the Internet")
169 (description
06599980 170 "This library provides access to weather information from the internet for
f2c7369a
FH
171the MATE desktop environment.")
172 (license license:lgpl2.1+)))
7af1ca29 173
17df429c 174(define-public mate-terminal
175 (package
176 (name "mate-terminal")
177 (version "1.18.1")
178 (source
179 (origin
180 (method url-fetch)
181 (uri (string-append "https://pub.mate-desktop.org/releases/"
182 (version-major+minor version) "/"
183 name "-" version ".tar.xz"))
184 (sha256
185 (base32
186 "1zihm609d2d9cw53ry385whshjl1dnkifpk41g1ddm9f58hv4da1"))))
187 (build-system glib-or-gtk-build-system)
188 (native-inputs
189 `(("pkg-config" ,pkg-config)
190 ("intltool" ,intltool)
191 ("itstool" ,itstool)
192 ("gobject-introspection" ,gobject-introspection)
193 ("libxml2" ,libxml2)
194 ("yelp-tools" ,yelp-tools)))
195 (inputs
196 `(("dconf" ,dconf)
197 ("gtk+" ,gtk+)
198 ("libice" ,libice)
199 ("libsm" ,libsm)
200 ("libx11" ,libx11)
201 ("mate-desktop" ,mate-desktop)
202 ("pango" ,pango)
203 ("vte" ,vte)))
204 (home-page "https://mate-desktop.org/")
205 (synopsis "MATE Terminal Emulator")
206 (description
207 "MATE Terminal is a terminal emulation application that you can
208use to access a shell. With it, you can run any application that
209is designed to run on VT102, VT220, and xterm terminals.
210MATE Terminal also has the ability to use multiple terminals
211in a single window (tabs) and supports management of different
212configurations (profiles).")
213 (license license:gpl3)))
214
a8376ca5 215(define-public mate-session-manager
216 (package
217 (name "mate-session-manager")
218 (version "1.18.1")
219 (source
220 (origin
221 (method url-fetch)
222 (uri (string-append "https://pub.mate-desktop.org/releases/"
223 (version-major+minor version) "/"
224 name "-" version ".tar.xz"))
225 (sha256
226 (base32
227 "0i0xq6041x2qmb26x9bawx0qpfkgjn6x9w3phnm9s7rc4s0z20ll"))))
228 (build-system glib-or-gtk-build-system)
229 (native-inputs
230 `(("pkg-config" ,pkg-config)
231 ("intltool" ,intltool)
232 ("xtrans" ,xtrans)
233 ("gobject-introspection" ,gobject-introspection)))
234 (inputs
235 `(("gtk+" ,gtk+)
236 ("dbus-glib" ,dbus-glib)
237 ("libsm" ,libsm)
238 ("mate-desktop" ,mate-desktop)))
239 (home-page "https://mate-desktop.org/")
240 (synopsis "Session manager for MATE")
241 (description
242 "Mate-session contains the MATE session manager, as well as a
243configuration program to choose applications starting on login.")
244 (license license:gpl2)))
245
133cb876 246(define-public libmatemixer
247 (package
248 (name "libmatemixer")
249 (version "1.18.0")
250 (source
251 (origin
252 (method url-fetch)
253 (uri (string-append "https://pub.mate-desktop.org/releases/"
254 (version-major+minor version) "/"
255 name "-" version ".tar.xz"))
256 (sha256
257 (base32
258 "09vyxnlnalws318gsafdfi5c6jwpp92pbafn1ddlqqds23ihk4mr"))))
259 (build-system glib-or-gtk-build-system)
260 (native-inputs
261 `(("pkg-config" ,pkg-config)
262 ("intltool" ,intltool)
263 ("gobject-introspection" ,gobject-introspection)))
264 (inputs
265 `(("glib" ,glib)
266 ("pulseaudio" ,pulseaudio)
267 ("alsa-lib" ,alsa-lib)))
268 (home-page "https://mate-desktop.org/")
269 (synopsis "Mixer library for the MATE desktop")
270 (description
271 "Libmatemixer is a mixer library for MATE desktop. It provides an abstract
272API allowing access to mixer functionality available in the PulseAudio and ALSA
273sound systems.")
274 (license license:lgpl2.1)))
275
9c9909ef 276(define-public libmatekbd
277 (package
278 (name "libmatekbd")
279 (version "1.18.2")
280 (source
281 (origin
282 (method url-fetch)
283 (uri (string-append "https://pub.mate-desktop.org/releases/"
284 (version-major+minor version) "/"
285 name "-" version ".tar.xz"))
286 (sha256
287 (base32
288 "030bl18qbjm7l92bp1bhs7v82bp8j3mv7c1j1a4gd89iz4611pq3"))))
289 (build-system glib-or-gtk-build-system)
290 (native-inputs
291 `(("pkg-config" ,pkg-config)
292 ("intltool" ,intltool)
293 ("gobject-introspection" ,gobject-introspection)))
294 (inputs
295 `(("cairo" ,cairo)
296 ("gdk-pixbuf" ,gdk-pixbuf+svg)
297 ("glib" ,glib)
298 ("gtk+" ,gtk+)
299 ("libx11" ,libx11)
300 ("libxklavier" ,libxklavier)))
301 (home-page "https://mate-desktop.org/")
302 (synopsis "MATE keyboard configuration library")
303 (description
304 "Libmatekbd is a keyboard configuration library for the
305MATE desktop environment.")
306 (license license:lgpl2.1)))
307
7af1ca29
FH
308(define-public mate-menus
309 (package
310 (name "mate-menus")
78a52051 311 (version "1.18.0")
7af1ca29
FH
312 (source (origin
313 (method url-fetch)
833b7e0a 314 (uri (string-append "https://pub.mate-desktop.org/releases/"
7af1ca29
FH
315 (version-major+minor version) "/"
316 name "-" version ".tar.xz"))
317 (sha256
318 (base32
78a52051 319 "05kyr37xqv6hm1rlvnqd5ng0x1n883brqynkirkk5drl56axnz7h"))))
7af1ca29
FH
320 (build-system gnu-build-system)
321 (arguments
322 `(#:phases
323 (modify-phases %standard-phases
324 (add-after
325 'unpack 'fix-introspection-install-dir
326 (lambda* (#:key outputs #:allow-other-keys)
327 (let ((out (assoc-ref outputs "out")))
328 (substitute* '("configure")
329 (("`\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0`")
330 (string-append "\"" out "/share/gir-1.0/\""))
331 (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)")
27caff1b
EF
332 (string-append out "/lib/girepository-1.0/")))
333 #t))))))
7af1ca29
FH
334 (native-inputs
335 `(("pkg-config" ,pkg-config)
336 ("intltool" ,intltool)
337 ("gobject-introspection" ,gobject-introspection)))
338 (inputs
27caff1b
EF
339 `(("glib" ,glib)
340 ("python" ,python-2)))
833b7e0a 341 (home-page "https://mate-desktop.org/")
7af1ca29
FH
342 (synopsis "Freedesktop menu specification implementation for MATE")
343 (description
344 "The package contains an implementation of the freedesktop menu
345specification, the MATE menu layout configuration files, .directory files and
346assorted menu related utility programs.")
347 (license (list license:gpl2+ license:lgpl2.0+))))
42a6eaac 348
c3812bec 349(define-public mate-panel
350 (package
351 (name "mate-panel")
352 (version "1.18.4")
353 (source
354 (origin
355 (method url-fetch)
356 (uri (string-append "https://pub.mate-desktop.org/releases/"
357 (version-major+minor version) "/"
358 name "-" version ".tar.xz"))
359 (sha256
360 (base32
361 "1n565ff1n7jrfx223i3cl3m69wjda506nvbn8gra7m1jwdfzpbw1"))))
362 (build-system glib-or-gtk-build-system)
363 (arguments
364 `(#:configure-flags
365 (list (string-append "--with-zoneinfo-dir="
366 (assoc-ref %build-inputs "tzdata")
367 "/share/zoneinfo")
368 "--with-in-process-applets=all")
369 #:phases
370 (modify-phases %standard-phases
371 (add-before 'configure 'fix-timezone-path
372 (lambda* (#:key inputs #:allow-other-keys)
373 (let* ((tzdata (assoc-ref inputs "tzdata")))
374 (substitute* "applets/clock/system-timezone.h"
375 (("/usr/share/lib/zoneinfo/tab")
376 (string-append tzdata "/share/zoneinfo/zone.tab"))
377 (("/usr/share/zoneinfo")
378 (string-append tzdata "/share/zoneinfo"))))
379 #t))
380 (add-after 'unpack 'fix-introspection-install-dir
381 (lambda* (#:key outputs #:allow-other-keys)
382 (let ((out (assoc-ref outputs "out")))
383 (substitute* '("configure")
384 (("`\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0`")
385 (string-append "\"" out "/share/gir-1.0/\""))
386 (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)")
387 (string-append out "/lib/girepository-1.0/")))
388 #t))))))
389 (native-inputs
390 `(("pkg-config" ,pkg-config)
391 ("intltool" ,intltool)
392 ("itstool" ,itstool)
393 ("xtrans" ,xtrans)
394 ("gobject-introspection" ,gobject-introspection)))
395 (inputs
396 `(("dconf" ,dconf)
397 ("cairo" ,cairo)
398 ("dbus-glib" ,dbus-glib)
399 ("gtk+" ,gtk+)
400 ("libcanberra" ,libcanberra)
401 ("libice" ,libice)
402 ("libmateweather" ,libmateweather)
403 ("librsvg" ,librsvg)
404 ("libsm" ,libsm)
405 ("libx11" ,libx11)
406 ("libxau" ,libxau)
407 ("libxml2" ,libxml2)
408 ("libxrandr" ,libxrandr)
409 ("libwnck" ,libwnck)
410 ("mate-desktop" ,mate-desktop)
411 ("mate-menus" ,mate-menus)
412 ("pango" ,pango)
413 ("tzdata" ,tzdata)))
414 (home-page "https://mate-desktop.org/")
415 (synopsis "Panel for MATE")
416 (description
417 "Mate-panel contains the MATE panel, the libmate-panel-applet library and
418several applets. The applets supplied here include the Workspace Switcher,
419the Window List, the Window Selector, the Notification Area, the Clock and the
420infamous 'Wanda the Fish'.")
421 (license (list license:gpl2+ license:lgpl2.0+))))
422
42a6eaac 423(define-public caja
424 (package
425 (name "caja")
426 (version "1.18.3")
427 (source
428 (origin
429 (method url-fetch)
430 (uri (string-append "https://pub.mate-desktop.org/releases/"
431 (version-major+minor version) "/"
432 name "-" version ".tar.xz"))
433 (sha256
434 (base32
435 "0mljqcx7k8p27854zm7qzzn8ca6hs7hva9p43hp4p507z52caqmm"))))
436 (build-system glib-or-gtk-build-system)
437 (arguments
438 `(#:configure-flags '("--disable-update-mimedb")
439 #:tests? #f ; tests fail even with display set
440 #:phases
441 (modify-phases %standard-phases
442 (add-before 'check 'pre-check
443 (lambda _
444 ;; Tests require a running X server.
445 (system "Xvfb :1 &")
446 (setenv "DISPLAY" ":1")
447 ;; For the missing /etc/machine-id.
448 (setenv "DBUS_FATAL_WARNINGS" "0")
449 #t)))))
450 (native-inputs
451 `(("pkg-config" ,pkg-config)
452 ("intltool" ,intltool)
453 ("glib:bin" ,glib "bin")
454 ("xorg-server" ,xorg-server)
455 ("gobject-introspection" ,gobject-introspection)))
456 (inputs
457 `(("exempi" ,exempi)
458 ("gtk+" ,gtk+)
459 ("gvfs" ,gvfs)
460 ("libexif" ,libexif)
461 ("libnotify" ,libnotify)
462 ("libsm" ,libsm)
463 ("libxml2" ,libxml2)
464 ("mate-desktop" ,mate-desktop)
465 ("startup-notification" ,startup-notification)))
466 (home-page "https://mate-desktop.org/")
467 (synopsis "File manager for the MATE desktop")
468 (description
469 "Caja is the official file manager for the MATE desktop.
470It allows for browsing directories, as well as previewing files and launching
471applications associated with them. Caja is also responsible for handling the
472icons on the MATE desktop. It works on local and remote filesystems.")
473 ;; There is a note about a TRADEMARKS_NOTICE file in COPYING which
474 ;; does not exist. It is safe to assume that this is of no concern
475 ;; for us.
476 (license license:gpl2+)))
4d26a340 477
478(define-public marco
479 (package
480 (name "marco")
481 (version "1.18.1")
482 (source
483 (origin
484 (method url-fetch)
485 (uri (string-append "https://pub.mate-desktop.org/releases/"
486 (version-major+minor version) "/"
487 name "-" version ".tar.xz"))
488 (sha256
489 (base32
490 "0lwbp9wyd66hl5d7g272l8g3k1pb9s4s2p9fb04750a58w87d8k5"))))
491 (build-system glib-or-gtk-build-system)
492 (native-inputs
493 `(("pkg-config" ,pkg-config)
494 ("intltool" ,intltool)
495 ("itstool" ,itstool)
496 ("glib" ,glib)
497 ("gobject-introspection" ,gobject-introspection)
498 ("libxft" ,libxft)
499 ("libxml2" ,libxml2)
500 ("zenity" ,zenity)))
501 (inputs
502 `(("gtk+" ,gtk+)
503 ("libcanberra" ,libcanberra)
504 ("libgtop" ,libgtop)
505 ("libice" ,libice)
506 ("libsm" ,libsm)
507 ("libx11" ,libx11)
508 ("libxcomposite" ,libxcomposite)
509 ("libxcursor" ,libxcursor)
510 ("libxdamage" ,libxdamage)
511 ("libxext" ,libxext)
512 ("libxfixes" ,libxfixes)
513 ("libxinerama" ,libxinerama)
514 ("libxrandr" ,libxrandr)
515 ("libxrender" ,libxrender)
516 ("mate-desktop" ,mate-desktop)
517 ("pango" ,pango)
518 ("startup-notification" ,startup-notification)))
519 (home-page "https://mate-desktop.org/")
520 (synopsis "Window manager for the MATE desktop")
521 (description
522 "Marco is a minimal X window manager that uses GTK+ for drawing
523window frames. It is aimed at non-technical users and is designed to integrate
524well with the MATE desktop. It lacks some features that may be expected by
525some users; these users may want to investigate other available window managers
526for use with MATE or as a standalone window manager.")
527 (license license:gpl2+)))