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