Commit | Line | Data |
---|---|---|
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 | |
64 | Glib/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 |
78 | libFM 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 | |
97 | able 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 | |
120 | relies on the X11 resize-and-rotate (RandR) extension but doesn't aim to be a | |
121 | full frontend of it. LXRandR only gives you some easy and quick options which | |
122 | are intuitive. It's suitable for laptop users who frequently uses projectors | |
123 | or 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 | |
146 | manager with all dependencies on Xfce removed. LXTask is based on the GTK+ | |
147 | toolkit. 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 | |
174 | multiple tabs and has only minimal dependencies thus being completely | |
175 | desktop-independent. In order to reduce memory usage and increase the | |
176 | performance, 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 | |
198 | speed 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 | |
225 | with 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 | |
248 | menu 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 | |
318 | in 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 |