gnu: Add lxpanel.
[jackhill/guix/guix.git] / gnu / packages / lxde.scm
CommitLineData
889e57f4
ML
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
2c2a9ef7 3;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
dc29cc77 4;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
889e57f4
ML
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 lxde)
d3897349 22 #:use-module (gnu packages)
83365461 23 #:use-module (gnu packages autotools)
d3897349 24 #:use-module (gnu packages docbook)
50042505 25 #:use-module (gnu packages gettext)
889e57f4 26 #:use-module (gnu packages glib)
19dd9983 27 #:use-module (gnu packages gnome)
889e57f4 28 #:use-module (gnu packages gtk)
50042505 29 #:use-module (gnu packages linux)
889e57f4 30 #:use-module (gnu packages pkg-config)
d3897349 31 #:use-module (gnu packages polkit)
50042505 32 #:use-module (gnu packages wm)
33 #:use-module (gnu packages xml)
b3527d5d 34 #:use-module (gnu packages xorg)
889e57f4
ML
35 #:use-module (guix build-system gnu)
36 #:use-module (guix download)
37 #:use-module ((guix licenses) #:prefix license:)
6e6b5344
ML
38 #:use-module (guix packages)
39 #:use-module (guix utils))
889e57f4 40
19dd9983 41(define-public libfm
83365461 42 (package
19dd9983 43 (name "libfm")
e139652d 44 (version "1.2.5")
83365461
ML
45 (source (origin
46 (method url-fetch)
0f971a04 47 (uri (string-append "mirror://sourceforge/pcmanfm/"
19dd9983
ML
48 "PCManFM%20%2B%20Libfm%20%28tarball%20release"
49 "%29/LibFM/" name "-" version ".tar.xz"))
83365461
ML
50 (sha256
51 (base32
e139652d 52 "0nlvfwh09gbq8bkbvwnw6iqr918rrs9gc9ljb9pjspyg408bn1n7"))))
83365461 53 (build-system gnu-build-system)
19dd9983
ML
54 (inputs `(("glib" ,glib)
55 ("gtk+" ,gtk+-2)))
56 (native-inputs `(("intltool" ,intltool)
57 ("glib" ,glib "bin") ; for gtester
58 ("libtool" ,libtool)
59 ("menu-cache" ,menu-cache)
60 ("pkg-config" ,pkg-config)
61 ("vala" ,vala)))
62 (synopsis "File management support (core library)")
63 (description "LibFM provides file management functions built on top of
64Glib/GIO giving a higher-level API.")
65 (home-page "http://lxde.org")
66 (license license:gpl2+)))
67
68(define-public libfm-extra
69 (package (inherit libfm)
70 (name "libfm-extra")
83365461
ML
71 (arguments '(#:configure-flags '("--with-extra-only")))
72 (inputs `(("glib" ,glib)))
73 (native-inputs `(("intltool" ,intltool)
74 ("libtool" ,libtool)
75 ("pkg-config" ,pkg-config)))
76 (synopsis "File management support (extra library)")
19dd9983
ML
77 (description "This package contains standalone library which extends the
78libFM file management library.")))
83365461 79
889e57f4
ML
80(define-public lxappearance
81 (package
82 (name "lxappearance")
2c2a9ef7 83 (version "0.6.2")
889e57f4
ML
84 (source (origin
85 (method url-fetch)
0f971a04 86 (uri (string-append "mirror://sourceforge/lxde/"
889e57f4
ML
87 "LXAppearance/" name "-" version ".tar.xz"))
88 (sha256
89 (base32
2c2a9ef7 90 "07r0xbi6504zjnbpan7zrn7gi4j0kbsqqfpj8v2x94gr05p16qj4"))))
889e57f4
ML
91 (build-system gnu-build-system)
92 (inputs `(("gtk+" ,gtk+-2)))
93 (native-inputs `(("intltool" ,intltool)
94 ("pkg-config" ,pkg-config)))
95 (synopsis "LXDE GTK+ theme switcher")
96 (description "LXAppearance is a desktop-independent GTK+ theme switcher
97able to change themes, icons, and fonts used by GTK+ applications.")
98 (home-page "http://lxde.org")
753dc7d3
ML
99 (license license:gpl2+)))
100
729b44e3
ML
101(define-public lxrandr
102 (package
103 (name "lxrandr")
d7ec759a 104 (version "0.3.1")
729b44e3
ML
105 (source (origin
106 (method url-fetch)
0f971a04 107 (uri (string-append "mirror://sourceforge/lxde/LXRandR"
729b44e3
ML
108 "%20%28monitor%20config%20tool%29/LXRandR%20"
109 (version-major+minor version) ".x/"
110 name "-" version ".tar.xz"))
111 (sha256
112 (base32
d7ec759a 113 "0khqi42paqg82jllb2kza4arf3fafzgq90fhyr3rw3d9hn23763d"))))
729b44e3
ML
114 (build-system gnu-build-system)
115 (inputs `(("gtk+" ,gtk+-2)))
116 (native-inputs `(("intltool" ,intltool)
117 ("pkg-config" ,pkg-config)))
118 (synopsis "LXDE monitor configuration tool")
119 (description "LXRandR is a very basic monitor configuration tool. It
120relies on the X11 resize-and-rotate (RandR) extension but doesn't aim to be a
121full frontend of it. LXRandR only gives you some easy and quick options which
122are intuitive. It's suitable for laptop users who frequently uses projectors
123or external monitor.")
124 (home-page "http://lxde.org")
125 (license license:gpl2+)))
126
6f92ad5a
ML
127(define-public lxtask
128 (package
129 (name "lxtask")
d78c952d 130 (version "0.1.7")
6f92ad5a
ML
131 (source (origin
132 (method url-fetch)
0f971a04 133 (uri (string-append "mirror://sourceforge/lxde/LXTask"
6f92ad5a
ML
134 "%20%28task%20manager%29/LXTask%20"
135 (version-major+minor version) ".x/"
136 name "-" version ".tar.xz"))
137 (sha256
138 (base32
d78c952d 139 "1zihhvzsg9bl6k0gv7jwx6cgsi3rmcagvnmshc1h0mjq2immmdph"))))
6f92ad5a
ML
140 (build-system gnu-build-system)
141 (inputs `(("gtk+" ,gtk+-2)))
142 (native-inputs `(("intltool" ,intltool)
143 ("pkg-config" ,pkg-config)))
144 (synopsis "LXDE task manager")
145 (description "LXTask is a lightweight task manager derived from Xfce task
146manager with all dependencies on Xfce removed. LXTask is based on the GTK+
147toolkit. It allows users to monitor and control of running processes.")
148 (home-page "http://lxde.org")
149 (license license:gpl2+)))
150
753dc7d3
ML
151(define-public lxterminal
152 (package
153 (name "lxterminal")
dc29cc77 154 (version "0.3.0")
753dc7d3
ML
155 (source (origin
156 (method url-fetch)
0f971a04 157 (uri (string-append "mirror://sourceforge/lxde/LXTerminal"
753dc7d3 158 "%20%28terminal%20emulator%29/LXTerminal%20"
dc29cc77 159 version "/" name "-" version ".tar.xz"))
753dc7d3
ML
160 (sha256
161 (base32
dc29cc77 162 "1yf76s15zvfw0h42b0ay1slpq47khgjmcry8ki2z812zar9lchia"))))
753dc7d3 163 (build-system gnu-build-system)
dc29cc77 164 (arguments
165 `(;; Tests for "po" fail with "No rule to make target '../src/encoding.c'
166 ;; needed by 'lxterminal.pot'. Stop."
167 #:tests? #f))
753dc7d3
ML
168 (inputs `(("gtk+" ,gtk+-2)
169 ("vte" ,vte/gtk+-2)))
170 (native-inputs `(("intltool" ,intltool)
171 ("pkg-config" ,pkg-config)))
172 (synopsis "LXDE terminal emulator")
173 (description "LXTerminal is a VTE-based terminal emulator. It supports
174multiple tabs and has only minimal dependencies thus being completely
175desktop-independent. In order to reduce memory usage and increase the
176performance, all instances of the terminal are sharing a single process.")
177 (home-page "http://lxde.org")
889e57f4
ML
178 (license license:gpl2+)))
179
6e6b5344
ML
180(define-public menu-cache
181 (package
182 (name "menu-cache")
bed2e0df 183 (version "1.0.2")
6e6b5344
ML
184 (source (origin
185 (method url-fetch)
0f971a04 186 (uri (string-append "mirror://sourceforge/lxde/" name "/"
6e6b5344
ML
187 (version-major+minor version) "/"
188 name "-" version ".tar.xz"))
189 (sha256
190 (base32
bed2e0df 191 "1m8j40npykfcfqs43kc0fmksal2jfmfi8lnb3mq3xy1lvvrfv0vg"))))
6e6b5344
ML
192 (build-system gnu-build-system)
193 (inputs `(("glib" ,glib)
194 ("libfm" ,libfm-extra)))
195 (native-inputs `(("pkg-config" ,pkg-config)))
196 (synopsis "LXDE implementation of the freedesktop menu's cache")
197 (description "Menu-cache is a library creating and utilizing caches to
198speed up the access to freedesktop.org defined application menus.")
199 (home-page "http://lxde.org")
200 (license license:lgpl2.1+)))
201
b3527d5d
ML
202(define-public pcmanfm
203 (package
204 (name "pcmanfm")
e139652d 205 (version "1.2.5")
b3527d5d
ML
206 (source (origin
207 (method url-fetch)
0f971a04 208 (uri (string-append "mirror://sourceforge/" name "/"
b3527d5d
ML
209 "PCManFM%20%2B%20Libfm%20%28tarball%20release"
210 "%29/PCManFM/" name "-" version ".tar.xz"))
211 (sha256
212 (base32
e139652d 213 "0rxdh0dfzc84l85c54blq42gczygq8adhr3l9hqzy1dp530cm1hc"))))
b3527d5d
ML
214 (build-system gnu-build-system)
215 ;; (#:configure-flags '("--sysconfdir=/etc")) suggested in README.
216 (inputs `(("gtk+" ,gtk+-2)
217 ;; TODO: add ("gvfs" ,gvfs).
218 ("libfm" ,libfm)
219 ("libx11" ,libx11)))
220 (native-inputs `(("intltool" ,intltool)
221 ("libtool" ,libtool)
222 ("pkg-config" ,pkg-config)))
223 (synopsis "LXDE file manager")
224 (description "PCMan is a lightweight GTK+ based file manager, compliant
225with freedesktop.org standard.")
226 (home-page "http://lxde.org")
227 (license license:gpl2+)))
228
7f7d52cc 229(define-public lxmenu-data
230 (package
231 (name "lxmenu-data")
232 (version "0.1.5")
233 (source
234 (origin
235 (method url-fetch)
236 (uri (string-append "https://downloads.sourceforge.net/lxde/"
237 name "-" version ".tar.xz"))
238 (sha256
239 (base32
240 "1f5sh2dvb3pdnjlcsyzq9543ck2jsqizkx3204cr22zm5s6j3qwz"))))
241 (build-system gnu-build-system)
242 (native-inputs
243 `(("pkg-config" ,pkg-config)
244 ("intltool" ,intltool)))
245 (synopsis "Freedesktop.org desktop menus for LXDE")
246 (description
247 "Lxmenu-data provides files required to build freedesktop.org
248menu spec-compliant desktop menus for LXDE.")
249 (home-page "http://lxde.org")
250 (license license:lgpl2.1+)))
251
4dcbed57 252(define-public lxde-icon-theme
253 (package
254 (name "lxde-icon-theme")
255 (version "0.5.1")
256 (source
257 (origin
258 (method url-fetch)
259 (uri (string-append "https://downloads.sourceforge.net/lxde/"
260 name "-" version ".tar.xz"))
261 (sha256
262 (base32
263 "0v4i6x86fr2hbx4fb2si7y2qzmj7h6hcjwaifnin18r8kwwvgl73"))))
264 (build-system gnu-build-system)
265 (native-inputs
266 `(("pkg-config" ,pkg-config)))
267 (synopsis "LXDE default icon theme based on nuoveXT2")
268 (description
269 "Lxde-icon-theme provides an default icon theme for LXDE.")
270 (home-page "http://lxde.org")
271 (license license:lgpl3)))
272
169274d5 273(define-public lxde-common
274 (package
275 (name "lxde-common")
276 (version "0.99.2")
277 (source
278 (origin
279 (method url-fetch)
280 (uri (string-append "https://downloads.sourceforge.net/lxde/"
281 name "-" version ".tar.xz"))
282 (sha256
283 (base32
284 "0mj84fa3f4ak1jjslrwc2q3ci9zxrxpciggviza9bjb0168brn8w"))))
285 (build-system gnu-build-system)
286 (native-inputs
287 `(("pkg-config" ,pkg-config)
288 ("intltool" ,intltool)
289 ("lxmenu-data" ,lxmenu-data)
290 ("lxde-icon-theme" ,lxde-icon-theme)))
291 (synopsis "Common files of the LXDE Desktop")
292 (description
293 "Lxde-common provides common files of the LXDE Desktop.")
294 (home-page "http://lxde.org")
295 (license license:gpl2+)))
296
f3b3af37 297(define-public lxinput
298 (package
299 (name "lxinput")
300 (version "0.3.5")
301 (source
302 (origin
303 (method url-fetch)
304 (uri (string-append "https://downloads.sourceforge.net/lxde/"
305 name "-" version ".tar.xz"))
306 (sha256
307 (base32
308 "123f3yn4rp1w5b3n5aj3ad9snkxab29qkrs7bcvf5bx4cn57g3sf"))))
309 (build-system gnu-build-system)
310 (inputs
311 `(("gtk+-2" ,gtk+-2)))
312 (native-inputs
313 `(("pkg-config" ,pkg-config)
314 ("intltool" ,intltool)))
315 (synopsis "Tool for mouse and keyboard configuration in LXDE")
316 (description
317 "Lxinput provides a small program to configure keyboard and mouse
318in LXDE.")
319 (home-page "http://lxde.org")
320 (license license:gpl2+)))
321
d3897349 322(define-public lxsession
323 (package
324 (name "lxsession")
325 (version "0.5.3")
326 (source
327 (origin
328 (method url-fetch)
329 (uri (string-append "https://downloads.sourceforge.net/lxde/"
330 name "-" version ".tar.xz"))
331 (patches (search-patches "lxsession-use-gapplication.patch"))
332 (sha256
333 (base32
334 "1a0zmyywwzdh59nc0l94cir18vhp633z4q2xfhn5zx11ajj45gwh"))))
335 (build-system gnu-build-system)
336 (arguments
337 `(#:phases
338 (modify-phases %standard-phases
339 (add-after 'unpack 'rm-stamp
340 (lambda _
341 (for-each delete-file (find-files "." "\\.stamp$"))))
342 (add-after 'rm-stamp 'autoreconf
343 (lambda _
344 (zero? (system* "autoreconf" "-vfi")))))))
345 (inputs
346 `(("gtk+-2" ,gtk+-2)
347 ("polkit" ,polkit)))
348 (native-inputs
349 `(("pkg-config" ,pkg-config)
350 ("intltool" ,intltool)
351 ("docbook-xsl" ,docbook-xsl)
352 ("vala" ,vala)
353 ("autoconf" ,autoconf)
354 ("automake" ,automake)))
355 (synopsis "Lightweight X11 session manager")
356 (description
357 "Lxsession provides an lightweight X11 session manager.")
358 (home-page "http://lxde.org")
359 (license license:gpl2+)))
360
50042505 361(define-public lxpanel
362 (package
363 (name "lxpanel")
364 (version "0.9.3")
365 (source
366 (origin
367 (method url-fetch)
368 (uri (string-append "https://downloads.sourceforge.net/lxde/"
369 name "-" version ".tar.xz"))
370 (sha256
371 (base32
372 "1ccgv7jgl3y865cpb6w7baaz7468fxncm83bqxlwyni5bwhglb1l"))))
373 (build-system gnu-build-system)
374 (arguments
375 `(#:phases
376 (modify-phases %standard-phases
377 (add-after 'install 'wrap
378 (lambda* (#:key inputs outputs #:allow-other-keys)
379 (let ((out (assoc-ref outputs "out"))
380 (menu (assoc-ref inputs "lxmenu-data")))
381 (wrap-program (string-append out "/bin/lxpanel")
382 `("XDG_DATA_DIRS" ":" prefix
383 (,(string-append menu "/share"))))
384 #t))))))
385 (inputs
386 ;; TODO: libindicator-0.3.0
387 `(("gtk+-2" ,gtk+-2)
388 ("alsa-lib" ,alsa-lib)
389 ("libwnck-2" ,libwnck-2)
390 ("keybinder" ,keybinder)
391 ("libxmu" ,libxmu)
392 ("libxpm" ,libxpm)
393 ("libxml2" ,libxml2)
394 ("cairo" ,cairo)
395 ("libx11" ,libx11)
396 ("wireless-tools" ,wireless-tools)))
397 (native-inputs
398 `(("pkg-config" ,pkg-config)
399 ("intltool" ,intltool)
400 ("docbook-xml" ,docbook-xml)
401 ("gettext-minimal" ,gettext-minimal)))
402 (propagated-inputs
403 `(("lxmenu-data" ,lxmenu-data)
404 ("libfm" ,libfm)
405 ("menu-cache" ,menu-cache)))
406 (synopsis "X11 Desktop panel for LXDE")
407 (description
408 "Lxpanel provides an X11 desktop panel for LXDE.")
409 (home-page "http://lxde.org")
410 (license license:gpl2+)))
411
889e57f4 412;;; lxde.scm ends here