gnu: linux-libre-4.4: Update to 4.4.7.
[jackhill/guix/guix.git] / gnu / packages / xdisorg.scm
CommitLineData
3c156c8a
JD
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
18ad5bff 3;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
3c156c8a 4;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
11447a79 5;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
ab69d9ac 6;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
76212b57 7;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
42f2c2b9 8;;; Copyright © 2015 Alexander I.Grafov <grafov@gmail.com>
f1f7049e 9;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
998b8c07 10;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
6645753b 11;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net>
6f74aecd 12;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
b951e26f 13;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
3c156c8a
JD
14;;;
15;;; This file is part of GNU Guix.
16;;;
17;;; GNU Guix is free software; you can redistribute it and/or modify it
18;;; under the terms of the GNU General Public License as published by
19;;; the Free Software Foundation; either version 3 of the License, or (at
20;;; your option) any later version.
21;;;
22;;; GNU Guix is distributed in the hope that it will be useful, but
23;;; WITHOUT ANY WARRANTY; without even the implied warranty of
24;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25;;; GNU General Public License for more details.
26;;;
27;;; You should have received a copy of the GNU General Public License
28;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29
30(define-module (gnu packages xdisorg)
31 #:use-module ((guix licenses) #:prefix license:)
32 #:use-module (guix packages)
33 #:use-module (guix download)
18ad5bff 34 #:use-module (guix utils)
3c156c8a 35 #:use-module (guix build-system gnu)
f1f7049e 36 #:use-module (guix build-system glib-or-gtk)
ae05b185 37 #:use-module (guix build-system python)
3c156c8a 38 #:use-module (gnu packages)
998b8c07 39 #:use-module (gnu packages asciidoc)
b4c400a7 40 #:use-module (gnu packages algebra)
3c156c8a
JD
41 #:use-module (gnu packages compression)
42 #:use-module (gnu packages image)
43 #:use-module (gnu packages pkg-config)
ae05b185 44 #:use-module (gnu packages gettext)
2e88e089 45 #:use-module (gnu packages glib)
b9cbe316 46 #:use-module (gnu packages gnome) ;for libgudev
1ef3f91a 47 #:use-module (gnu packages ncurses)
de51bf58 48 #:use-module (gnu packages perl)
ae05b185 49 #:use-module (gnu packages python)
ab69d9ac 50 #:use-module (gnu packages linux)
b4c400a7 51 #:use-module (gnu packages gl)
76212b57 52 #:use-module (gnu packages guile)
f1f7049e
AW
53 #:use-module (gnu packages xml)
54 #:use-module (gnu packages gtk)
6f74aecd 55 #:use-module (gnu packages qt)
3c156c8a
JD
56 #:use-module (gnu packages xorg))
57
3c156c8a
JD
58;; packages outside the x.org system proper
59
ae05b185
ML
60(define-public arandr
61 (package
62 (name "arandr")
63 (version "0.1.8")
64 (source (origin
65 (method url-fetch)
66 (uri (string-append "http://christian.amsuess.com/tools/" name
67 "/files/" name "-" version ".tar.gz"))
68 (sha256
69 (base32
70 "0d574mbmhaqmh7kivaryj2hpghz6xkvic9ah43s1hf385y7c33kd"))))
71 (build-system python-build-system)
b951e26f
RW
72 (arguments
73 `(#:python ,python-2 ;incompatible with python 3
74 #:tests? #f ;no tests
75 #:phases
76 (modify-phases %standard-phases
77 (add-after 'install 'make-xrandr-available
78 (lambda* (#:key inputs outputs #:allow-other-keys)
79 (wrap-program (string-append (assoc-ref outputs "out")
80 "/bin/arandr")
81 `("PATH" ":" prefix (,(string-append (assoc-ref inputs "xrandr")
82 "/bin"))))
83 #t)))))
84 (inputs `(("pygtk" ,python2-pygtk)
85 ("xrandr" ,xrandr)))
ae05b185
ML
86 (native-inputs `(("gettext" ,gnu-gettext)
87 ("python-docutils" ,python2-docutils)
88 ("python-setuptools" ,python2-setuptools)))
89 (home-page "https://christian.amsuess.com/tools/arandr/")
90 (synopsis "Another RandR graphical user interface")
91 ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
92 (description "ARandR is designed to provide a simple visual front end for
93the X11 resize-and-rotate (RandR) extension. Relative monitor positions are
94shown graphically and can be changed in a drag-and-drop way. Configurations
95are saved as executable shell scripts which can be loaded without using this
96program.")
97 (license license:gpl3+)))
98
de878f1b
JD
99(define-public xclip
100 (package
101 (name "xclip")
102 (version "0.12")
103 (source
104 (origin
105 (method url-fetch)
106 (uri (string-append
107 "mirror://sourceforge/" name "/" name "-" version ".tar.gz"))
108 (sha256
109 (base32
110 "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp"))))
111 (build-system gnu-build-system)
112 (arguments
113 '(#:tests? #f)) ; There is no test suite
114 (inputs `(("libxmu" ,libxmu)
115 ("libxt" ,libxt)))
116 (home-page "http://xclip.sourceforge.net/")
117 (synopsis "Command line interface to X11 clipboard")
118 (description "Xclip is a command line interface to the X11 clipboard. It
119can also be used for copying files, as an alternative to sftp/scp, thus
120avoiding password prompts when X11 forwarding has already been setup.")
121 (license license:gpl2+)))
122
de51bf58
JD
123(define-public xdotool
124 (package
125 (name "xdotool")
6f74aecd 126 (version "3.20150503.1")
de51bf58
JD
127 (source
128 (origin
129 (method url-fetch)
130 (uri (string-append
6f74aecd
CAW
131 "https://github.com/jordansissel/xdotool/releases/download/v"
132 version "/xdotool-" version ".tar.gz"))
de51bf58
JD
133 (sha256
134 (base32
6f74aecd
CAW
135 "1lcngsw33fy9my21rdiz1gs474bfdqcfxjrnfggbx4aypn1nhcp8"))
136 (patches (list (search-patch "xdotool-fix-makefile.patch")))))
de51bf58
JD
137 (build-system gnu-build-system)
138 (arguments
139 '(#:tests? #f ; Test suite requires a lot of black magic
ca0d2a63
AG
140 #:phases
141 (alist-replace 'configure
de51bf58
JD
142 (lambda* (#:key outputs #:allow-other-keys #:rest args)
143 (setenv "PREFIX" (assoc-ref outputs "out"))
144 (setenv "LDFLAGS" (string-append "-Wl,-rpath="
145 (assoc-ref
146 %outputs "out") "/lib"))
147 (setenv "CC" "gcc"))
148 %standard-phases)))
149 (native-inputs `(("perl" ,perl))) ; for pod2man
150 (inputs `(("libx11" ,libx11)
151 ("libxext" ,libxext)
152 ("libxi" ,libxi)
153 ("libxinerama" ,libxinerama)
6f74aecd
CAW
154 ("libxtst" ,libxtst)
155 ("libxkbcommon" ,libxkbcommon)))
de51bf58
JD
156 (home-page "http://www.semicomplete.com/projects/xdotool")
157 (synopsis "Fake keyboard/mouse input, window management, and more")
158 (description "Xdotool lets you simulate keyboard input and mouse activity,
159move and resize windows, etc. It does this using X11's XTEST extension and
160other Xlib functions. Additionally, you can search for windows and move,
161resize, hide, and modify window properties like the title. If your window
162manager supports it, you can use xdotool to switch desktops, move windows
163between desktops, and change the number of desktops.")
164 (license license:bsd-3)))
165
3c156c8a
JD
166(define-public xeyes
167 (package
168 (name "xeyes")
169 (version "1.0.1")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append
174 "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
175 version
176 ".orig.tar.gz"))
177 (sha256
178 (base32
179 "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
180 (build-system gnu-build-system)
181 (inputs
182 `(("libxext" ,libxext)
183 ("libxmu" ,libxmu)
184 ("libxt" ,libxt)))
185 (native-inputs
186 `(("pkg-config" ,pkg-config)))
187 (home-page "http://xeyes.sourcearchive.com/")
188 (synopsis "Follow-the-mouse X demo")
189 (description "Xeyes is a demo program for x.org. It shows eyes
190following the mouse.")
191 (license license:x11)))
192
193
194(define-public pixman
195 (package
196 (name "pixman")
997f86e9
LC
197 (version "0.32.8")
198 (source (origin
199 (method url-fetch)
200 (uri (string-append
201 "http://cairographics.org/releases/pixman-"
202 version ".tar.gz"))
203 (sha256
204 (base32
205 "0pfn0247sjsi95kwjih0wwqpp28wadihqk1bn28x6iqbqhbxwnjp"))))
3c156c8a
JD
206 (build-system gnu-build-system)
207 (inputs
997f86e9
LC
208 `(("libpng" ,libpng)
209 ("zlib" ,zlib)))
3c156c8a 210 (native-inputs
997f86e9 211 `(("pkg-config" ,pkg-config)))
3c156c8a
JD
212 (home-page "http://www.pixman.org/")
213 (synopsis "Low-level pixel manipulation library")
214 (description "Pixman is a low-level software library for pixel
215manipulation, providing features such as image compositing and trapezoid
216rasterisation.")
217 (license license:x11)))
218
219
220(define-public libdrm
221 (package
222 (name "libdrm")
3b54548f 223 (version "2.4.65")
3c156c8a
JD
224 (source
225 (origin
226 (method url-fetch)
227 (uri (string-append
5cc3096c 228 "https://dri.freedesktop.org/libdrm/libdrm-"
3c156c8a
JD
229 version
230 ".tar.bz2"))
231 (sha256
232 (base32
b2aab72c
MW
233 "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki"))
234 (patches (list (search-patch "libdrm-symbol-check.patch")))))
3c156c8a
JD
235 (build-system gnu-build-system)
236 (inputs
237 `(("libpciaccess" ,libpciaccess)
238 ("libpthread-stubs" ,libpthread-stubs)))
239 (native-inputs
240 `(("pkg-config" ,pkg-config)))
241 (home-page "http://dri.freedesktop.org/wiki/")
242 (synopsis "Direct rendering userspace library")
243 (description "The Direct Rendering Infrastructure, also known as the DRI,
244is a framework for allowing direct access to graphics hardware under the
245X Window System in a safe and efficient manner. It includes changes to the
246X server, to several client libraries, and to the kernel (DRM, Direct
247Rendering Manager). The most important use for the DRI is to create fast
248OpenGL implementations providing hardware acceleration for Mesa.
249Several 3D accelerated drivers have been written to the DRI specification,
250including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
251and Matrox.")
252 (license license:x11)))
253
254
3c156c8a
JD
255(define-public mtdev
256 (package
257 (name "mtdev")
258 (version "1.1.3")
259 (source
260 (origin
261 (method url-fetch)
262 (uri (string-append
263 "http://bitmath.org/code/mtdev/mtdev-"
264 version ".tar.bz2"))
265 (sha256
266 (base32
267 "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d"))))
268 (build-system gnu-build-system)
269 (home-page "http://bitmath.org/code/mtdev/")
270 (synopsis "Multitouch protocol translation library")
271 (description "Mtdev is a stand-alone library which transforms all
272variants of kernel MT events to the slotted type B protocol. The events
273put into mtdev may be from any MT device, specifically type A without
274contact tracking, type A with contact tracking, or type B with contact
275tracking.")
276 (license license:x11)))
a693bba1
SB
277
278(define-public startup-notification
279 (package
280 (name "startup-notification")
281 (version "0.12")
282 (source
283 (origin
284 (method url-fetch)
5cc3096c 285 (uri (string-append "https://www.freedesktop.org/software/" name
a693bba1
SB
286 "/releases/" name "-" version ".tar.gz"))
287 (sha256
288 (base32
289 "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
290 (build-system gnu-build-system)
291 (native-inputs `(("pkg-config" ,pkg-config)))
292 (inputs
293 `(("libx11" ,libx11)
294 ("xcb-util" ,xcb-util)))
295 (home-page "http://www.freedesktop.org/wiki/Software/startup-notification/")
296 (synopsis "Application startup notification and feedback library")
297 (description
298 "Startup-notification contains a reference implementation of the startup
299notification protocol. The reference implementation is mostly under an X Window
300System style license, and has no special dependencies.")
301 ;; Most of the code is provided under x11 license.
302 (license license:lgpl2.0+)))
2e88e089
AK
303
304(define-public wmctrl
305 (package
306 (name "wmctrl")
307 (version "1.07")
308 (source (origin
309 (method url-fetch)
310 (uri (string-append
d6420533 311 "https://sites.google.com/site/tstyblo/wmctrl/wmctrl-"
2e88e089
AK
312 version ".tar.gz"))
313 (sha256
314 (base32
315 "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
316 (patches (list (search-patch "wmctrl-64-fix.patch")))))
317 (build-system gnu-build-system)
318 (arguments
319 '(#:configure-flags
320 (list (string-append "--mandir="
321 (assoc-ref %outputs "out")
322 "/share/man"))))
323 (native-inputs
324 `(("pkg-config" ,pkg-config)))
325 (inputs
326 `(("libx11" ,libx11)
327 ("libxmu" ,libxmu)
328 ("glib" ,glib)))
329 (home-page "http://tomas.styblo.name/wmctrl/")
330 (synopsis "Command-line tool to control X window managers")
331 (description
332 "Wmctrl allows to interact with an X window manager that is compatible
333with the EWMH/NetWM specification. It can query the window manager for
334information, and request for certain window management actions (resize and
e881752c 335move windows, switch between desktops, etc.).")
2e88e089 336 (license license:gpl2+)))
1410f342
AK
337
338(define-public scrot
339 (package
340 (name "scrot")
341 (version "0.8")
342 (source (origin
343 (method url-fetch)
344 (uri (string-append
345 "http://linuxbrit.co.uk/downloads/scrot-"
346 version ".tar.gz"))
347 (sha256
348 (base32
349 "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
350 (build-system gnu-build-system)
351 (arguments
352 ;; By default, man and doc are put in PREFIX/{man,doc} instead of
353 ;; PREFIX/share/{man,doc}.
354 '(#:configure-flags
355 (list (string-append "--mandir="
356 (assoc-ref %outputs "out")
357 "/share/man"))
358 #:phases (alist-replace
359 'install
360 (lambda* (#:key inputs outputs #:allow-other-keys)
361 (let* ((out (assoc-ref outputs "out"))
362 (doc (string-append out "/share/doc/scrot")))
363 (mkdir-p doc)
364 (zero?
365 (system* "make" "install"
366 (string-append "docsdir=" doc)))))
367 %standard-phases)))
368 (inputs
369 `(("libx11" ,libx11)
370 ("giblib" ,giblib)))
371 (home-page "http://linuxbrit.co.uk/software/")
372 (synopsis "Command-line screen capture utility for X Window System")
373 (description
374 "Scrot allows to save a screenshot of a full screen, a window or a part
375of the screen selected by mouse.")
376 ;; This license removes a clause about X Consortium from the original
377 ;; X11 license.
378 (license (license:x11-style "file://COPYING"
379 "See 'COPYING' in the distribution."))))
4a01b30b
AK
380
381(define-public unclutter
382 (package
383 (name "unclutter")
384 (version "8")
385 (source (origin
386 (method url-fetch)
387 (uri (string-append
388 "http://ftp.x.org/contrib/utilities/unclutter-"
389 version ".tar.Z"))
390 (sha256
391 (base32
392 "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
393 (build-system gnu-build-system)
394 (arguments
395 '(#:tests? #f ; no check target
396 #:phases (alist-delete
397 'configure
398 (alist-replace
399 'install
400 (lambda* (#:key inputs outputs #:allow-other-keys)
401 (let* ((out (assoc-ref outputs "out"))
402 (bin (string-append out "/bin"))
403 (man1 (string-append out "/share/man/man1")))
404 (mkdir-p bin)
405 (mkdir-p man1)
406 (zero?
407 (system* "make" "install" "install.man"
408 (string-append "BINDIR=" bin)
409 (string-append "MANDIR=" man1)))))
410 %standard-phases))))
411 (inputs `(("libx11" ,libx11)))
412 (home-page "http://ftp.x.org/contrib/utilities/")
413 (synopsis "Hide idle mouse cursor")
414 (description
415 "Unclutter is a program which runs permanently in the background of an
416X11 session. It checks on the X11 pointer (cursor) position every few
417seconds, and when it finds it has not moved (and no buttons are pressed
418on the mouse, and the cursor is not in the root window) it creates a
419small sub-window as a child of the window the cursor is in. The new
420window installs a cursor of size 1x1 but a mask of all 0, i.e. an
421invisible cursor. This allows you to see all the text in an xterm or
422xedit, for example. The human factors crowd would agree it should make
423things less distracting.")
424 (license license:public-domain)))
ab69d9ac
LC
425
426(define-public xlockmore
427 (package
428 (name "xlockmore")
75bae747 429 (version "5.46")
ab69d9ac
LC
430 (source (origin
431 (method url-fetch)
20c04358
LF
432 (uri (list (string-append
433 "http://www.tux.org/~bagleyd/xlock/xlockmore-"
434 version ".tar.xz")
435 (string-append
436 "http://www.tux.org/~bagleyd/xlock/xlockmore-old"
437 "/xlockmore-" version
438 "/xlockmore-" version ".tar.bz2")))
ab69d9ac
LC
439 (sha256
440 (base32
75bae747 441 "1ps0dmnh912x8mwns94y2607xk90rjxrjn5s1pkmmpjg5h9bxcrj"))))
ab69d9ac
LC
442 (build-system gnu-build-system)
443 (arguments
444 '(#:configure-flags (list (string-append "--enable-appdefaultdir="
445 (assoc-ref %outputs "out")
446 "/lib/X11/app-defaults"))
447 #:tests? #f)) ;no such thing as a test suite
448 (inputs
449 `(("libX11" ,libx11)
450 ("libXext" ,libxext)
451 ("libXt" ,libxt)
452 ("linux-pam" ,linux-pam)))
453 (home-page "http://www.tux.org/~bagleyd/xlockmore.html")
454 (synopsis "Screen locker for the X Window System")
455 (description
456 "XLockMore is a classic screen locker and screen saver for the
457X Window System.")
166191b3 458 (license (license:non-copyleft #f "See xlock.c.")
ab69d9ac
LC
459 ;; + GPLv2 in modes/glx/biof.c.
460 )))
11447a79
AK
461
462(define-public xosd
463 (package
464 (name "xosd")
465 (version "2.2.14")
466 (source (origin
467 (method url-fetch)
468 (uri (string-append
469 "mirror://sourceforge/libxosd/xosd-"
470 version ".tar.gz"))
471 (sha256
472 (base32
473 "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg"))))
474 (build-system gnu-build-system)
475 (arguments
476 '(#:configure-flags
477 (list (string-append "--mandir=" %output "/share/man"))))
478 (inputs
479 `(("libx11" ,libx11)
480 ("libxt" ,libxt)
481 ("libxext" ,libxext)
482 ("libxinerama" ,libxinerama)))
483 (home-page "http://sourceforge.net/projects/libxosd/")
484 (synopsis "X On Screen Display")
485 (description
486 "XOSD provides a C library and a simple utility (osd_cat) for displaying
487transparent text on your screen.")
488 (license license:gpl2+)))
76212b57
ML
489
490(define-public xbindkeys
491 (package
492 (name "xbindkeys")
493 (version "1.8.6")
494 (source (origin
495 (method url-fetch)
496 ;; Download from the savannah mirror list fails
497 (uri (string-append
498 "http://www.nongnu.org/xbindkeys/xbindkeys-"
499 version
500 ".tar.gz"))
501 (sha256
502 (base32
503 "060df6d8y727jp1inp7blp44cs8a7jig7vcm8ndsn6gw36z1h3bc"))))
504 (build-system gnu-build-system)
505 (inputs
506 `(("libx11" ,libx11)
507 ("guile" ,guile-2.0)))
508 (home-page "http://www.nongnu.org/xbindkeys/")
509 (synopsis "Associate a combination of keys with a shell command")
510 (description
511 "XBindKeys is a program that allows you to launch shell commands with
512your keyboard or your mouse under the X Window System. It links commands to
513keys or mouse buttons, using a configuration file. It's independent of the
514window manager and can capture all keyboard keys (ex: Power, Wake...). It
515optionally supports a Guile-based configuration file layout, which enables you
516to access all XBindKeys internals, so you can have key combinations, double
517clicks or timed double clicks take actions. Also all functions that work in
518Guile will work for XBindKeys.")
519 (license license:gpl2+)))
42f2c2b9 520
998b8c07 521(define-public sxhkd
522 (package
523 (name "sxhkd")
524 (version "0.5.5")
525 (source
526 (origin
527 (file-name (string-append name "-" version ".tar.gz"))
528 (method url-fetch)
529 (uri (string-append
530 "https://github.com/baskerville/sxhkd/archive/"
531 version ".tar.gz"))
532 (sha256
533 (base32
534 "04s3y2bq9502gw72jj3y2zsh96yj3qg2av3zsa8ahd2farvrysg6"))))
535 (build-system gnu-build-system)
536 (inputs
537 `(("asciidoc" ,asciidoc)
538 ("libxcb" ,libxcb)
539 ("xcb-util" ,xcb-util)
540 ("xcb-util-keysyms" ,xcb-util-keysyms)
541 ("xcb-util-wm" ,xcb-util-wm)))
542 (arguments
543 '(#:phases (alist-delete 'configure %standard-phases)
544 #:tests? #f ; no check target
545 #:make-flags (list "CC=gcc"
546 (string-append "PREFIX=" %output))))
547 (home-page "https://github.com/baskerville/sxhkd")
548 (synopsis "Simple X hotkey daemon")
549 (description "sxhkd is a simple X hotkey daemon with a powerful and
550compact configuration syntax.")
551 (license license:bsd-2)))
552
42f2c2b9
AG
553(define-public rxvt-unicode
554 (package
555 (name "rxvt-unicode")
556 (version "9.21")
1ef3f91a
ML
557 (source (origin
558 (method url-fetch)
63999415 559 (uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/"
1ef3f91a
ML
560 name "-" version ".tar.bz2"))
561 (sha256
562 (base32
563 "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm"))))
42f2c2b9 564 (build-system gnu-build-system)
1ef3f91a
ML
565 (arguments
566 ;; This sets the destination when installing the necessary terminal
567 ;; capability data, which are not provided by 'ncurses'. See
568 ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
569 '(#:make-flags (list (string-append "TERMINFO="
570 (assoc-ref %outputs "out")
571 "/share/terminfo"))))
42f2c2b9
AG
572 (inputs
573 `(("libXft" ,libxft)
574 ("libX11" ,libx11)))
575 (native-inputs
1ef3f91a
ML
576 `(("ncurses" ,ncurses) ;trigger the installation of terminfo data
577 ("perl" ,perl)
42f2c2b9 578 ("pkg-config" ,pkg-config)))
1ef3f91a
ML
579 ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
580 ;; provided for usability reasons. See <https://bugs.gnu.org/22138>.
581 (native-search-paths
582 (list (search-path-specification
583 (variable "TERMINFO_DIRS")
584 (files '("share/terminfo")))))
42f2c2b9
AG
585 (home-page "http://software.schmorp.de/pkg/rxvt-unicode.html")
586 (synopsis "Rxvt clone with XFT and unicode support")
587 (description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator
588intended as an xterm replacement for users who do not require features such as
589Tektronix 4014 emulation and toolkit-style configurability. It supports
590unicode, XFT and may be extended with Perl plugins. It also comes with a
591client/daemon pair that lets you open any number of terminal windows from
592within a single process.")
593 (license license:gpl3+)))
ca0d2a63
AG
594
595(define-public xcape
596 (package
597 (name "xcape")
598 (version "1.1")
599 (source
600 (origin
601 (method url-fetch)
602 (uri (string-append "https://github.com/alols/" name
603 "/archive/v" version ".tar.gz"))
604 (file-name (string-append name "-" version ".tar.gz"))
605 (sha256
606 (base32
607 "0jkdiaxc6sryrbibdgi2y1c48n4l9xyazhxr16l6h4ibddx95bk9"))))
608 (build-system gnu-build-system)
609 (arguments
610 `(#:tests? #f ; no check target
611 #:phases (alist-delete 'configure %standard-phases) ; no configure script
612 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
613 "MANDIR=/share/man/man1"
614 "CC=gcc")))
615 (inputs
616 `(("libxtst" ,libxtst)
617 ("libx11" ,libx11)))
618 (native-inputs
619 `(("pkg-config" ,pkg-config)))
620 (home-page "http://github.com/alols/xcape")
621 (synopsis "Use a modifier key in X.org as another key")
622 (description
623 "This utility for X.org allows to use modifier key as another key when
624pressed and released on its own. The default behaviour is to generate the
625Escape key when Left Control is pressed and released on its own.")
626 (license license:gpl3+)))
f1f7049e
AW
627
628(define-public libwacom
629 (package
630 (name "libwacom")
631 (version "0.12")
632 (source (origin
633 (method url-fetch)
634 (uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
635 name "-" version ".tar.bz2"))
636 (sha256
637 (base32
638 "022d0097dk2glgb6772zpcsqm1w42sbsbr3i72pdhzq6naqawys8"))))
639 (build-system glib-or-gtk-build-system)
640 (native-inputs
641 `(("pkg-config" ,pkg-config)))
642 (inputs
34efce4f 643 `(("gtk+" ,gtk+)
b9cbe316 644 ("libgudev" ,libgudev)
f1f7049e
AW
645 ("eudev" ,eudev)
646 ("libxml2" ,libxml2)))
34efce4f
AW
647 (propagated-inputs
648 ;; libwacom includes header files that include GLib, and libinput uses
649 ;; those header files.
650 `(("glib" ,glib)))
f1f7049e
AW
651 (home-page "http://linuxwacom.sourceforge.net/")
652 (synopsis "Helper library for Wacom tablet settings")
653 (description
34efce4f
AW
654 "Libwacom is a library to help implement Wacom tablet settings. It is
655intended to be used by client-programs that need model identification. It is
656already being used by the gnome-settings-daemon and the GNOME Control Center
657Wacom tablet applet.")
f1f7049e 658 (license license:x11)))
ab42a2a7
AW
659
660(define-public xf86-input-wacom
661 (package
662 (name "xf86-input-wacom")
663 (version "0.29.0")
664 (source (origin
665 (method url-fetch)
666 (uri (string-append
667 "mirror://sourceforge/linuxwacom/xf86-input-wacom/"
668 name "-" version ".tar.bz2"))
669 (sha256
670 (base32
671 "15lbzjkaf690i69qy0n0ibwczbclqq1nx0418c6a567by5v7wl48"))))
672 (arguments
673 `(#:configure-flags
674 (list (string-append "--with-sdkdir="
675 (assoc-ref %outputs "out")
676 "/include/xorg")
677 (string-append "--with-xorg-conf-dir="
678 (assoc-ref %outputs "out")
679 "/share/X11/xorg.conf.d"))))
680 (build-system gnu-build-system)
681 (native-inputs
682 `(("pkg-config" ,pkg-config)))
683 (inputs
684 `(("xorg-server" ,xorg-server)
685 ("libxrandr" ,libxrandr)
686 ("libxinerama" ,libxinerama)
687 ("libxi" ,libxi)
688 ("eudev" ,eudev)))
689 (home-page "http://linuxwacom.sourceforge.net/")
690 (synopsis "Wacom input driver for X")
691 (description
692 "The xf86-input-wacom driver is the wacom-specific X11 input driver for
693the X.Org X Server version 1.7 and later (X11R7.5 or later).")
694 (license license:x11)))
6645753b
FPS
695
696(define-public redshift
697 (package
698 (name "redshift")
85a94d29 699 (version "1.11")
6645753b
FPS
700 (source
701 (origin
702 (method url-fetch)
703 (uri
704 (string-append "https://github.com/jonls/redshift/"
705 "releases/download/v" version
706 "/redshift-" version ".tar.xz"))
707 (sha256
708 (base32
85a94d29 709 "0ngkwj7rg8nfk806w0sg443w6wjr91xdc0zisqfm5h2i77wm1qqh"))))
6645753b
FPS
710 (build-system gnu-build-system)
711 (native-inputs
712 `(("pkg-config" ,pkg-config)
713 ("intltool" ,intltool)))
714 (inputs
715 `(("libdrm" ,libdrm)
716 ("libx11" ,libx11)
717 ("libxcb" ,libxcb)
b3546174 718 ("libxxf86vm" ,libxxf86vm)
b4c400a7 719 ("libjpeg" ,libjpeg)
6645753b
FPS
720 ("glib" ,glib))) ;for Geoclue2 support
721 (home-page "https://github.com/jonls/redshift")
722 (synopsis "Adjust the color temperature of your screen")
723 (description
724 "Redshift adjusts the color temperature according to the position of the
725sun. A different color temperature is set during night and daytime. During
726twilight and early morning, the color temperature transitions smoothly from
727night to daytime temperature to allow your eyes to slowly adapt. At night the
728color temperature should be set to match the lamps in your room.")
729 (license license:gpl3+)))
b4c400a7
CAW
730
731(define-public xscreensaver
732 (package
733 (name "xscreensaver")
734 (version "5.34")
735 (source
736 (origin
737 (method url-fetch)
738 (uri
739 (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
740 version ".tar.gz"))
741 (sha256
742 (base32
743 "09sy5v8bn62hiq4ib3jyvp8lipqcvn3rdsj74q25qgklpv27xzvg"))))
744 (build-system gnu-build-system)
745 (arguments
746 `(#:tests? #f ; no check target
747 #:phases
748 (modify-phases %standard-phases
749 (add-before 'configure 'adjust-gtk-resource-paths
750 (lambda _
751 (substitute* '("driver/Makefile.in" "po/Makefile.in.in")
752 (("@GTK_DATADIR@") "@datadir@")
753 (("@PO_DATADIR@") "@datadir@")))))
754 #:configure-flags '("--with-pam" "--with-proc-interrupts"
755 "--without-readdisplay")
756 #:make-flags (list (string-append "AD_DIR="
757 (assoc-ref %outputs "out")
758 "/usr/lib/X11/app-defaults"))))
759 (native-inputs
760 `(("pkg-config" ,pkg-config)
761 ("intltool" ,intltool)))
762 (inputs
763 `(("libx11" ,libx11)
764 ("libxext" ,libxext)
765 ("libxi" ,libxi)
766 ("libxt" ,libxt)
767 ("libxft" ,libxft)
768 ("libxmu" ,libxmu)
769 ("libxpm" ,libxpm)
770 ("libglade" ,libglade)
771 ("libxml2" ,libxml2)
772 ("libsm" ,libsm)
773 ("libjpeg" ,libjpeg)
774 ("linux-pam" ,linux-pam)
775 ("pango" ,pango)
776 ("gtk+" ,gtk+)
777 ("perl" ,perl)
778 ("cairo" ,cairo)
779 ("bc" ,bc)
780 ("libxrandr" ,libxrandr)
781 ("glu" ,glu)
782 ("glib" ,glib)))
783 (home-page "https://www.jwz.org/xscreensaver/")
784 (synopsis "Classic screen saver suite supporting screen locking")
785 (description
786 "xscreensaver is a popular screen saver collection with many entertaining
787demos. It also acts as a nice screen locker.")
788 ;; xscreensaver doesn't have a single copyright file and instead relies on
789 ;; source comment headers, though most files have the same lax
790 ;; permissions. To reduce complexity, we're pointing at Debian's
791 ;; breakdown of the copyright information.
792 (license (license:non-copyleft
793 (string-append
794 "http://metadata.ftp-master.debian.org/changelogs/"
795 "/main/x/xscreensaver/xscreensaver_5.34-2_copyright")))))