install: Use a low-memory nscd caching policy.
[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>
3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
2e88e089 5;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
3c156c8a
JD
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages xdisorg)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix build-system gnu)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages compression)
29 #:use-module (gnu packages image)
30 #:use-module (gnu packages pkg-config)
2e88e089 31 #:use-module (gnu packages glib)
3c156c8a
JD
32 #:use-module (gnu packages xorg))
33
3c156c8a
JD
34;; packages outside the x.org system proper
35
de878f1b
JD
36(define-public xclip
37 (package
38 (name "xclip")
39 (version "0.12")
40 (source
41 (origin
42 (method url-fetch)
43 (uri (string-append
44 "mirror://sourceforge/" name "/" name "-" version ".tar.gz"))
45 (sha256
46 (base32
47 "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp"))))
48 (build-system gnu-build-system)
49 (arguments
50 '(#:tests? #f)) ; There is no test suite
51 (inputs `(("libxmu" ,libxmu)
52 ("libxt" ,libxt)))
53 (home-page "http://xclip.sourceforge.net/")
54 (synopsis "Command line interface to X11 clipboard")
55 (description "Xclip is a command line interface to the X11 clipboard. It
56can also be used for copying files, as an alternative to sftp/scp, thus
57avoiding password prompts when X11 forwarding has already been setup.")
58 (license license:gpl2+)))
59
3c156c8a
JD
60(define-public xeyes
61 (package
62 (name "xeyes")
63 (version "1.0.1")
64 (source
65 (origin
66 (method url-fetch)
67 (uri (string-append
68 "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
69 version
70 ".orig.tar.gz"))
71 (sha256
72 (base32
73 "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
74 (build-system gnu-build-system)
75 (inputs
76 `(("libxext" ,libxext)
77 ("libxmu" ,libxmu)
78 ("libxt" ,libxt)))
79 (native-inputs
80 `(("pkg-config" ,pkg-config)))
81 (home-page "http://xeyes.sourcearchive.com/")
82 (synopsis "Follow-the-mouse X demo")
83 (description "Xeyes is a demo program for x.org. It shows eyes
84following the mouse.")
85 (license license:x11)))
86
87
88(define-public pixman
89 (package
90 (name "pixman")
91 (version "0.32.4")
92 (source
93 (origin
94 (method url-fetch)
95 (uri (string-append
96 "http://cairographics.org/releases/pixman-"
97 version
98 ".tar.gz"))
99 (sha256
100 (base32
101 "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0"))))
102 (build-system gnu-build-system)
103 (inputs
104 `(("libpng" ,libpng)
105 ("zlib" ,zlib)))
106 (native-inputs
107 `(("pkg-config" ,pkg-config)))
108 (home-page "http://www.pixman.org/")
109 (synopsis "Low-level pixel manipulation library")
110 (description "Pixman is a low-level software library for pixel
111manipulation, providing features such as image compositing and trapezoid
112rasterisation.")
113 (license license:x11)))
114
115
116(define-public libdrm
117 (package
118 (name "libdrm")
119 (version "2.4.46")
120 (source
121 (origin
122 (method url-fetch)
123 (uri (string-append
124 "http://dri.freedesktop.org/libdrm/libdrm-"
125 version
126 ".tar.bz2"))
127 (sha256
128 (base32
129 "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"))))
130 (build-system gnu-build-system)
131 (inputs
132 `(("libpciaccess" ,libpciaccess)
133 ("libpthread-stubs" ,libpthread-stubs)))
134 (native-inputs
135 `(("pkg-config" ,pkg-config)))
136 (home-page "http://dri.freedesktop.org/wiki/")
137 (synopsis "Direct rendering userspace library")
138 (description "The Direct Rendering Infrastructure, also known as the DRI,
139is a framework for allowing direct access to graphics hardware under the
140X Window System in a safe and efficient manner. It includes changes to the
141X server, to several client libraries, and to the kernel (DRM, Direct
142Rendering Manager). The most important use for the DRI is to create fast
143OpenGL implementations providing hardware acceleration for Mesa.
144Several 3D accelerated drivers have been written to the DRI specification,
145including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
146and Matrox.")
147 (license license:x11)))
148
149
150;; old version, required by old mesa, see
151;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html
152(define-public libdrm-2.4.33
153 (package (inherit libdrm)
154 (version "2.4.33")
155 (source
156 (origin
157 (method url-fetch)
158 (uri (string-append
159 "http://dri.freedesktop.org/libdrm/libdrm-"
160 version
161 ".tar.bz2"))
162 (sha256
163 (base32
164 "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd"))))
165 (arguments
166 `(#:configure-flags
167 ;; create libdrm_nouveau.so, needed by mesa, see
168 ;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261
169 `("--enable-nouveau-experimental-api")))))
170
171
172(define-public mtdev
173 (package
174 (name "mtdev")
175 (version "1.1.3")
176 (source
177 (origin
178 (method url-fetch)
179 (uri (string-append
180 "http://bitmath.org/code/mtdev/mtdev-"
181 version ".tar.bz2"))
182 (sha256
183 (base32
184 "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d"))))
185 (build-system gnu-build-system)
186 (home-page "http://bitmath.org/code/mtdev/")
187 (synopsis "Multitouch protocol translation library")
188 (description "Mtdev is a stand-alone library which transforms all
189variants of kernel MT events to the slotted type B protocol. The events
190put into mtdev may be from any MT device, specifically type A without
191contact tracking, type A with contact tracking, or type B with contact
192tracking.")
193 (license license:x11)))
a693bba1
SB
194
195(define-public startup-notification
196 (package
197 (name "startup-notification")
198 (version "0.12")
199 (source
200 (origin
201 (method url-fetch)
202 (uri (string-append "http://www.freedesktop.org/software/" name
203 "/releases/" name "-" version ".tar.gz"))
204 (sha256
205 (base32
206 "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
207 (build-system gnu-build-system)
208 (native-inputs `(("pkg-config" ,pkg-config)))
209 (inputs
210 `(("libx11" ,libx11)
211 ("xcb-util" ,xcb-util)))
212 (home-page "http://www.freedesktop.org/wiki/Software/startup-notification/")
213 (synopsis "Application startup notification and feedback library")
214 (description
215 "Startup-notification contains a reference implementation of the startup
216notification protocol. The reference implementation is mostly under an X Window
217System style license, and has no special dependencies.")
218 ;; Most of the code is provided under x11 license.
219 (license license:lgpl2.0+)))
2e88e089
AK
220
221(define-public wmctrl
222 (package
223 (name "wmctrl")
224 (version "1.07")
225 (source (origin
226 (method url-fetch)
227 (uri (string-append
228 "http://tomas.styblo.name/wmctrl/dist/wmctrl-"
229 version ".tar.gz"))
230 (sha256
231 (base32
232 "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
233 (patches (list (search-patch "wmctrl-64-fix.patch")))))
234 (build-system gnu-build-system)
235 (arguments
236 '(#:configure-flags
237 (list (string-append "--mandir="
238 (assoc-ref %outputs "out")
239 "/share/man"))))
240 (native-inputs
241 `(("pkg-config" ,pkg-config)))
242 (inputs
243 `(("libx11" ,libx11)
244 ("libxmu" ,libxmu)
245 ("glib" ,glib)))
246 (home-page "http://tomas.styblo.name/wmctrl/")
247 (synopsis "Command-line tool to control X window managers")
248 (description
249 "Wmctrl allows to interact with an X window manager that is compatible
250with the EWMH/NetWM specification. It can query the window manager for
251information, and request for certain window management actions (resize and
252move windows, switch between desktops, etc.)")
253 (license license:gpl2+)))
1410f342
AK
254
255(define-public scrot
256 (package
257 (name "scrot")
258 (version "0.8")
259 (source (origin
260 (method url-fetch)
261 (uri (string-append
262 "http://linuxbrit.co.uk/downloads/scrot-"
263 version ".tar.gz"))
264 (sha256
265 (base32
266 "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
267 (build-system gnu-build-system)
268 (arguments
269 ;; By default, man and doc are put in PREFIX/{man,doc} instead of
270 ;; PREFIX/share/{man,doc}.
271 '(#:configure-flags
272 (list (string-append "--mandir="
273 (assoc-ref %outputs "out")
274 "/share/man"))
275 #:phases (alist-replace
276 'install
277 (lambda* (#:key inputs outputs #:allow-other-keys)
278 (let* ((out (assoc-ref outputs "out"))
279 (doc (string-append out "/share/doc/scrot")))
280 (mkdir-p doc)
281 (zero?
282 (system* "make" "install"
283 (string-append "docsdir=" doc)))))
284 %standard-phases)))
285 (inputs
286 `(("libx11" ,libx11)
287 ("giblib" ,giblib)))
288 (home-page "http://linuxbrit.co.uk/software/")
289 (synopsis "Command-line screen capture utility for X Window System")
290 (description
291 "Scrot allows to save a screenshot of a full screen, a window or a part
292of the screen selected by mouse.")
293 ;; This license removes a clause about X Consortium from the original
294 ;; X11 license.
295 (license (license:x11-style "file://COPYING"
296 "See 'COPYING' in the distribution."))))
4a01b30b
AK
297
298(define-public unclutter
299 (package
300 (name "unclutter")
301 (version "8")
302 (source (origin
303 (method url-fetch)
304 (uri (string-append
305 "http://ftp.x.org/contrib/utilities/unclutter-"
306 version ".tar.Z"))
307 (sha256
308 (base32
309 "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
310 (build-system gnu-build-system)
311 (arguments
312 '(#:tests? #f ; no check target
313 #:phases (alist-delete
314 'configure
315 (alist-replace
316 'install
317 (lambda* (#:key inputs outputs #:allow-other-keys)
318 (let* ((out (assoc-ref outputs "out"))
319 (bin (string-append out "/bin"))
320 (man1 (string-append out "/share/man/man1")))
321 (mkdir-p bin)
322 (mkdir-p man1)
323 (zero?
324 (system* "make" "install" "install.man"
325 (string-append "BINDIR=" bin)
326 (string-append "MANDIR=" man1)))))
327 %standard-phases))))
328 (inputs `(("libx11" ,libx11)))
329 (home-page "http://ftp.x.org/contrib/utilities/")
330 (synopsis "Hide idle mouse cursor")
331 (description
332 "Unclutter is a program which runs permanently in the background of an
333X11 session. It checks on the X11 pointer (cursor) position every few
334seconds, and when it finds it has not moved (and no buttons are pressed
335on the mouse, and the cursor is not in the root window) it creates a
336small sub-window as a child of the window the cursor is in. The new
337window installs a cursor of size 1x1 but a mask of all 0, i.e. an
338invisible cursor. This allows you to see all the text in an xterm or
339xedit, for example. The human factors crowd would agree it should make
340things less distracting.")
341 (license license:public-domain)))