gnu: Add caja.
[jackhill/guix/guix.git] / gnu / packages / mate.scm
... / ...
CommitLineData
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
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)
27 #:use-module (guix build-system glib-or-gtk)
28 #:use-module (gnu packages)
29 #:use-module (gnu packages pkg-config)
30 #:use-module (gnu packages freedesktop)
31 #:use-module (gnu packages glib)
32 #:use-module (gnu packages gtk)
33 #:use-module (gnu packages gnome)
34 #:use-module (gnu packages xorg)
35 #:use-module (gnu packages xdisorg)
36 #:use-module (gnu packages base)
37 #:use-module (gnu packages xml)
38 #:use-module (gnu packages photo)
39 #:use-module (gnu packages python))
40
41(define-public mate-icon-theme
42 (package
43 (name "mate-icon-theme")
44 (version "1.18.2")
45 (source (origin
46 (method url-fetch)
47 (uri (string-append "https://pub.mate-desktop.org/releases/"
48 (version-major+minor version) "/"
49 name "-" version ".tar.xz"))
50 (sha256
51 (base32
52 "0si3li3kza7s45zhasjvqn5f85zpkn0x8i4kq1dlnqvjjqzkg4ch"))))
53 (build-system gnu-build-system)
54 (native-inputs
55 `(("pkg-config" ,pkg-config)
56 ("intltool" ,intltool)
57 ("icon-naming-utils" ,icon-naming-utils)))
58 (home-page "https://mate-desktop.org/")
59 (synopsis "The MATE desktop environment icon theme")
60 (description
61 "This package contains the default icon theme used by the MATE desktop.")
62 (license license:lgpl3+)))
63
64(define-public mate-themes
65 (package
66 (name "mate-themes")
67 (version "3.22.13")
68 (source (origin
69 (method url-fetch)
70 (uri (string-append "https://pub.mate-desktop.org/releases/themes/"
71 (version-major+minor version) "/mate-themes-"
72 version ".tar.xz"))
73 (sha256
74 (base32
75 "1p7w63an8qs15hkj79nppy7471glv0rm1b0himn3c4w69q8qdc9i"))))
76 (build-system gnu-build-system)
77 (native-inputs
78 `(("pkg-config" ,pkg-config)
79 ("intltool" ,intltool)
80 ("gdk-pixbuf" ,gdk-pixbuf) ; gdk-pixbuf+svg isn't needed
81 ("gtk" ,gtk+-2)))
82 (home-page "https://mate-desktop.org/")
83 (synopsis
84 "Official themes for the MATE desktop")
85 (description
86 "This package includes the standard themes for the MATE desktop, for
87example Menta, TraditionalOk, GreenLaguna or BlackMate. This package has
88themes for both gtk+-2 and gtk+-3.")
89 (license (list license:lgpl2.1+ license:cc-by-sa3.0 license:gpl3+
90 license:gpl2+))))
91
92(define-public mate-desktop
93 (package
94 (name "mate-desktop")
95 (version "1.18.0")
96 (source (origin
97 (method url-fetch)
98 (uri (string-append "https://pub.mate-desktop.org/releases/"
99 (version-major+minor version) "/"
100 name "-" version ".tar.xz"))
101 (sha256
102 (base32
103 "12iv2y4dan962fs7vkkxbjkp77pbvjnwfa43ggr0zkdsc3ydjbbg"))))
104 (build-system gnu-build-system)
105 (native-inputs
106 `(("pkg-config" ,pkg-config)
107 ("intltool" ,intltool)
108 ("glib:bin" ,glib "bin")
109 ("gobject-introspection" ,gobject-introspection)
110 ("yelp-tools" ,yelp-tools)
111 ("gtk-doc" ,gtk-doc)))
112 (inputs
113 `(("gtk+" ,gtk+)
114 ("libxrandr" ,libxrandr)
115 ("startup-notification" ,startup-notification)))
116 (propagated-inputs
117 `(("dconf" ,dconf))) ; mate-desktop-2.0.pc
118 (home-page "https://mate-desktop.org/")
119 (synopsis "Library with common API for various MATE modules")
120 (description
121 "This package contains a public API shared by several applications on the
122desktop and the mate-about program.")
123 (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.1+))))
124
125(define-public libmateweather
126 (package
127 (name "libmateweather")
128 (version "1.18.1")
129 (source (origin
130 (method url-fetch)
131 (uri (string-append "https://pub.mate-desktop.org/releases/"
132 (version-major+minor version) "/"
133 name "-" version ".tar.xz"))
134 (sha256
135 (base32
136 "0z6vfh42fv9rqjrraqfpf6h9nd9h662bxy3l3r48j19xvxrwmx3a"))))
137 (build-system gnu-build-system)
138 (arguments
139 '(#:configure-flags
140 (list (string-append "--with-zoneinfo-dir="
141 (assoc-ref %build-inputs "tzdata")
142 "/share/zoneinfo"))
143 #:phases
144 (modify-phases %standard-phases
145 (add-before 'check 'fix-tzdata-location
146 (lambda* (#:key inputs #:allow-other-keys)
147 (substitute* "data/check-timezones.sh"
148 (("/usr/share/zoneinfo/zone.tab")
149 (string-append (assoc-ref inputs "tzdata")
150 "/share/zoneinfo/zone.tab")))
151 #t)))))
152 (native-inputs
153 `(("pkg-config" ,pkg-config)
154 ("intltool" ,intltool)
155 ("dconf" ,dconf)
156 ("glib:bin" ,glib "bin")))
157 (inputs
158 `(("gtk+" ,gtk+)
159 ("tzdata" ,tzdata)))
160 (propagated-inputs
161 ;; both of these are requires.private in mateweather.pc
162 `(("libsoup" ,libsoup)
163 ("libxml2" ,libxml2)))
164 (home-page "https://mate-desktop.org/")
165 (synopsis "MATE library for weather information from the Internet")
166 (description
167 "This library provides access to weather information from the internet for
168the MATE desktop environment.")
169 (license license:lgpl2.1+)))
170
171(define-public mate-menus
172 (package
173 (name "mate-menus")
174 (version "1.18.0")
175 (source (origin
176 (method url-fetch)
177 (uri (string-append "https://pub.mate-desktop.org/releases/"
178 (version-major+minor version) "/"
179 name "-" version ".tar.xz"))
180 (sha256
181 (base32
182 "05kyr37xqv6hm1rlvnqd5ng0x1n883brqynkirkk5drl56axnz7h"))))
183 (build-system gnu-build-system)
184 (arguments
185 `(#:phases
186 (modify-phases %standard-phases
187 (add-after
188 'unpack 'fix-introspection-install-dir
189 (lambda* (#:key outputs #:allow-other-keys)
190 (let ((out (assoc-ref outputs "out")))
191 (substitute* '("configure")
192 (("`\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0`")
193 (string-append "\"" out "/share/gir-1.0/\""))
194 (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)")
195 (string-append out "/lib/girepository-1.0/")))
196 #t))))))
197 (native-inputs
198 `(("pkg-config" ,pkg-config)
199 ("intltool" ,intltool)
200 ("gobject-introspection" ,gobject-introspection)))
201 (inputs
202 `(("glib" ,glib)
203 ("python" ,python-2)))
204 (home-page "https://mate-desktop.org/")
205 (synopsis "Freedesktop menu specification implementation for MATE")
206 (description
207 "The package contains an implementation of the freedesktop menu
208specification, the MATE menu layout configuration files, .directory files and
209assorted menu related utility programs.")
210 (license (list license:gpl2+ license:lgpl2.0+))))
211
212(define-public caja
213 (package
214 (name "caja")
215 (version "1.18.3")
216 (source
217 (origin
218 (method url-fetch)
219 (uri (string-append "https://pub.mate-desktop.org/releases/"
220 (version-major+minor version) "/"
221 name "-" version ".tar.xz"))
222 (sha256
223 (base32
224 "0mljqcx7k8p27854zm7qzzn8ca6hs7hva9p43hp4p507z52caqmm"))))
225 (build-system glib-or-gtk-build-system)
226 (arguments
227 `(#:configure-flags '("--disable-update-mimedb")
228 #:tests? #f ; tests fail even with display set
229 #:phases
230 (modify-phases %standard-phases
231 (add-before 'check 'pre-check
232 (lambda _
233 ;; Tests require a running X server.
234 (system "Xvfb :1 &")
235 (setenv "DISPLAY" ":1")
236 ;; For the missing /etc/machine-id.
237 (setenv "DBUS_FATAL_WARNINGS" "0")
238 #t)))))
239 (native-inputs
240 `(("pkg-config" ,pkg-config)
241 ("intltool" ,intltool)
242 ("glib:bin" ,glib "bin")
243 ("xorg-server" ,xorg-server)
244 ("gobject-introspection" ,gobject-introspection)))
245 (inputs
246 `(("exempi" ,exempi)
247 ("gtk+" ,gtk+)
248 ("gvfs" ,gvfs)
249 ("libexif" ,libexif)
250 ("libnotify" ,libnotify)
251 ("libsm" ,libsm)
252 ("libxml2" ,libxml2)
253 ("mate-desktop" ,mate-desktop)
254 ("startup-notification" ,startup-notification)))
255 (home-page "https://mate-desktop.org/")
256 (synopsis "File manager for the MATE desktop")
257 (description
258 "Caja is the official file manager for the MATE desktop.
259It allows for browsing directories, as well as previewing files and launching
260applications associated with them. Caja is also responsible for handling the
261icons on the MATE desktop. It works on local and remote filesystems.")
262 ;; There is a note about a TRADEMARKS_NOTICE file in COPYING which
263 ;; does not exist. It is safe to assume that this is of no concern
264 ;; for us.
265 (license license:gpl2+)))