gnu: libinput: Enable GUI event tool.
[jackhill/guix/guix.git] / gnu / packages / freedesktop.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
4 ;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
5 ;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
6 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
7 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
8 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
9 ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
10 ;;;
11 ;;; This file is part of GNU Guix.
12 ;;;
13 ;;; GNU Guix is free software; you can redistribute it and/or modify it
14 ;;; under the terms of the GNU General Public License as published by
15 ;;; the Free Software Foundation; either version 3 of the License, or (at
16 ;;; your option) any later version.
17 ;;;
18 ;;; GNU Guix is distributed in the hope that it will be useful, but
19 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ;;; GNU General Public License for more details.
22 ;;;
23 ;;; You should have received a copy of the GNU General Public License
24 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25
26 (define-module (gnu packages freedesktop)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix packages)
29 #:use-module (guix download)
30 #:use-module (guix git-download)
31 #:use-module (guix build-system gnu)
32 #:use-module (guix build-system python)
33 #:use-module (gnu packages acl)
34 #:use-module (gnu packages admin)
35 #:use-module (gnu packages autotools)
36 #:use-module (gnu packages boost)
37 #:use-module (gnu packages compression)
38 #:use-module (gnu packages databases)
39 #:use-module (gnu packages docbook)
40 #:use-module (gnu packages documentation)
41 #:use-module (gnu packages gettext)
42 #:use-module (gnu packages gl)
43 #:use-module (gnu packages glib) ;intltool
44 #:use-module (gnu packages gnome)
45 #:use-module (gnu packages gperf)
46 #:use-module (gnu packages graphviz)
47 #:use-module (gnu packages gtk)
48 #:use-module (gnu packages libffi)
49 #:use-module (gnu packages libunwind)
50 #:use-module (gnu packages linux)
51 #:use-module (gnu packages m4)
52 #:use-module (gnu packages polkit)
53 #:use-module (gnu packages pkg-config)
54 #:use-module (gnu packages python)
55 #:use-module (gnu packages xml)
56 #:use-module (gnu packages xdisorg)
57 #:use-module (gnu packages xorg))
58
59 (define-public xdg-utils
60 (package
61 (name "xdg-utils")
62 (version "1.0.2")
63 (source
64 (origin
65 (method url-fetch)
66 (uri (string-append
67 "https://portland.freedesktop.org/download/xdg-utils-"
68 version ".tgz"))
69 (sha256
70 (base32
71 "1b019d3r1379b60p33d6z44kx589xjgga62ijz9vha95dg8vgbi1"))))
72 (build-system gnu-build-system)
73 (propagated-inputs
74 `(("xprop" ,xprop) ; for Xfce detecting
75 ("xset" ,xset))) ; for xdg-screensaver
76 (arguments
77 `(#:tests? #f)) ; no check target
78 (home-page "http://portland.freedesktop.org/")
79 (synopsis "Freedesktop.org scripts for desktop integration")
80 (description "The xdg-utils package is a set of simple scripts that
81 provide basic desktop integration functions in the framework of the
82 freedesktop.org project.")
83 (license license:expat)))
84
85 (define-public libinput
86 (package
87 (name "libinput")
88 (version "1.5.1")
89 (source (origin
90 (method url-fetch)
91 (uri (string-append "https://freedesktop.org/software/libinput/"
92 name "-" version ".tar.xz"))
93 (sha256
94 (base32
95 "1n1dispg63z1qiy8c1af3l9c4a9dks8y7xasff8xcywnn0rkkxnl"))))
96 (build-system gnu-build-system)
97 (native-inputs
98 `(("cairo" ,cairo)
99 ("gtk+" ,gtk+)
100 ("pkg-config" ,pkg-config)))
101 (propagated-inputs
102 `(("libudev" ,eudev))) ; required by libinput.pc
103 (inputs
104 `(("glib" ,glib)
105 ("libevdev" ,libevdev)
106 ("mtdev" ,mtdev)
107 ("libwacom" ,libwacom)))
108 (home-page "https://www.freedesktop.org/wiki/Software/libinput/")
109 (synopsis "Input devices handling library")
110 (description
111 "Libinput is a library to handle input devices for display servers and
112 other applications that need to directly deal with input devices.")
113 (license license:x11)))
114
115 (define-public libinput-minimal
116 (package (inherit libinput)
117 (name "libinput-minimal")
118 (native-inputs
119 `(("pkg-config" ,pkg-config)))
120 (inputs
121 `(("libevdev" ,libevdev)
122 ("mtdev" ,mtdev)))
123 (arguments
124 `(#:configure-flags
125 '("--disable-libwacom")))))
126
127 (define-public libxdg-basedir
128 (package
129 (name "libxdg-basedir")
130 (version "1.2.0")
131 (source (origin
132 (method url-fetch)
133 (uri (string-append
134 "https://github.com/devnev/libxdg-basedir/archive/"
135 name "-" version ".tar.gz"))
136 (sha256
137 (base32
138 "0s28c7sfwqimsmb3kn91mx7wi55fs3flhbmynl9k60rrllr00aqw"))))
139 (build-system gnu-build-system)
140 (arguments
141 '(#:phases
142 (modify-phases %standard-phases
143 (add-after 'unpack 'autogen
144 (lambda _
145 ;; Run 'configure' in its own phase, not now.
146 (substitute* "autogen.sh"
147 (("^.*\\./configure.*") ""))
148 (zero? (system* "sh" "autogen.sh")))))))
149 (native-inputs
150 `(("autoconf" ,autoconf)
151 ("automake" ,automake)
152 ("libtool" ,libtool)))
153 (home-page "https://github.com/devnev/libxdg-basedir")
154 (synopsis "Implementation of the XDG Base Directory specification")
155 (description
156 "libxdg-basedir is a C library providing some functions to use with
157 the freedesktop.org XDG Base Directory specification.")
158 (license license:expat)))
159
160 (define-public elogind
161 (package
162 (name "elogind")
163 (version "219.14")
164 (source (origin
165 (method url-fetch)
166 (uri (string-append "https://wingolog.org/pub/" name "/"
167 name "-" version ".tar.xz"))
168 (sha256
169 (base32
170 "1jckc4wx199n1q4r4fv43ibjs6nlq91s39w9r78ilk1z383m1hcx"))
171 (modules '((guix build utils)))
172 (snippet
173 '(begin
174 (use-modules (guix build utils))
175 (substitute* "Makefile.am"
176 ;; Avoid validation against DTD because the DTDs for
177 ;; both doctype 4.2 and 4.5 are needed.
178 (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))))))
179 (build-system gnu-build-system)
180 (arguments
181 `(#:configure-flags
182 (list (string-append "--with-libcap="
183 (assoc-ref %build-inputs "libcap"))
184 (string-append "--with-udevrulesdir="
185 (assoc-ref %outputs "out")
186 "/lib/udev/rules.d"))
187 #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
188 #:phases (modify-phases %standard-phases
189 (add-before 'build 'fix-service-file
190 (lambda* (#:key outputs #:allow-other-keys)
191 ;; Fix the file name of the 'elogind' binary in the D-Bus
192 ;; '.service' file.
193 (substitute* "src/login/org.freedesktop.login1.service"
194 (("^Exec=.*")
195 (string-append "Exec=" (assoc-ref %outputs "out")
196 "/libexec/elogind/elogind\n"))))))))
197 (native-inputs
198 `(("intltool" ,intltool)
199 ("gettext" ,gettext-minimal)
200 ("docbook-xsl" ,docbook-xsl)
201 ("docbook-xml" ,docbook-xml)
202 ("xsltproc" ,libxslt)
203 ("m4" ,m4)
204 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
205 ("pkg-config" ,pkg-config)
206 ("gperf" ,gperf)))
207 (inputs
208 `(("linux-pam" ,linux-pam)
209 ("linux-libre-headers" ,linux-libre-headers)
210 ("libcap" ,libcap)
211 ("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
212 ;when pressing the power button
213 ("dbus" ,dbus)
214 ("eudev" ,eudev)))
215 (home-page "https://github.com/wingo/elogind")
216 (synopsis "User, seat, and session management service")
217 (description "Elogind is the systemd project's \"logind\" service,
218 extracted out as a separate project. Elogind integrates with PAM to provide
219 the org.freedesktop.login1 interface over the system bus, allowing other parts
220 of a the system to know what users are logged in, and where.")
221 (license license:lgpl2.1+)))
222
223 (define-public python-pyxdg
224 (package
225 (name "python-pyxdg")
226 (version "0.25")
227 (source
228 (origin
229 (method url-fetch)
230 (uri (string-append
231 "https://pypi.python.org/packages/source/p/pyxdg/pyxdg-"
232 version ".tar.gz"))
233 (sha256
234 (base32
235 "179767h8m634ydlm4v8lnz01ba42gckfp684id764zaip7h87s41"))))
236 (build-system python-build-system)
237 (arguments
238 '(#:phases
239 (alist-replace
240 'check
241 (lambda* (#:key inputs #:allow-other-keys)
242 (setenv "XDG_DATA_DIRS"
243 (string-append (assoc-ref inputs "shared-mime-info")
244 "/share/"))
245 (substitute* "test/test-icon.py"
246 (("/usr/share/icons/hicolor/index.theme")
247 (string-append (assoc-ref inputs "hicolor-icon-theme")
248 "/share/icons/hicolor/index.theme")))
249
250 ;; One test fails with:
251 ;; AssertionError: 'x-apple-ios-png' != 'png'
252 (substitute* "test/test-mime.py"
253 (("self.check_mimetype\\(imgpng, 'image', 'png'\\)") "#"))
254 (zero? (system* "nosetests" "-v")))
255 %standard-phases)))
256 (native-inputs
257 `(("shared-mime-info" ,shared-mime-info) ;for tests
258 ("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests
259 ("python-nose" ,python-nose)
260 ("python-setuptools" ,python-setuptools)))
261 (home-page "http://freedesktop.org/wiki/Software/pyxdg")
262 (synopsis "Implementations of freedesktop.org standards in Python")
263 (description
264 "PyXDG is a collection of implementations of freedesktop.org standards in
265 Python.")
266 (license license:lgpl2.0)))
267
268 (define-public python2-pyxdg
269 (package-with-python2 python-pyxdg))
270
271 (define-public wayland
272 (package
273 (name "wayland")
274 (version "1.11.0")
275 (source (origin
276 (method url-fetch)
277 (uri (string-append "https://wayland.freedesktop.org/releases/"
278 name "-" version ".tar.xz"))
279 (sha256
280 (base32
281 "1c0d5ivy9n44hykvw2ggrvqrnn7naw3wg11vbvgwzgi8g5gr4h4m"))))
282 (build-system gnu-build-system)
283 (arguments `(#:parallel-tests? #f))
284 (native-inputs
285 `(("doxygen" ,doxygen)
286 ("graphviz" ,graphviz)
287 ("pkg-config" ,pkg-config)
288 ("xmlto" ,xmlto)
289 ("xsltproc" ,libxslt)))
290 (inputs
291 `(("docbook-xml" ,docbook-xml)
292 ("docbook-xsl" ,docbook-xsl)
293 ("expat" ,expat)
294 ("libffi" ,libffi)
295 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
296 (home-page "https://wayland.freedesktop.org/")
297 (synopsis "Display server protocol")
298 (description
299 "Wayland is a protocol for a compositor to talk to its clients as well as
300 a C library implementation of that protocol. The compositor can be a standalone
301 display server running on Linux kernel modesetting and evdev input devices, an X
302 application, or a wayland client itself. The clients can be traditional
303 applications, X servers (rootless or fullscreen) or other display servers.")
304 (license license:x11)))
305
306 (define-public wayland-protocols
307 (package
308 (name "wayland-protocols")
309 (version "1.7")
310 (source (origin
311 (method url-fetch)
312 (uri (string-append
313 "https://wayland.freedesktop.org/releases/"
314 "wayland-protocols-" version ".tar.xz"))
315 (sha256
316 (base32
317 "07qw166s6bm81zfnhf4lmww6wj0il960fm3vp7n1z3rign9jlpv3"))))
318 (build-system gnu-build-system)
319 (inputs
320 `(("wayland" ,wayland)))
321 (native-inputs
322 `(("pkg-config" ,pkg-config)))
323 (synopsis "Wayland protocols")
324 (description "This package contains XML definitions of the Wayland protocols.")
325 (home-page "https://wayland.freedesktop.org")
326 (license license:expat)))
327
328 (define-public weston
329 (package
330 (name "weston")
331 (version "1.11.0")
332 (source (origin
333 (method url-fetch)
334 (uri (string-append
335 "https://wayland.freedesktop.org/releases/"
336 "weston-" version ".tar.xz"))
337 (sha256
338 (base32
339 "09biddxw3ar797kxf9mywjkb2iwky6my39gpp51ni846y7lqdq05"))))
340 (build-system gnu-build-system)
341 (native-inputs
342 `(("pkg-config" ,pkg-config)
343 ("xorg-server" ,xorg-server)))
344 (inputs
345 `(("cairo" ,cairo-xcb)
346 ("dbus" ,dbus)
347 ("elogind" ,elogind)
348 ("libinput" ,libinput-minimal)
349 ("libunwind" ,libunwind)
350 ("libxcursor" ,libxcursor)
351 ("libxkbcommon" ,libxkbcommon)
352 ("mesa" ,mesa)
353 ("mtdev" ,mtdev)
354 ("linux-pam" ,linux-pam)
355 ("wayland" ,wayland)
356 ("wayland-protocols" ,wayland-protocols)
357 ("xorg-server-xwayland" ,xorg-server-xwayland)))
358 (arguments
359 `(#:configure-flags
360 (list "--disable-setuid-install"
361 "--enable-systemd-login"
362 (string-append "--with-xserver-path="
363 (assoc-ref %build-inputs "xorg-server-xwayland")
364 "/bin/Xwayland"))
365 #:phases
366 (modify-phases %standard-phases
367 (add-before 'configure 'use-elogind
368 (lambda _
369 ;; Use elogind instead of systemd
370 (substitute* "configure"
371 (("libsystemd-login >= 198") "libelogind"))
372 (substitute* '("src/launcher-logind.c" "src/weston-launch.c")
373 (("#include <systemd/sd-login.h>")
374 "#include <elogind/sd-login.h>"))))
375 (add-after 'configure 'patch-confdefs.h
376 (lambda _
377 (system "echo \"#define HAVE_SYSTEMD_LOGIN_209 1\" >> confdefs.h")))
378 (add-before 'check 'setup
379 (lambda _
380 (setenv "HOME" (getcwd))
381 (setenv "XDG_RUNTIME_DIR" (getcwd))
382 #t))
383 (add-before 'check 'start-xorg-server
384 (lambda* (#:key inputs #:allow-other-keys)
385 ;; The test suite requires a running X server.
386 (system (string-append (assoc-ref inputs "xorg-server")
387 "/bin/Xvfb :1 &"))
388 (setenv "DISPLAY" ":1")
389 #t)))))
390 (home-page "https://wayland.freedesktop.org")
391 (synopsis "Reference implementation of a Wayland compositor")
392 (description "Weston is the reference implementation of a Wayland
393 compositor, and a useful compositor in its own right.
394
395 A Wayland compositor allows applications to render to a shared offscreen
396 buffer using OpenGL ES. The compositor then culls the hidden parts and
397 composes the final output. A Wayland compositor is essentially a
398 multiplexer to the KMS/DRM Linux kernel devices.")
399 (license license:expat)))
400
401 (define-public exempi
402 (package
403 (name "exempi")
404 (version "2.3.0")
405 (source (origin
406 (method url-fetch)
407 (uri (string-append
408 "https://libopenraw.freedesktop.org/download/"
409 name "-" version ".tar.bz2"))
410 (sha256
411 (base32
412 "0jcrv3w8m415cq8xi886hcxfqbrn5dczxbzybx9bhf3dbqsyv6nq"))))
413 (build-system gnu-build-system)
414 (arguments
415 `(#:configure-flags (list (string-append "--with-boost="
416 (assoc-ref %build-inputs "boost")))))
417 (native-inputs
418 `(("boost" ,boost))) ; tests
419 (inputs
420 `(("expat" ,expat)
421 ("zlib" ,zlib)))
422 (home-page "https://wiki.freedesktop.org/libopenraw/Exempi")
423 (synopsis "XMP metadata handling library")
424 (description "Exempi is an implementation of the Extensible Metadata
425 Platform (XMP), which enables embedding metadata in PDF and image formats.")
426 (license license:bsd-3)))
427
428 (define-public libatasmart
429 (package
430 (name "libatasmart")
431 (version "0.19")
432 (source (origin
433 (method url-fetch)
434 (uri (string-append "http://0pointer.de/public/"
435 name "-" version ".tar.xz"))
436 (sha256
437 (base32
438 "138gvgdwk6h4ljrjsr09pxk1nrki4b155hqdzyr8mlk3bwsfmw31"))))
439 (build-system gnu-build-system)
440 (native-inputs
441 `(("pkg-config" ,pkg-config)))
442 (inputs
443 `(("udev" ,eudev)))
444 (home-page "http://0pointer.de/blog/projects/being-smart.html")
445 (synopsis "ATA S.M.A.R.T. reading and parsing library")
446 (description
447 "This library supports a subset of the ATA S.M.A.R.T. (Self-Monitoring,
448 Analysis and Reporting Technology) functionality.")
449 (license license:lgpl2.1+)))
450
451 (define-public udisks
452 (package
453 (name "udisks")
454 (version "2.1.7")
455 (source (origin
456 (method url-fetch)
457 (uri (string-append "https://udisks.freedesktop.org/releases/"
458 name "-" version ".tar.bz2"))
459 (sha256
460 (base32
461 "119pr2zbff8vkwlhghim7d7ir24c1dil9hp4q49wm4f6pnrjpbmb"))))
462 (build-system gnu-build-system)
463 (native-inputs
464 `(("glib:bin" ,glib "bin") ; for glib-mkenums
465 ("gobject-introspection" ,gobject-introspection)
466 ("intltool" ,intltool)
467 ("pkg-config" ,pkg-config)
468 ("xsltproc" ,libxslt)))
469 (propagated-inputs
470 `(("glib" ,glib))) ; required by udisks2.pc
471 (inputs
472 `(("acl" ,acl)
473 ("libatasmart" ,libatasmart)
474 ("libgudev" ,libgudev)
475 ("polkit" ,polkit)
476 ("util-linux" ,util-linux)))
477 (outputs '("out"
478 "doc")) ;5 MiB of gtk-doc HTML
479 (arguments
480 `(#:tests? #f ; requiring system message dbus
481 #:disallowed-references ("doc") ;enforce separation of "doc"
482 #:configure-flags
483 (list "--disable-man"
484 "--localstatedir=/var"
485 "--enable-fhs-media" ;mount devices in /media, not /run/media
486 (string-append "--with-html-dir="
487 (assoc-ref %outputs "doc")
488 "/share/doc/udisks/html")
489 (string-append "--with-udevdir=" %output "/lib/udev"))
490 #:phases
491 (modify-phases %standard-phases
492 (add-before
493 'configure 'fix-girdir
494 (lambda _
495 ;; Install introspection data to its own output.
496 (substitute* "udisks/Makefile.in"
497 (("girdir = .*")
498 "girdir = $(datadir)/gir-1.0\n")
499 (("typelibsdir = .*")
500 "typelibsdir = $(libdir)/girepository-1.0\n"))))
501 (add-after 'install 'set-mount-file-name
502 (lambda* (#:key outputs inputs #:allow-other-keys)
503 ;; Tell 'udisksd' where to find the 'mount' command.
504 (let ((out (assoc-ref outputs "out"))
505 (utils (assoc-ref inputs "util-linux")))
506 (wrap-program (string-append out "/libexec/udisks2/udisksd")
507 `("PATH" ":" prefix
508 (,(string-append utils "/bin") ;for 'mount'
509 "/run/current-system/profile/bin"
510 "/run/current-system/profile/sbin")))
511 #t))))))
512 (home-page "http://www.freedesktop.org/wiki/Software/udisks/")
513 (synopsis "Disk manager service")
514 (description
515 "UDisks provides interfaces to enumerate and perform operations on disks
516 and storage devices. Any application (including unprivileged ones) can access
517 the udisksd(8) daemon via the name org.freedesktop.UDisks2 on the system
518 message bus.")
519 ;; The dynamic library are under LGPLv2+, others are GPLv2+.
520 (license (list license:gpl2+ license:lgpl2.0+))))
521
522 (define-public accountsservice
523 (package
524 (name "accountsservice")
525 (version "0.6.40")
526 (source (origin
527 (method url-fetch)
528 (uri (string-append "https://www.freedesktop.org/software/"
529 name "/" name "-" version ".tar.xz"))
530 (sha256
531 (base32
532 "0ayb3y3l25dmwxlh9g071h02mphjfbkvi2k5f635bayb01k7akzh"))))
533 (build-system gnu-build-system)
534 (arguments
535 '(#:tests? #f ; XXX: tests require DocBook 4.1.2
536 #:configure-flags
537 '("--localstatedir=/var")
538 #:phases
539 (modify-phases %standard-phases
540 (add-before
541 'configure 'pre-configure
542 (lambda _
543 ;; Don't try to create /var/lib/AccoutsService.
544 (substitute* "src/Makefile.in"
545 (("\\$\\(MKDIR_P\\).*/lib/AccountsService.*") "true")))))))
546 (native-inputs
547 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
548 ("gobject-introspection" ,gobject-introspection)
549 ("intltool" ,intltool)
550 ("pkg-config" ,pkg-config)))
551 (inputs
552 `(("polkit" ,polkit)))
553 (home-page "http://www.freedesktop.org/wiki/Software/AccountsService/")
554 (synopsis "D-Bus interface for user account query and manipulation")
555 (description
556 "The AccountService project provides a set of D-Bus interfaces for querying
557 and manipulating user account information and an implementation of these
558 interfaces, based on the useradd, usermod and userdel commands.")
559 (license license:gpl3+)))
560
561 (define-public libmbim
562 (package
563 (name "libmbim")
564 (version "1.12.4")
565 (source (origin
566 (method url-fetch)
567 (uri (string-append
568 "https://www.freedesktop.org/software/" name "/"
569 name "-" version ".tar.xz"))
570 (sha256
571 (base32
572 "0flpgzsqpjgybjkx4smbb4rjxf2w1xgd1v9gmz61rvl89qasznbv"))))
573 (build-system gnu-build-system)
574 (native-inputs
575 `(("glib:bin" ,glib "bin") ; for glib-mkenums
576 ("pkg-config" ,pkg-config)
577 ("python" ,python-wrapper)))
578 (propagated-inputs
579 `(("glib" ,glib))) ; required by mbim-glib.pc
580 (inputs
581 `(("libgudev" ,libgudev)))
582 (synopsis "Library to communicate with MBIM-powered modems")
583 (home-page "https://www.freedesktop.org/wiki/Software/libmbim/")
584 (description
585 "Libmbim is a GLib-based library for talking to WWAN modems and devices
586 which speak the Mobile Interface Broadband Model (MBIM) protocol.")
587 (license
588 ;; The libmbim-glib library is released under the LGPLv2+ license.
589 ;; The mbimcli tool is released under the GPLv2+ license.
590 (list license:lgpl2.0+ license:gpl2+))))
591
592 (define-public libqmi
593 (package
594 (name "libqmi")
595 (version "1.14.2")
596 (source (origin
597 (method url-fetch)
598 (uri (string-append
599 "https://www.freedesktop.org/software/" name "/"
600 name "-" version ".tar.xz"))
601 (sha256
602 (base32
603 "0h009bzss4bal47nk21lyp4s3mmlcivhhaaj7r9229qvx85bi0v2"))))
604 (build-system gnu-build-system)
605 (native-inputs
606 `(("glib:bin" ,glib "bin") ; for glib-mkenums
607 ("pkg-config" ,pkg-config)
608 ("python" ,python-wrapper)))
609 (propagated-inputs
610 `(("glib" ,glib))) ; required by qmi-glib.pc
611 (synopsis "Library to communicate with QMI-powered modems")
612 (home-page "https://www.freedesktop.org/wiki/Software/libqmi/")
613 (description
614 "Libqmi is a GLib-based library for talking to WWAN modems and devices
615 which speak the Qualcomm MSM Interface (QMI) protocol.")
616 (license
617 ;; The libqmi-glib library is released under the LGPLv2+ license.
618 ;; The qmicli tool is released under the GPLv2+ license.
619 (list license:lgpl2.0+ license:gpl2+))))
620
621 (define-public modem-manager
622 (package
623 (name "modem-manager")
624 (version "1.4.14")
625 (source (origin
626 (method url-fetch)
627 (uri (string-append
628 "https://www.freedesktop.org/software/ModemManager/"
629 "ModemManager-" version ".tar.xz"))
630 (sha256
631 (base32
632 "18hvffwcncwz14kdzk42jbkh362n0kjv3kgx7axbqx572pawvrmb"))))
633 (build-system gnu-build-system)
634 (arguments
635 '(#:configure-flags
636 `(,(string-append "--with-udev-base-dir=" %output "/lib/udev"))))
637 (native-inputs
638 `(("glib:bin" ,glib "bin") ; for glib-mkenums
639 ("gobject-introspection" ,gobject-introspection)
640 ("intltool" ,intltool)
641 ("pkg-config" ,pkg-config)
642 ("vala" ,vala)
643 ;; For testing.
644 ("dbus" ,dbus)))
645 (propagated-inputs
646 `(("glib" ,glib))) ; required by mm-glib.pc
647 (inputs
648 `(("libgudev" ,libgudev)
649 ("libmbim" ,libmbim)
650 ("libqmi" ,libqmi)
651 ("polkit" ,polkit)))
652 (synopsis "Mobile broadband modems manager")
653 (home-page "http://www.freedesktop.org/wiki/Software/ModemManager/")
654 (description
655 "ModemManager is a DBus-activated daemon which controls mobile
656 broadband (2G/3G/4G) devices and connections. Whether built-in devices, USB
657 dongles, bluetooth-paired telephones, or professional RS232/USB devices with
658 external power supplies, ModemManager is able to prepare and configure the
659 modems and setup connections with them.")
660 (license license:gpl2+)))
661
662 (define-public telepathy-logger
663 (package
664 (name "telepathy-logger")
665 (version "0.8.2")
666 (source (origin
667 (method url-fetch)
668 (uri (string-append "https://telepathy.freedesktop.org/releases/"
669 name "/" name "-" version ".tar.bz2"))
670 (sha256
671 (base32
672 "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg"))))
673 (build-system gnu-build-system)
674 (arguments
675 '(#:parallel-tests? #f
676 #:phases
677 (modify-phases %standard-phases
678 (add-before 'check 'pre-check
679 (lambda _
680 (setenv "HOME" (getenv "TMPDIR"))
681 #t)))))
682 (native-inputs
683 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
684 ("gobject-introspection" ,gobject-introspection)
685 ("intltool" ,intltool)
686 ("pkg-config" ,pkg-config)
687 ("python" ,python-2)
688 ("xsltproc" ,libxslt)))
689 (propagated-inputs
690 ;; telepathy-logger-0.2.pc refers to all these.
691 `(("libxml2" ,libxml2)
692 ("sqlite" ,sqlite)
693 ("telepathy-glib" ,telepathy-glib)))
694 (synopsis "Telepathy logger library")
695 (home-page "http://telepathy.freedesktop.org/")
696 (description
697 "Telepathy logger is a headless observer client that logs information
698 received by the Telepathy framework. It features pluggable backends to log
699 different sorts of messages in different formats.")
700 (license license:lgpl2.1+)))
701
702 (define-public telepathy-idle
703 (package
704 (name "telepathy-idle")
705 (version "0.2.0")
706 (source (origin
707 (method url-fetch)
708 (uri (string-append "https://telepathy.freedesktop.org/releases/"
709 name "/" name "-" version ".tar.bz2"))
710 (sha256
711 (base32
712 "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh"))))
713 (build-system gnu-build-system)
714 (native-inputs
715 `(("pkg-config" ,pkg-config)))
716 (inputs
717 `(("xsltproc" ,libxslt)
718 ("python" ,python-2)
719 ("python-dbus" ,python2-dbus)))
720 (propagated-inputs
721 `(("telepathy-glib" ,telepathy-glib)))
722 (home-page "http://telepathy.freedesktop.org/")
723 (synopsis "Telepathy IRC connection manager")
724 (description
725 "Idle is an IRC connection manager for the Telepathy framework. This
726 package enables usage of IRC channels and private messages in Telepathy instant
727 messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
728 (license (list license:lgpl2.1 license:lgpl2.1+))))
729
730 (define-public telepathy-mission-control
731 (package
732 (name "telepathy-mission-control")
733 (version "5.16.3")
734 (source (origin
735 (method url-fetch)
736 (uri (string-append "https://telepathy.freedesktop.org/releases/"
737 name "/" name "-" version ".tar.bz2"))
738 (sha256
739 (base32
740 "0zcbx69k0d3p2pjh3g7sa3q2zkd5xchxkqsmlfn3fwxaz0pmsmvi"))))
741 (build-system gnu-build-system)
742 (native-inputs
743 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
744 ("pkg-config" ,pkg-config)))
745 (inputs
746 `(("dconf" ,dconf)
747 ("gtk-doc" ,gtk-doc)
748 ("libgnome-keyring" ,libgnome-keyring)
749 ("python" ,python-2)
750 ("xsltproc" ,libxslt)))
751 (propagated-inputs
752 `(("telepathy-glib" ,telepathy-glib)))
753 (home-page "https://telepathy.freedesktop.org/wiki/Components/Mission_Control/")
754 (synopsis "Telepathy real-time communication framework management daemon")
755 (description
756 "Telepathy Mission Control 5 is an account manager and channel dispatcher
757 for the Telepathy framework, allowing user interfaces and other clients to
758 share connections to real-time communication services without conflicting.")
759 (license license:lgpl2.1)))
760
761 (define-public colord-gtk
762 (package
763 (name "colord-gtk")
764 (version "0.1.26")
765 (source (origin
766 (method url-fetch)
767 (uri (string-append "https://www.freedesktop.org/software/colord"
768 "/releases/" name "-" version ".tar.xz"))
769 (sha256
770 (base32
771 "0i9y3bb5apj6a0f8cx36l6mjzs7xc0k7nf0magmf58vy2mzhpl18"))))
772 (build-system gnu-build-system)
773 (arguments '(#:tests? #f)) ; require the colord system service
774 (native-inputs
775 `(("gobject-introspection" ,gobject-introspection)
776 ("intltool" ,intltool)
777 ("pkg-config" ,pkg-config)
778 ("vala" ,vala)))
779 (propagated-inputs
780 ;; colord-gtk.pc refers to all these.
781 `(("colord" ,colord)
782 ("gtk+" ,gtk+)))
783 (synopsis "GTK integration for libcolord")
784 (home-page "http://www.freedesktop.org/software/colord/")
785 (description
786 "This is a GTK+ convenience library for interacting with colord. It is
787 useful for both applications which need colour management and applications that
788 wish to perform colour calibration.")
789 (license license:lgpl2.1+)))