Merge branch 'staging' into core-updates
[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.12.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 "1c8sha5vm8w346wcbvgnjihisxfyvrr3qlbmfb5sp201p9f17d6n"))))
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.12.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 "0cshmw4ql4cr36v90bbi4qi6plvb6b9dbpnc3w9m17rv5siw4ymc"))))
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* '("libweston/launcher-logind.c"
376 "libweston/weston-launch.c")
377 (("#include <systemd/sd-login.h>")
378 "#include <elogind/sd-login.h>"))
379 #t))
380 (add-after 'configure 'patch-confdefs.h
381 (lambda _
382 (system "echo \"#define HAVE_SYSTEMD_LOGIN_209 1\" >> confdefs.h")))
383 (add-before 'check 'setup
384 (lambda _
385 (setenv "HOME" (getcwd))
386 (setenv "XDG_RUNTIME_DIR" (getcwd))
387 #t))
388 (add-before 'check 'start-xorg-server
389 (lambda* (#:key inputs #:allow-other-keys)
390 ;; The test suite requires a running X server.
391 (system (string-append (assoc-ref inputs "xorg-server")
392 "/bin/Xvfb :1 &"))
393 (setenv "DISPLAY" ":1")
394 #t)))))
395 (home-page "https://wayland.freedesktop.org")
396 (synopsis "Reference implementation of a Wayland compositor")
397 (description "Weston is the reference implementation of a Wayland
398 compositor, and a useful compositor in its own right.
399
400 A Wayland compositor allows applications to render to a shared offscreen
401 buffer using OpenGL ES. The compositor then culls the hidden parts and
402 composes the final output. A Wayland compositor is essentially a
403 multiplexer to the KMS/DRM Linux kernel devices.")
404 (license license:expat)))
405
406 (define-public exempi
407 (package
408 (name "exempi")
409 (version "2.3.0")
410 (source (origin
411 (method url-fetch)
412 (uri (string-append
413 "https://libopenraw.freedesktop.org/download/"
414 name "-" version ".tar.bz2"))
415 (sha256
416 (base32
417 "0jcrv3w8m415cq8xi886hcxfqbrn5dczxbzybx9bhf3dbqsyv6nq"))))
418 (build-system gnu-build-system)
419 (arguments
420 `(#:configure-flags (list (string-append "--with-boost="
421 (assoc-ref %build-inputs "boost")))))
422 (native-inputs
423 `(("boost" ,boost))) ; tests
424 (inputs
425 `(("expat" ,expat)
426 ("zlib" ,zlib)))
427 (home-page "https://wiki.freedesktop.org/libopenraw/Exempi")
428 (synopsis "XMP metadata handling library")
429 (description "Exempi is an implementation of the Extensible Metadata
430 Platform (XMP), which enables embedding metadata in PDF and image formats.")
431 (license license:bsd-3)))
432
433 (define-public libatasmart
434 (package
435 (name "libatasmart")
436 (version "0.19")
437 (source (origin
438 (method url-fetch)
439 (uri (string-append "http://0pointer.de/public/"
440 name "-" version ".tar.xz"))
441 (sha256
442 (base32
443 "138gvgdwk6h4ljrjsr09pxk1nrki4b155hqdzyr8mlk3bwsfmw31"))))
444 (build-system gnu-build-system)
445 (native-inputs
446 `(("pkg-config" ,pkg-config)))
447 (inputs
448 `(("udev" ,eudev)))
449 (home-page "http://0pointer.de/blog/projects/being-smart.html")
450 (synopsis "ATA S.M.A.R.T. reading and parsing library")
451 (description
452 "This library supports a subset of the ATA S.M.A.R.T. (Self-Monitoring,
453 Analysis and Reporting Technology) functionality.")
454 (license license:lgpl2.1+)))
455
456 (define-public udisks
457 (package
458 (name "udisks")
459 (version "2.1.8")
460 (source (origin
461 (method url-fetch)
462 (uri (string-append "https://udisks.freedesktop.org/releases/"
463 name "-" version ".tar.bz2"))
464 (sha256
465 (base32
466 "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
467 (build-system gnu-build-system)
468 (native-inputs
469 `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
470 ("docbook-xsl" ,docbook-xsl)
471 ("glib:bin" ,glib "bin") ; for glib-mkenums
472 ("gobject-introspection" ,gobject-introspection)
473 ("intltool" ,intltool)
474 ("pkg-config" ,pkg-config)
475 ("xsltproc" ,libxslt)))
476 (propagated-inputs
477 `(("glib" ,glib))) ; required by udisks2.pc
478 (inputs
479 `(("acl" ,acl)
480 ("libatasmart" ,libatasmart)
481 ("libgudev" ,libgudev)
482 ("polkit" ,polkit)
483 ("util-linux" ,util-linux)))
484 (outputs '("out"
485 "doc")) ;5 MiB of gtk-doc HTML
486 (arguments
487 `(#:tests? #f ; requiring system message dbus
488 #:disallowed-references ("doc") ;enforce separation of "doc"
489 #:configure-flags
490 (list "--enable-man"
491 "--localstatedir=/var"
492 "--enable-fhs-media" ;mount devices in /media, not /run/media
493 (string-append "--with-html-dir="
494 (assoc-ref %outputs "doc")
495 "/share/doc/udisks/html")
496 (string-append "--with-udevdir=" %output "/lib/udev"))
497 #:make-flags
498 (let* ((docbook-xsl-name-version ,(string-append
499 (package-name docbook-xsl) "-"
500 (package-version docbook-xsl)))
501 (docbook-xsl-catalog-file (string-append
502 (assoc-ref %build-inputs "docbook-xsl")
503 "/xml/xsl/"
504 docbook-xsl-name-version
505 "/catalog.xml"))
506 (docbook-xml-catalog-file (string-append
507 (assoc-ref %build-inputs "docbook-xml")
508 "/xml/dtd/docbook/catalog.xml")))
509 ;; Reference the catalog files required to build the manpages.
510 (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
511 docbook-xml-catalog-file)))
512 #:phases
513 (modify-phases %standard-phases
514 (add-before
515 'configure 'fix-girdir
516 (lambda _
517 ;; Install introspection data to its own output.
518 (substitute* "udisks/Makefile.in"
519 (("girdir = .*")
520 "girdir = $(datadir)/gir-1.0\n")
521 (("typelibsdir = .*")
522 "typelibsdir = $(libdir)/girepository-1.0\n"))))
523 (add-after 'install 'set-mount-file-name
524 (lambda* (#:key outputs inputs #:allow-other-keys)
525 ;; Tell 'udisksd' where to find the 'mount' command.
526 (let ((out (assoc-ref outputs "out"))
527 (utils (assoc-ref inputs "util-linux")))
528 (wrap-program (string-append out "/libexec/udisks2/udisksd")
529 `("PATH" ":" prefix
530 (,(string-append utils "/bin") ;for 'mount'
531 "/run/current-system/profile/bin"
532 "/run/current-system/profile/sbin")))
533 #t))))))
534 (home-page "https://www.freedesktop.org/wiki/Software/udisks/")
535 (synopsis "Disk manager service")
536 (description
537 "UDisks provides interfaces to enumerate and perform operations on disks
538 and storage devices. Any application (including unprivileged ones) can access
539 the udisksd(8) daemon via the name org.freedesktop.UDisks2 on the system
540 message bus.")
541 ;; The dynamic library are under LGPLv2+, others are GPLv2+.
542 (license (list license:gpl2+ license:lgpl2.0+))))
543
544 (define-public accountsservice
545 (package
546 (name "accountsservice")
547 (version "0.6.43")
548 (source (origin
549 (method url-fetch)
550 (uri (string-append "https://www.freedesktop.org/software/"
551 name "/" name "-" version ".tar.xz"))
552 (sha256
553 (base32
554 "1k6n9079001sgcwlkq0bz6mkn4m8y4dwf6hs1qm85swcld5ajfzd"))))
555 (build-system gnu-build-system)
556 (arguments
557 '(#:tests? #f ; XXX: tests require DocBook 4.1.2
558 #:configure-flags
559 '("--localstatedir=/var")
560 #:phases
561 (modify-phases %standard-phases
562 (add-before
563 'configure 'pre-configure
564 (lambda _
565 ;; Don't try to create /var/lib/AccoutsService.
566 (substitute* "src/Makefile.in"
567 (("\\$\\(MKDIR_P\\).*/lib/AccountsService.*") "true"))
568 #t)))))
569 (native-inputs
570 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
571 ("gobject-introspection" ,gobject-introspection)
572 ("intltool" ,intltool)
573 ("pkg-config" ,pkg-config)))
574 (inputs
575 `(("polkit" ,polkit)))
576 (home-page "http://www.freedesktop.org/wiki/Software/AccountsService/")
577 (synopsis "D-Bus interface for user account query and manipulation")
578 (description
579 "The AccountService project provides a set of D-Bus interfaces for querying
580 and manipulating user account information and an implementation of these
581 interfaces, based on the useradd, usermod and userdel commands.")
582 (license license:gpl3+)))
583
584 (define-public libmbim
585 (package
586 (name "libmbim")
587 (version "1.12.4")
588 (source (origin
589 (method url-fetch)
590 (uri (string-append
591 "https://www.freedesktop.org/software/" name "/"
592 name "-" version ".tar.xz"))
593 (sha256
594 (base32
595 "0flpgzsqpjgybjkx4smbb4rjxf2w1xgd1v9gmz61rvl89qasznbv"))))
596 (build-system gnu-build-system)
597 (native-inputs
598 `(("glib:bin" ,glib "bin") ; for glib-mkenums
599 ("pkg-config" ,pkg-config)
600 ("python" ,python-wrapper)))
601 (propagated-inputs
602 `(("glib" ,glib))) ; required by mbim-glib.pc
603 (inputs
604 `(("libgudev" ,libgudev)))
605 (synopsis "Library to communicate with MBIM-powered modems")
606 (home-page "https://www.freedesktop.org/wiki/Software/libmbim/")
607 (description
608 "Libmbim is a GLib-based library for talking to WWAN modems and devices
609 which speak the Mobile Interface Broadband Model (MBIM) protocol.")
610 (license
611 ;; The libmbim-glib library is released under the LGPLv2+ license.
612 ;; The mbimcli tool is released under the GPLv2+ license.
613 (list license:lgpl2.0+ license:gpl2+))))
614
615 (define-public libqmi
616 (package
617 (name "libqmi")
618 (version "1.14.2")
619 (source (origin
620 (method url-fetch)
621 (uri (string-append
622 "https://www.freedesktop.org/software/" name "/"
623 name "-" version ".tar.xz"))
624 (sha256
625 (base32
626 "0h009bzss4bal47nk21lyp4s3mmlcivhhaaj7r9229qvx85bi0v2"))))
627 (build-system gnu-build-system)
628 (native-inputs
629 `(("glib:bin" ,glib "bin") ; for glib-mkenums
630 ("pkg-config" ,pkg-config)
631 ("python" ,python-wrapper)))
632 (propagated-inputs
633 `(("glib" ,glib))) ; required by qmi-glib.pc
634 (synopsis "Library to communicate with QMI-powered modems")
635 (home-page "https://www.freedesktop.org/wiki/Software/libqmi/")
636 (description
637 "Libqmi is a GLib-based library for talking to WWAN modems and devices
638 which speak the Qualcomm MSM Interface (QMI) protocol.")
639 (license
640 ;; The libqmi-glib library is released under the LGPLv2+ license.
641 ;; The qmicli tool is released under the GPLv2+ license.
642 (list license:lgpl2.0+ license:gpl2+))))
643
644 (define-public modem-manager
645 (package
646 (name "modem-manager")
647 (version "1.4.14")
648 (source (origin
649 (method url-fetch)
650 (uri (string-append
651 "https://www.freedesktop.org/software/ModemManager/"
652 "ModemManager-" version ".tar.xz"))
653 (sha256
654 (base32
655 "18hvffwcncwz14kdzk42jbkh362n0kjv3kgx7axbqx572pawvrmb"))))
656 (build-system gnu-build-system)
657 (arguments
658 '(#:configure-flags
659 `(,(string-append "--with-udev-base-dir=" %output "/lib/udev"))))
660 (native-inputs
661 `(("glib:bin" ,glib "bin") ; for glib-mkenums
662 ("gobject-introspection" ,gobject-introspection)
663 ("intltool" ,intltool)
664 ("pkg-config" ,pkg-config)
665 ("vala" ,vala)
666 ;; For testing.
667 ("dbus" ,dbus)))
668 (propagated-inputs
669 `(("glib" ,glib))) ; required by mm-glib.pc
670 (inputs
671 `(("libgudev" ,libgudev)
672 ("libmbim" ,libmbim)
673 ("libqmi" ,libqmi)
674 ("polkit" ,polkit)))
675 (synopsis "Mobile broadband modems manager")
676 (home-page "http://www.freedesktop.org/wiki/Software/ModemManager/")
677 (description
678 "ModemManager is a DBus-activated daemon which controls mobile
679 broadband (2G/3G/4G) devices and connections. Whether built-in devices, USB
680 dongles, bluetooth-paired telephones, or professional RS232/USB devices with
681 external power supplies, ModemManager is able to prepare and configure the
682 modems and setup connections with them.")
683 (license license:gpl2+)))
684
685 (define-public telepathy-logger
686 (package
687 (name "telepathy-logger")
688 (version "0.8.2")
689 (source (origin
690 (method url-fetch)
691 (uri (string-append "https://telepathy.freedesktop.org/releases/"
692 name "/" name "-" version ".tar.bz2"))
693 (sha256
694 (base32
695 "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg"))))
696 (build-system gnu-build-system)
697 (arguments
698 '(#:parallel-tests? #f
699 #:phases
700 (modify-phases %standard-phases
701 (add-before 'check 'pre-check
702 (lambda _
703 (setenv "HOME" (getenv "TMPDIR"))
704 #t)))))
705 (native-inputs
706 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
707 ("gobject-introspection" ,gobject-introspection)
708 ("intltool" ,intltool)
709 ("pkg-config" ,pkg-config)
710 ("python" ,python-2)
711 ("xsltproc" ,libxslt)))
712 (propagated-inputs
713 ;; telepathy-logger-0.2.pc refers to all these.
714 `(("libxml2" ,libxml2)
715 ("sqlite" ,sqlite)
716 ("telepathy-glib" ,telepathy-glib)))
717 (synopsis "Telepathy logger library")
718 (home-page "http://telepathy.freedesktop.org/")
719 (description
720 "Telepathy logger is a headless observer client that logs information
721 received by the Telepathy framework. It features pluggable backends to log
722 different sorts of messages in different formats.")
723 (license license:lgpl2.1+)))
724
725 (define-public telepathy-idle
726 (package
727 (name "telepathy-idle")
728 (version "0.2.0")
729 (source (origin
730 (method url-fetch)
731 (uri (string-append "https://telepathy.freedesktop.org/releases/"
732 name "/" name "-" version ".tar.bz2"))
733 (sha256
734 (base32
735 "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh"))))
736 (build-system gnu-build-system)
737 (native-inputs
738 `(("pkg-config" ,pkg-config)))
739 (inputs
740 `(("xsltproc" ,libxslt)
741 ("python" ,python-2)
742 ("python-dbus" ,python2-dbus)))
743 (propagated-inputs
744 `(("telepathy-glib" ,telepathy-glib)))
745 (home-page "http://telepathy.freedesktop.org/")
746 (synopsis "Telepathy IRC connection manager")
747 (description
748 "Idle is an IRC connection manager for the Telepathy framework. This
749 package enables usage of IRC channels and private messages in Telepathy instant
750 messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
751 (license (list license:lgpl2.1 license:lgpl2.1+))))
752
753 (define-public telepathy-mission-control
754 (package
755 (name "telepathy-mission-control")
756 (version "5.16.4")
757 (source (origin
758 (method url-fetch)
759 (uri (string-append "https://telepathy.freedesktop.org/releases/"
760 name "/" name "-" version ".tar.gz"))
761 (sha256
762 (base32
763 "1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
764 (build-system gnu-build-system)
765 (native-inputs
766 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
767 ("pkg-config" ,pkg-config)))
768 (inputs
769 `(("dconf" ,dconf)
770 ("gtk-doc" ,gtk-doc)
771 ("libgnome-keyring" ,libgnome-keyring)
772 ("python" ,python-2)
773 ("xsltproc" ,libxslt)))
774 (propagated-inputs
775 `(("telepathy-glib" ,telepathy-glib)))
776 (home-page "https://telepathy.freedesktop.org/wiki/Components/Mission_Control/")
777 (synopsis "Telepathy real-time communication framework management daemon")
778 (description
779 "Telepathy Mission Control 5 is an account manager and channel dispatcher
780 for the Telepathy framework, allowing user interfaces and other clients to
781 share connections to real-time communication services without conflicting.")
782 (license license:lgpl2.1)))
783
784 (define-public colord-gtk
785 (package
786 (name "colord-gtk")
787 (version "0.1.26")
788 (source (origin
789 (method url-fetch)
790 (uri (string-append "https://www.freedesktop.org/software/colord"
791 "/releases/" name "-" version ".tar.xz"))
792 (sha256
793 (base32
794 "0i9y3bb5apj6a0f8cx36l6mjzs7xc0k7nf0magmf58vy2mzhpl18"))))
795 (build-system gnu-build-system)
796 (arguments '(#:tests? #f)) ; require the colord system service
797 (native-inputs
798 `(("gobject-introspection" ,gobject-introspection)
799 ("intltool" ,intltool)
800 ("pkg-config" ,pkg-config)
801 ("vala" ,vala)))
802 (propagated-inputs
803 ;; colord-gtk.pc refers to all these.
804 `(("colord" ,colord)
805 ("gtk+" ,gtk+)))
806 (synopsis "GTK integration for libcolord")
807 (home-page "http://www.freedesktop.org/software/colord/")
808 (description
809 "This is a GTK+ convenience library for interacting with colord. It is
810 useful for both applications which need colour management and applications that
811 wish to perform colour calibration.")
812 (license license:lgpl2.1+)))
813
814 (define-public libfprint
815 (package
816 (name "libfprint")
817 (version "0.6.0")
818 (source (origin
819 (method url-fetch)
820 (uri (string-append "https://people.freedesktop.org/~hadess/"
821 name "-" version ".tar.xz"))
822 (sha256
823 (base32
824 "1giwh2z63mn45galsjb59rhyrvgwcy01hvvp4g01iaa2snvzr0r5"))))
825 (build-system gnu-build-system)
826 (arguments
827 '(#:configure-flags (list (string-append "--with-udev-rules-dir="
828 (assoc-ref %outputs "out")
829 "/lib/udev/rules.d"))))
830 (native-inputs
831 `(("pkg-config" ,pkg-config)))
832 (inputs
833 `(("libusb" ,libusb)
834 ("nss" ,nss)
835 ("glib" ,glib)
836 ("eudev" ,eudev)
837 ("pixman" ,pixman)))
838 (home-page "https://www.freedesktop.org/wiki/Software/fprint/libfprint/")
839 (synopsis "Library to access fingerprint readers")
840 (description
841 "libfprint is a library designed to make it easy for application
842 developers to add support for consumer fingerprint readers to their
843 software.")
844 (license license:lgpl2.1+)))
845
846 (define-public fprintd
847 (package
848 (name "fprintd")
849 (version "0.7.0")
850 (source (origin
851 (method url-fetch)
852 (uri (string-append
853 "https://people.freedesktop.org/~hadess/fprintd-"
854 version ".tar.xz"))
855 (sha256
856 (base32
857 "05915i0bv7q62fqrs5diqwr8dz3pwqa1c1ivcgggkjyw0xk4ldp5"))))
858 (build-system gnu-build-system)
859 (arguments
860 '(#:phases (modify-phases %standard-phases
861 (add-before 'build 'set-sysconfdir
862 (lambda* (#:key outputs #:allow-other-keys)
863 ;; Work around a bug whereby the 'SYSCONFDIR' macro
864 ;; expands literally to '${prefix}/etc'.
865 (let ((out (assoc-ref outputs "out")))
866 (substitute* "src/main.c"
867 (("SYSCONFDIR, \"fprintd.conf\"")
868 (string-append "\"" out "/etc\", "
869 "\"fprintd.conf\"")))
870 #t))))))
871 (native-inputs
872 `(("pkg-config" ,pkg-config)
873 ("intltool" ,intltool)))
874 (inputs
875 `(("libfprint" ,libfprint)
876 ("dbus-glib" ,dbus-glib)
877 ("polkit" ,polkit)
878 ("linux-pam" ,linux-pam))) ;for pam_fprintd
879 (home-page "https://www.freedesktop.org/wiki/Software/fprint/fprintd/")
880 (synopsis "D-Bus daemon that exposes fingerprint reader functionality")
881 (description
882 "fprintd is a D-Bus daemon that offers functionality of libfprint, a
883 library to access fingerprint readers, over the D-Bus interprocess
884 communication bus. This daemon layer above libfprint solves problems related
885 to applications simultaneously competing for fingerprint readers.")
886 (license license:gpl2+)))