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