mate.scm 29 KB

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