gnu: tuxguitar: Build with icedtea-8.
[jackhill/guix/guix.git] / gnu / packages / freedesktop.scm
CommitLineData
0b0e11a9
AE
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
dac354fe 3;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
e76008db 4;;; Copyright © 2015, 2017 Andy Wingo <wingo@pobox.com>
dfb01bae 5;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
3943f5ab 6;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
177b4255 7;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
93719a66 8;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
3c8ba11a 9;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
ac20cd7b 10;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
fa8a585e 11;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
ca1ddce8 12;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
0b0e11a9
AE
13;;;
14;;; This file is part of GNU Guix.
15;;;
16;;; GNU Guix is free software; you can redistribute it and/or modify it
17;;; under the terms of the GNU General Public License as published by
18;;; the Free Software Foundation; either version 3 of the License, or (at
19;;; your option) any later version.
20;;;
21;;; GNU Guix is distributed in the hope that it will be useful, but
22;;; WITHOUT ANY WARRANTY; without even the implied warranty of
23;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24;;; GNU General Public License for more details.
25;;;
26;;; You should have received a copy of the GNU General Public License
27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28
29(define-module (gnu packages freedesktop)
366553e4 30 #:use-module ((guix licenses) #:prefix license:)
0b0e11a9
AE
31 #:use-module (guix packages)
32 #:use-module (guix download)
366553e4 33 #:use-module (guix git-download)
dac354fe 34 #:use-module (guix build-system gnu)
e8444b26 35 #:use-module (guix build-system python)
73bb984e
EF
36 #:use-module (gnu packages acl)
37 #:use-module (gnu packages admin)
366553e4 38 #:use-module (gnu packages autotools)
fe4e0b0a 39 #:use-module (gnu packages bash)
73bb984e 40 #:use-module (gnu packages boost)
ac257f12 41 #:use-module (gnu packages check)
73bb984e
EF
42 #:use-module (gnu packages compression)
43 #:use-module (gnu packages databases)
44 #:use-module (gnu packages docbook)
45 #:use-module (gnu packages documentation)
366553e4 46 #:use-module (gnu packages gettext)
24e051cb 47 #:use-module (gnu packages gl)
73bb984e
EF
48 #:use-module (gnu packages glib) ;intltool
49 #:use-module (gnu packages gnome)
dfb01bae 50 #:use-module (gnu packages gnuzilla)
366553e4 51 #:use-module (gnu packages gperf)
55ba649d 52 #:use-module (gnu packages graphviz)
e6823279 53 #:use-module (gnu packages gtk)
171ae35c 54 #:use-module (gnu packages libffi)
24e051cb 55 #:use-module (gnu packages libunwind)
dfb01bae 56 #:use-module (gnu packages libusb)
73bb984e
EF
57 #:use-module (gnu packages linux)
58 #:use-module (gnu packages m4)
6976e7d2 59 #:use-module (gnu packages polkit)
73bb984e
EF
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages python)
fa8a585e 62 #:use-module (gnu packages w3m)
73bb984e
EF
63 #:use-module (gnu packages xml)
64 #:use-module (gnu packages xdisorg)
65 #:use-module (gnu packages xorg))
0b0e11a9
AE
66
67(define-public xdg-utils
68 (package
69 (name "xdg-utils")
fa8a585e 70 (version "1.1.1")
0b0e11a9
AE
71 (source
72 (origin
73 (method url-fetch)
74 (uri (string-append
5cc3096c 75 "https://portland.freedesktop.org/download/xdg-utils-"
fa8a585e 76 version ".tar.gz"))
0b0e11a9
AE
77 (sha256
78 (base32
fa8a585e 79 "09a1pk3ifsndc5qz2kcd1557i137gpgnv3d739pv22vfayi67pdh"))))
0b0e11a9 80 (build-system gnu-build-system)
fa8a585e
MB
81 (native-inputs
82 `(("docbook-xsl" ,docbook-xsl)
83 ("docbook-xml" ,docbook-xml-4.1.2)
84 ("libxslt" ,libxslt)
85 ("w3m" ,w3m)
86 ("xmlto" ,xmlto)))
f072e9ad
SB
87 (propagated-inputs
88 `(("xprop" ,xprop) ; for Xfce detecting
b3546174 89 ("xset" ,xset))) ; for xdg-screensaver
0b0e11a9 90 (arguments
fa8a585e
MB
91 `(#:tests? #f ; no check target
92 #:phases
93 (modify-phases %standard-phases
94 (add-after 'unpack 'patch-hardcoded-paths
95 (lambda _
96 (substitute* "scripts/xdg-mime.in"
97 (("/usr/bin/file") (which "file")))
98 (substitute* "scripts/xdg-open.in"
99 (("/usr/bin/printf") (which "printf")))
100 #t))
101 (add-before 'build 'locate-catalog-files
102 (lambda* (#:key inputs #:allow-other-keys)
103 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
104 "/xml/dtd/docbook"))
105 (xsldoc (string-append (assoc-ref inputs "docbook-xsl")
106 "/xml/xsl/docbook-xsl-"
107 ,(package-version docbook-xsl))))
108 (for-each (lambda (file)
109 (substitute* file
110 (("http://.*/docbookx\\.dtd")
111 (string-append xmldoc "/docbookx.dtd"))))
112 (find-files "scripts/desc" "\\.xml$"))
113 (substitute* "scripts/Makefile"
114 ;; Apparently `xmlto' does not bother to looks up the stylesheets
115 ;; specified in the XML, unlike the above substitition. Instead it
116 ;; uses a hard-coded URL. Work around it here, but if this is
117 ;; common perhaps we should hardcode this path in xmlto itself.
118 (("\\$\\(XMLTO\\) man")
119 (string-append "$(XMLTO) -x " xsldoc
120 "/manpages/docbook.xsl man")))
121 (setenv "STYLESHEET"
122 (string-append xsldoc "/html/docbook.xsl"))
123 #t))))))
124 (home-page "https://www.freedesktop.org/wiki/Software/xdg-utils/")
0b0e11a9
AE
125 (synopsis "Freedesktop.org scripts for desktop integration")
126 (description "The xdg-utils package is a set of simple scripts that
127provide basic desktop integration functions in the framework of the
128freedesktop.org project.")
366553e4 129 (license license:expat)))
dac354fe
SB
130
131(define-public libinput
132 (package
133 (name "libinput")
c476f029 134 (version "1.7.3")
dac354fe
SB
135 (source (origin
136 (method url-fetch)
521b1d88 137 (uri (string-append "https://freedesktop.org/software/libinput/"
dac354fe
SB
138 name "-" version ".tar.xz"))
139 (sha256
140 (base32
c476f029 141 "07fbzxddvhjcch43hdxb24sj7ri96zzpcjalvsicmw0i4wnn2v89"))))
dac354fe
SB
142 (build-system gnu-build-system)
143 (native-inputs
7ca37da8
EF
144 `(("cairo" ,cairo)
145 ("gtk+" ,gtk+)
146 ("pkg-config" ,pkg-config)))
dac354fe
SB
147 (propagated-inputs
148 `(("libudev" ,eudev))) ; required by libinput.pc
149 (inputs
7ca37da8
EF
150 `(("glib" ,glib)
151 ("libevdev" ,libevdev)
521b1d88
AW
152 ("mtdev" ,mtdev)
153 ("libwacom" ,libwacom)))
6aabc87d 154 (home-page "https://www.freedesktop.org/wiki/Software/libinput/")
dac354fe
SB
155 (synopsis "Input devices handling library")
156 (description
157 "Libinput is a library to handle input devices for display servers and
158other applications that need to directly deal with input devices.")
366553e4
RW
159 (license license:x11)))
160
c38fb02e
DC
161(define-public libinput-minimal
162 (package (inherit libinput)
163 (name "libinput-minimal")
7ca37da8
EF
164 (native-inputs
165 `(("pkg-config" ,pkg-config)))
c38fb02e
DC
166 (inputs
167 `(("libevdev" ,libevdev)
168 ("mtdev" ,mtdev)))
169 (arguments
170 `(#:configure-flags
171 '("--disable-libwacom")))))
172
60a5617b
AK
173(define-public libxdg-basedir
174 (package
175 (name "libxdg-basedir")
176 (version "1.2.0")
177 (source (origin
178 (method url-fetch)
179 (uri (string-append
180 "https://github.com/devnev/libxdg-basedir/archive/"
181 name "-" version ".tar.gz"))
182 (sha256
183 (base32
184 "0s28c7sfwqimsmb3kn91mx7wi55fs3flhbmynl9k60rrllr00aqw"))))
185 (build-system gnu-build-system)
186 (arguments
187 '(#:phases
188 (modify-phases %standard-phases
189 (add-after 'unpack 'autogen
190 (lambda _
191 ;; Run 'configure' in its own phase, not now.
192 (substitute* "autogen.sh"
193 (("^.*\\./configure.*") ""))
194 (zero? (system* "sh" "autogen.sh")))))))
195 (native-inputs
196 `(("autoconf" ,autoconf)
197 ("automake" ,automake)
198 ("libtool" ,libtool)))
199 (home-page "https://github.com/devnev/libxdg-basedir")
200 (synopsis "Implementation of the XDG Base Directory specification")
201 (description
202 "libxdg-basedir is a C library providing some functions to use with
203the freedesktop.org XDG Base Directory specification.")
204 (license license:expat)))
205
366553e4 206(define-public elogind
5c91962a
AW
207 (package
208 (name "elogind")
26ba09ba 209 (version "232.4")
5c91962a
AW
210 (source (origin
211 (method url-fetch)
fa67d565
RW
212 (uri (string-append "https://github.com/elogind/elogind/"
213 "archive/v" version ".tar.gz"))
5c91962a
AW
214 (sha256
215 (base32
26ba09ba 216 "1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
5c91962a
AW
217 (modules '((guix build utils)))
218 (snippet
219 '(begin
220 (use-modules (guix build utils))
221 (substitute* "Makefile.am"
222 ;; Avoid validation against DTD because the DTDs for
223 ;; both doctype 4.2 and 4.5 are needed.
224 (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))))))
225 (build-system gnu-build-system)
226 (arguments
fa67d565
RW
227 `(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
228 #:configure-flags
505760ed 229 (list (string-append "--with-udevrulesdir="
5c91962a 230 (assoc-ref %outputs "out")
fa67d565 231 "/lib/udev/rules.d")
cd1ad27e
LC
232
233 ;; Let elogind be its own cgroup controller, rather than relying
234 ;; on systemd or OpenRC. By default, 'configure' makes an
235 ;; incorrect guess.
236 "--with-cgroup-controller=elogind"
237
fa67d565
RW
238 (string-append "--with-rootprefix="
239 (assoc-ref %outputs "out"))
26ba09ba
PM
240 (string-append "--with-rootlibexecdir="
241 (assoc-ref %outputs "out")
242 "/libexec/elogind")
fa67d565
RW
243 ;; These are needed to ensure that lto linking works.
244 "RANLIB=gcc-ranlib"
245 "AR=gcc-ar"
246 "NM=gcc-nm")
956ad60c 247 #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
fa67d565
RW
248 #:phases
249 (modify-phases %standard-phases
250 (add-before 'configure 'autogen
251 (lambda _
252 (and (zero? (system* "intltoolize" "--force" "--automake"))
253 (zero? (system* "autoreconf" "-vif")))))
254 (add-before 'build 'fix-service-file
255 (lambda* (#:key outputs #:allow-other-keys)
256 ;; Fix the file name of the 'elogind' binary in the D-Bus
257 ;; '.service' file.
258 (substitute* "src/login/org.freedesktop.login1.service"
259 (("^Exec=.*")
260 (string-append "Exec=" (assoc-ref %outputs "out")
c2ffcc44
LC
261 "/libexec/elogind/elogind\n")))))
262 (add-after 'install 'add-libcap-to-search-path
263 (lambda* (#:key inputs outputs #:allow-other-keys)
264 ;; Add a missing '-L' for libcap in libelogind.la. See
265 ;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00084.html>.
266 (let ((libcap (assoc-ref inputs "libcap"))
267 (out (assoc-ref outputs "out")))
268 (substitute* (string-append out "/lib/libelogind.la")
269 (("-lcap")
270 (string-append "-L" libcap "/lib -lcap")))
271 #t))))))
5c91962a 272 (native-inputs
fa67d565
RW
273 `(("autoconf" ,autoconf)
274 ("automake" ,automake)
275 ("libtool" ,libtool)
276 ("intltool" ,intltool)
b94a6ca0 277 ("gettext" ,gettext-minimal)
fa67d565 278 ("python" ,python)
5c91962a
AW
279 ("docbook-xsl" ,docbook-xsl)
280 ("docbook-xml" ,docbook-xml)
281 ("xsltproc" ,libxslt)
282 ("m4" ,m4)
283 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b3546174 284 ("pkg-config" ,pkg-config)
4ed06287
LC
285
286 ;; Use gperf 3.0 to work around
287 ;; <https://github.com/wingo/elogind/issues/8>.
288 ("gperf" ,gperf-3.0)))
5c91962a
AW
289 (inputs
290 `(("linux-pam" ,linux-pam)
291 ("linux-libre-headers" ,linux-libre-headers)
292 ("libcap" ,libcap)
d312a832 293 ("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
1d19bc11 294 ;when pressing the power button
5c91962a 295 ("dbus" ,dbus)
95d7d0c5
CM
296 ("eudev" ,eudev)
297 ("acl" ,acl))) ;to add individual users to ACLs on /dev nodes
fa67d565 298 (home-page "https://github.com/elogind/elogind")
5c91962a
AW
299 (synopsis "User, seat, and session management service")
300 (description "Elogind is the systemd project's \"logind\" service,
366553e4
RW
301extracted out as a separate project. Elogind integrates with PAM to provide
302the org.freedesktop.login1 interface over the system bus, allowing other parts
303of a the system to know what users are logged in, and where.")
5c91962a 304 (license license:lgpl2.1+)))
e8444b26 305
fe4e0b0a
CB
306(define-public packagekit
307 (package
308 (name "packagekit")
309 (version "1.1.5")
310 (source (origin
311 (method url-fetch)
312 (uri (string-append
313 "https://www.freedesktop.org/software/"
314 "PackageKit/releases/"
315 "PackageKit-" version ".tar.xz"))
316 (sha256
317 (base32
318 "035pqxgkyki813hyw2frrbpfllq113zfk5qcp9wvsq5lsp74ix2h"))))
319 (build-system gnu-build-system)
320 (arguments
321 `(#:tests? #f
322 #:make-flags (list (string-append "BASH_COMPLETIONS_DIR="
323 %output "/etc/bash_completion.d"))
324 #:configure-flags
325 '("--disable-systemd")))
326 (native-inputs
327 `(("intltool" ,intltool)
328 ("pkg-config" ,pkg-config)
329 ("python" ,python-wrapper)
330 ("glib:bin" ,glib "bin")))
331 (inputs
332 `(("glib" ,glib)
333 ("bash-completion", bash-completion)
334 ("polkit" ,polkit)))
335 (propagated-inputs
336 `(("sqlite" ,sqlite)))
337 (home-page "https://www.freedesktop.org/software/PackageKit/")
338 (synopsis "API for package management, through D-Bus")
339 (description
340 "PackageKit provides a way of performing package management tasks,
341e.g. updating, removing and installing software. Through supporting many
342backends, PackageKit can perform these tasks using the appropriate package
343manager for the current system.")
344 (license license:gpl2+)))
345
e8444b26
RW
346(define-public python-pyxdg
347 (package
348 (name "python-pyxdg")
349 (version "0.25")
350 (source
351 (origin
352 (method url-fetch)
353 (uri (string-append
354 "https://pypi.python.org/packages/source/p/pyxdg/pyxdg-"
355 version ".tar.gz"))
356 (sha256
357 (base32
358 "179767h8m634ydlm4v8lnz01ba42gckfp684id764zaip7h87s41"))))
359 (build-system python-build-system)
360 (arguments
361 '(#:phases
dc1d3cde
KK
362 (modify-phases %standard-phases
363 (replace 'check
364 (lambda* (#:key inputs #:allow-other-keys)
365 (setenv "XDG_DATA_DIRS"
366 (string-append (assoc-ref inputs "shared-mime-info")
367 "/share/"))
368 (substitute* "test/test-icon.py"
369 (("/usr/share/icons/hicolor/index.theme")
370 (string-append (assoc-ref inputs "hicolor-icon-theme")
ffcff272
MB
371 "/share/icons/hicolor/index.theme"))
372 ;; FIXME: This test fails because the theme contains the unknown
373 ;; key "Scale".
374 (("theme.validate\\(\\)") "#"))
e8444b26 375
dc1d3cde
KK
376 ;; One test fails with:
377 ;; AssertionError: 'x-apple-ios-png' != 'png'
378 (substitute* "test/test-mime.py"
379 (("self.check_mimetype\\(imgpng, 'image', 'png'\\)") "#"))
380 (zero? (system* "nosetests" "-v")))))))
e8444b26
RW
381 (native-inputs
382 `(("shared-mime-info" ,shared-mime-info) ;for tests
383 ("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests
f3b98f4f 384 ("python-nose" ,python-nose)))
e8444b26
RW
385 (home-page "http://freedesktop.org/wiki/Software/pyxdg")
386 (synopsis "Implementations of freedesktop.org standards in Python")
387 (description
388 "PyXDG is a collection of implementations of freedesktop.org standards in
e881752c 389Python.")
e8444b26
RW
390 (license license:lgpl2.0)))
391
392(define-public python2-pyxdg
393 (package-with-python2 python-pyxdg))
6178d947
SB
394
395(define-public wayland
396 (package
397 (name "wayland")
20289af3 398 (version "1.13.0")
6178d947
SB
399 (source (origin
400 (method url-fetch)
5cc3096c 401 (uri (string-append "https://wayland.freedesktop.org/releases/"
6178d947
SB
402 name "-" version ".tar.xz"))
403 (sha256
404 (base32
20289af3 405 "0lgywr1m0d79vr4s8aimj8a307nss29hhy68gjpqj7m667055c39"))))
6178d947 406 (build-system gnu-build-system)
28a96f2a
AI
407 (arguments
408 `(#:parallel-tests? #f
409 #:phases
410 (modify-phases %standard-phases
d670267c 411 ;; Remove record shapes to workaround graphviz 2.40.1 problems.
28a96f2a 412 ;; http://www.graphviz.org/content/i-havent-been-able-render-these-files-graphviz-226
d670267c
AI
413 ;; This will likely be fixed upstream in the next release.
414 ;; https://lists.freedesktop.org/archives/wayland-devel/2017-June/034218.html
28a96f2a
AI
415 (add-before 'build 'fix-graphviz
416 (lambda _
417 (substitute* "doc/doxygen/dot/x-architecture.gv"
d670267c
AI
418 (("Mrecord") "none"))
419 #t)))))
6178d947
SB
420 (native-inputs
421 `(("doxygen" ,doxygen)
55ba649d 422 ("graphviz" ,graphviz)
6178d947
SB
423 ("pkg-config" ,pkg-config)
424 ("xmlto" ,xmlto)
425 ("xsltproc" ,libxslt)))
426 (inputs
427 `(("docbook-xml" ,docbook-xml)
428 ("docbook-xsl" ,docbook-xsl)
429 ("expat" ,expat)
430 ("libffi" ,libffi)
431 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
9012e118 432 (home-page "https://wayland.freedesktop.org/")
6178d947
SB
433 (synopsis "Display server protocol")
434 (description
435 "Wayland is a protocol for a compositor to talk to its clients as well as
436a C library implementation of that protocol. The compositor can be a standalone
437display server running on Linux kernel modesetting and evdev input devices, an X
438application, or a wayland client itself. The clients can be traditional
439applications, X servers (rootless or fullscreen) or other display servers.")
440 (license license:x11)))
177b4255 441
eca4c011
DC
442(define-public wayland-protocols
443 (package
444 (name "wayland-protocols")
851ff8a5 445 (version "1.9")
eca4c011
DC
446 (source (origin
447 (method url-fetch)
448 (uri (string-append
449 "https://wayland.freedesktop.org/releases/"
450 "wayland-protocols-" version ".tar.xz"))
451 (sha256
452 (base32
851ff8a5 453 "0xag2yci0l13brmq2k12vdv0wlnb2j0rxk2cnp170fya63g74sv6"))))
eca4c011
DC
454 (build-system gnu-build-system)
455 (inputs
456 `(("wayland" ,wayland)))
457 (native-inputs
458 `(("pkg-config" ,pkg-config)))
459 (synopsis "Wayland protocols")
460 (description "This package contains XML definitions of the Wayland protocols.")
461 (home-page "https://wayland.freedesktop.org")
462 (license license:expat)))
463
24e051cb
DC
464(define-public weston
465 (package
466 (name "weston")
ca1ddce8 467 (version "3.0.0")
24e051cb
DC
468 (source (origin
469 (method url-fetch)
470 (uri (string-append
471 "https://wayland.freedesktop.org/releases/"
472 "weston-" version ".tar.xz"))
473 (sha256
474 (base32
ca1ddce8 475 "19936zlkb75xcaidd8fag4ah8000wrh2ziqy7nxkq36pimgdbqfd"))))
24e051cb
DC
476 (build-system gnu-build-system)
477 (native-inputs
478 `(("pkg-config" ,pkg-config)
479 ("xorg-server" ,xorg-server)))
480 (inputs
481 `(("cairo" ,cairo-xcb)
482 ("dbus" ,dbus)
483 ("elogind" ,elogind)
484 ("libinput" ,libinput-minimal)
485 ("libunwind" ,libunwind)
486 ("libxcursor" ,libxcursor)
487 ("libxkbcommon" ,libxkbcommon)
488 ("mesa" ,mesa)
489 ("mtdev" ,mtdev)
490 ("linux-pam" ,linux-pam)
491 ("wayland" ,wayland)
492 ("wayland-protocols" ,wayland-protocols)
493 ("xorg-server-xwayland" ,xorg-server-xwayland)))
494 (arguments
495 `(#:configure-flags
496 (list "--disable-setuid-install"
497 "--enable-systemd-login"
498 (string-append "--with-xserver-path="
499 (assoc-ref %build-inputs "xorg-server-xwayland")
500 "/bin/Xwayland"))
501 #:phases
502 (modify-phases %standard-phases
503 (add-before 'configure 'use-elogind
504 (lambda _
505 ;; Use elogind instead of systemd
506 (substitute* "configure"
507 (("libsystemd-login >= 198") "libelogind"))
b23992af
MB
508 (substitute* '("libweston/launcher-logind.c"
509 "libweston/weston-launch.c")
24e051cb 510 (("#include <systemd/sd-login.h>")
b23992af
MB
511 "#include <elogind/sd-login.h>"))
512 #t))
24e051cb
DC
513 (add-after 'configure 'patch-confdefs.h
514 (lambda _
515 (system "echo \"#define HAVE_SYSTEMD_LOGIN_209 1\" >> confdefs.h")))
516 (add-before 'check 'setup
517 (lambda _
518 (setenv "HOME" (getcwd))
519 (setenv "XDG_RUNTIME_DIR" (getcwd))
520 #t))
521 (add-before 'check 'start-xorg-server
522 (lambda* (#:key inputs #:allow-other-keys)
523 ;; The test suite requires a running X server.
524 (system (string-append (assoc-ref inputs "xorg-server")
525 "/bin/Xvfb :1 &"))
526 (setenv "DISPLAY" ":1")
527 #t)))))
528 (home-page "https://wayland.freedesktop.org")
529 (synopsis "Reference implementation of a Wayland compositor")
530 (description "Weston is the reference implementation of a Wayland
531compositor, and a useful compositor in its own right.
532
533A Wayland compositor allows applications to render to a shared offscreen
534buffer using OpenGL ES. The compositor then culls the hidden parts and
535composes the final output. A Wayland compositor is essentially a
536multiplexer to the KMS/DRM Linux kernel devices.")
537 (license license:expat)))
538
177b4255
DH
539(define-public exempi
540 (package
541 (name "exempi")
941a38b6 542 (version "2.4.2")
177b4255
DH
543 (source (origin
544 (method url-fetch)
545 (uri (string-append
5cc3096c 546 "https://libopenraw.freedesktop.org/download/"
177b4255
DH
547 name "-" version ".tar.bz2"))
548 (sha256
549 (base32
941a38b6 550 "1v665fc7x0yi7x6lzskvd8bd2anf7951svn2vd5384dblmgv43av"))))
177b4255
DH
551 (build-system gnu-build-system)
552 (arguments
553 `(#:configure-flags (list (string-append "--with-boost="
554 (assoc-ref %build-inputs "boost")))))
555 (native-inputs
556 `(("boost" ,boost))) ; tests
557 (inputs
558 `(("expat" ,expat)
559 ("zlib" ,zlib)))
560 (home-page "https://wiki.freedesktop.org/libopenraw/Exempi")
561 (synopsis "XMP metadata handling library")
562 (description "Exempi is an implementation of the Extensible Metadata
563Platform (XMP), which enables embedding metadata in PDF and image formats.")
564 (license license:bsd-3)))
cfbbff31
SB
565
566(define-public libatasmart
567 (package
568 (name "libatasmart")
569 (version "0.19")
570 (source (origin
571 (method url-fetch)
572 (uri (string-append "http://0pointer.de/public/"
573 name "-" version ".tar.xz"))
574 (sha256
575 (base32
576 "138gvgdwk6h4ljrjsr09pxk1nrki4b155hqdzyr8mlk3bwsfmw31"))))
577 (build-system gnu-build-system)
578 (native-inputs
579 `(("pkg-config" ,pkg-config)))
580 (inputs
581 `(("udev" ,eudev)))
582 (home-page "http://0pointer.de/blog/projects/being-smart.html")
583 (synopsis "ATA S.M.A.R.T. reading and parsing library")
584 (description
585 "This library supports a subset of the ATA S.M.A.R.T. (Self-Monitoring,
586Analysis and Reporting Technology) functionality.")
587 (license license:lgpl2.1+)))
171ae35c
SB
588
589(define-public udisks
590 (package
591 (name "udisks")
988e1dca 592 (version "2.1.8")
171ae35c
SB
593 (source (origin
594 (method url-fetch)
5cc3096c 595 (uri (string-append "https://udisks.freedesktop.org/releases/"
171ae35c
SB
596 name "-" version ".tar.bz2"))
597 (sha256
598 (base32
988e1dca 599 "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
171ae35c
SB
600 (build-system gnu-build-system)
601 (native-inputs
aef5055f
MC
602 `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
603 ("docbook-xsl" ,docbook-xsl)
604 ("glib:bin" ,glib "bin") ; for glib-mkenums
171ae35c
SB
605 ("gobject-introspection" ,gobject-introspection)
606 ("intltool" ,intltool)
607 ("pkg-config" ,pkg-config)
608 ("xsltproc" ,libxslt)))
609 (propagated-inputs
610 `(("glib" ,glib))) ; required by udisks2.pc
611 (inputs
612 `(("acl" ,acl)
613 ("libatasmart" ,libatasmart)
614 ("libgudev" ,libgudev)
5905114a
LC
615 ("polkit" ,polkit)
616 ("util-linux" ,util-linux)))
daa3b04c
LC
617 (outputs '("out"
618 "doc")) ;5 MiB of gtk-doc HTML
171ae35c
SB
619 (arguments
620 `(#:tests? #f ; requiring system message dbus
c0351459 621 #:disallowed-references ("doc") ;enforce separation of "doc"
171ae35c 622 #:configure-flags
aef5055f 623 (list "--enable-man"
171ae35c 624 "--localstatedir=/var"
35263cd8 625 "--enable-fhs-media" ;mount devices in /media, not /run/media
daa3b04c
LC
626 (string-append "--with-html-dir="
627 (assoc-ref %outputs "doc")
628 "/share/doc/udisks/html")
171ae35c 629 (string-append "--with-udevdir=" %output "/lib/udev"))
aef5055f
MC
630 #:make-flags
631 (let* ((docbook-xsl-name-version ,(string-append
632 (package-name docbook-xsl) "-"
633 (package-version docbook-xsl)))
634 (docbook-xsl-catalog-file (string-append
635 (assoc-ref %build-inputs "docbook-xsl")
636 "/xml/xsl/"
637 docbook-xsl-name-version
638 "/catalog.xml"))
639 (docbook-xml-catalog-file (string-append
640 (assoc-ref %build-inputs "docbook-xml")
641 "/xml/dtd/docbook/catalog.xml")))
642 ;; Reference the catalog files required to build the manpages.
643 (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
644 docbook-xml-catalog-file)))
171ae35c
SB
645 #:phases
646 (modify-phases %standard-phases
647 (add-before
648 'configure 'fix-girdir
649 (lambda _
650 ;; Install introspection data to its own output.
651 (substitute* "udisks/Makefile.in"
652 (("girdir = .*")
653 "girdir = $(datadir)/gir-1.0\n")
654 (("typelibsdir = .*")
5905114a
LC
655 "typelibsdir = $(libdir)/girepository-1.0\n"))))
656 (add-after 'install 'set-mount-file-name
657 (lambda* (#:key outputs inputs #:allow-other-keys)
658 ;; Tell 'udisksd' where to find the 'mount' command.
659 (let ((out (assoc-ref outputs "out"))
660 (utils (assoc-ref inputs "util-linux")))
661 (wrap-program (string-append out "/libexec/udisks2/udisksd")
662 `("PATH" ":" prefix
663 (,(string-append utils "/bin") ;for 'mount'
664 "/run/current-system/profile/bin"
665 "/run/current-system/profile/sbin")))
666 #t))))))
988e1dca 667 (home-page "https://www.freedesktop.org/wiki/Software/udisks/")
171ae35c
SB
668 (synopsis "Disk manager service")
669 (description
670 "UDisks provides interfaces to enumerate and perform operations on disks
671and storage devices. Any application (including unprivileged ones) can access
672the udisksd(8) daemon via the name org.freedesktop.UDisks2 on the system
673message bus.")
674 ;; The dynamic library are under LGPLv2+, others are GPLv2+.
675 (license (list license:gpl2+ license:lgpl2.0+))))
83a2e492
SB
676
677(define-public accountsservice
678 (package
679 (name "accountsservice")
571ffdeb 680 (version "0.6.43")
83a2e492
SB
681 (source (origin
682 (method url-fetch)
e1c644a0 683 (uri (string-append "https://www.freedesktop.org/software/"
83a2e492
SB
684 name "/" name "-" version ".tar.xz"))
685 (sha256
686 (base32
571ffdeb 687 "1k6n9079001sgcwlkq0bz6mkn4m8y4dwf6hs1qm85swcld5ajfzd"))))
83a2e492
SB
688 (build-system gnu-build-system)
689 (arguments
690 '(#:tests? #f ; XXX: tests require DocBook 4.1.2
691 #:configure-flags
692 '("--localstatedir=/var")
693 #:phases
694 (modify-phases %standard-phases
695 (add-before
696 'configure 'pre-configure
e76008db
AW
697 (lambda* (#:key inputs #:allow-other-keys)
698 ;; Don't try to create /var/lib/AccountsService.
83a2e492 699 (substitute* "src/Makefile.in"
571ffdeb 700 (("\\$\\(MKDIR_P\\).*/lib/AccountsService.*") "true"))
e76008db
AW
701 (let ((shadow (assoc-ref inputs "shadow")))
702 (substitute* '("src/user.c" "src/daemon.c")
703 (("/usr/sbin/usermod") (string-append shadow "/sbin/usermod"))
704 (("/usr/sbin/useradd") (string-append shadow "/sbin/useradd"))
705 (("/usr/sbin/userdel") (string-append shadow "/sbin/userdel"))
706 (("/usr/bin/passwd") (string-append shadow "/bin/passwd"))
707 (("/usr/bin/chage") (string-append shadow "/bin/chage"))))
571ffdeb 708 #t)))))
83a2e492
SB
709 (native-inputs
710 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
711 ("gobject-introspection" ,gobject-introspection)
712 ("intltool" ,intltool)
713 ("pkg-config" ,pkg-config)))
714 (inputs
e76008db
AW
715 `(("shadow" ,shadow)
716 ("polkit" ,polkit)))
83a2e492
SB
717 (home-page "http://www.freedesktop.org/wiki/Software/AccountsService/")
718 (synopsis "D-Bus interface for user account query and manipulation")
719 (description
720 "The AccountService project provides a set of D-Bus interfaces for querying
721and manipulating user account information and an implementation of these
722interfaces, based on the useradd, usermod and userdel commands.")
723 (license license:gpl3+)))
f3ad1490
SB
724
725(define-public libmbim
726 (package
727 (name "libmbim")
66056126 728 (version "1.12.4")
f3ad1490
SB
729 (source (origin
730 (method url-fetch)
731 (uri (string-append
03422bf8 732 "https://www.freedesktop.org/software/" name "/"
f3ad1490
SB
733 name "-" version ".tar.xz"))
734 (sha256
735 (base32
66056126 736 "0flpgzsqpjgybjkx4smbb4rjxf2w1xgd1v9gmz61rvl89qasznbv"))))
f3ad1490
SB
737 (build-system gnu-build-system)
738 (native-inputs
739 `(("glib:bin" ,glib "bin") ; for glib-mkenums
740 ("pkg-config" ,pkg-config)
741 ("python" ,python-wrapper)))
742 (propagated-inputs
743 `(("glib" ,glib))) ; required by mbim-glib.pc
744 (inputs
745 `(("libgudev" ,libgudev)))
746 (synopsis "Library to communicate with MBIM-powered modems")
66056126 747 (home-page "https://www.freedesktop.org/wiki/Software/libmbim/")
f3ad1490
SB
748 (description
749 "Libmbim is a GLib-based library for talking to WWAN modems and devices
750which speak the Mobile Interface Broadband Model (MBIM) protocol.")
751 (license
752 ;; The libmbim-glib library is released under the LGPLv2+ license.
753 ;; The mbimcli tool is released under the GPLv2+ license.
754 (list license:lgpl2.0+ license:gpl2+))))
5302c5ff
SB
755
756(define-public libqmi
757 (package
758 (name "libqmi")
1fb8e074 759 (version "1.14.2")
5302c5ff
SB
760 (source (origin
761 (method url-fetch)
762 (uri (string-append
97a08595 763 "https://www.freedesktop.org/software/" name "/"
5302c5ff
SB
764 name "-" version ".tar.xz"))
765 (sha256
766 (base32
1fb8e074 767 "0h009bzss4bal47nk21lyp4s3mmlcivhhaaj7r9229qvx85bi0v2"))))
5302c5ff
SB
768 (build-system gnu-build-system)
769 (native-inputs
770 `(("glib:bin" ,glib "bin") ; for glib-mkenums
771 ("pkg-config" ,pkg-config)
772 ("python" ,python-wrapper)))
773 (propagated-inputs
774 `(("glib" ,glib))) ; required by qmi-glib.pc
775 (synopsis "Library to communicate with QMI-powered modems")
97a08595 776 (home-page "https://www.freedesktop.org/wiki/Software/libqmi/")
5302c5ff
SB
777 (description
778 "Libqmi is a GLib-based library for talking to WWAN modems and devices
779which speak the Qualcomm MSM Interface (QMI) protocol.")
780 (license
781 ;; The libqmi-glib library is released under the LGPLv2+ license.
782 ;; The qmicli tool is released under the GPLv2+ license.
783 (list license:lgpl2.0+ license:gpl2+))))
1509a1dc
SB
784
785(define-public modem-manager
786 (package
787 (name "modem-manager")
473dbe9b 788 (version "1.4.14")
1509a1dc
SB
789 (source (origin
790 (method url-fetch)
791 (uri (string-append
e9f68a64 792 "https://www.freedesktop.org/software/ModemManager/"
1509a1dc
SB
793 "ModemManager-" version ".tar.xz"))
794 (sha256
795 (base32
473dbe9b 796 "18hvffwcncwz14kdzk42jbkh362n0kjv3kgx7axbqx572pawvrmb"))))
1509a1dc
SB
797 (build-system gnu-build-system)
798 (arguments
799 '(#:configure-flags
800 `(,(string-append "--with-udev-base-dir=" %output "/lib/udev"))))
801 (native-inputs
802 `(("glib:bin" ,glib "bin") ; for glib-mkenums
803 ("gobject-introspection" ,gobject-introspection)
804 ("intltool" ,intltool)
805 ("pkg-config" ,pkg-config)
806 ("vala" ,vala)
807 ;; For testing.
808 ("dbus" ,dbus)))
809 (propagated-inputs
810 `(("glib" ,glib))) ; required by mm-glib.pc
811 (inputs
812 `(("libgudev" ,libgudev)
813 ("libmbim" ,libmbim)
814 ("libqmi" ,libqmi)
815 ("polkit" ,polkit)))
816 (synopsis "Mobile broadband modems manager")
817 (home-page "http://www.freedesktop.org/wiki/Software/ModemManager/")
818 (description
819 "ModemManager is a DBus-activated daemon which controls mobile
820broadband (2G/3G/4G) devices and connections. Whether built-in devices, USB
821dongles, bluetooth-paired telephones, or professional RS232/USB devices with
822external power supplies, ModemManager is able to prepare and configure the
823modems and setup connections with them.")
824 (license license:gpl2+)))
6976e7d2
SB
825
826(define-public telepathy-logger
827 (package
828 (name "telepathy-logger")
829 (version "0.8.2")
830 (source (origin
831 (method url-fetch)
5cc3096c 832 (uri (string-append "https://telepathy.freedesktop.org/releases/"
6976e7d2
SB
833 name "/" name "-" version ".tar.bz2"))
834 (sha256
835 (base32
836 "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg"))))
837 (build-system gnu-build-system)
838 (arguments
8758efe0
LF
839 '(#:parallel-tests? #f
840 #:phases
6976e7d2
SB
841 (modify-phases %standard-phases
842 (add-before 'check 'pre-check
843 (lambda _
844 (setenv "HOME" (getenv "TMPDIR"))
845 #t)))))
846 (native-inputs
847 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
848 ("gobject-introspection" ,gobject-introspection)
849 ("intltool" ,intltool)
850 ("pkg-config" ,pkg-config)
851 ("python" ,python-2)
852 ("xsltproc" ,libxslt)))
853 (propagated-inputs
854 ;; telepathy-logger-0.2.pc refers to all these.
855 `(("libxml2" ,libxml2)
856 ("sqlite" ,sqlite)
857 ("telepathy-glib" ,telepathy-glib)))
858 (synopsis "Telepathy logger library")
859 (home-page "http://telepathy.freedesktop.org/")
860 (description
861 "Telepathy logger is a headless observer client that logs information
862received by the Telepathy framework. It features pluggable backends to log
863different sorts of messages in different formats.")
864 (license license:lgpl2.1+)))
e6823279 865
bb8b543a
KK
866(define-public telepathy-idle
867 (package
868 (name "telepathy-idle")
869 (version "0.2.0")
870 (source (origin
871 (method url-fetch)
872 (uri (string-append "https://telepathy.freedesktop.org/releases/"
873 name "/" name "-" version ".tar.bz2"))
874 (sha256
875 (base32
876 "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh"))))
877 (build-system gnu-build-system)
878 (native-inputs
879 `(("pkg-config" ,pkg-config)))
880 (inputs
881 `(("xsltproc" ,libxslt)
882 ("python" ,python-2)
883 ("python-dbus" ,python2-dbus)))
884 (propagated-inputs
885 `(("telepathy-glib" ,telepathy-glib)))
886 (home-page "http://telepathy.freedesktop.org/")
887 (synopsis "Telepathy IRC connection manager")
888 (description
889 "Idle is an IRC connection manager for the Telepathy framework. This
890package enables usage of IRC channels and private messages in Telepathy instant
891messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
892 (license (list license:lgpl2.1 license:lgpl2.1+))))
893
261b3da5
KK
894(define-public telepathy-mission-control
895 (package
896 (name "telepathy-mission-control")
ac20cd7b 897 (version "5.16.4")
261b3da5
KK
898 (source (origin
899 (method url-fetch)
900 (uri (string-append "https://telepathy.freedesktop.org/releases/"
ac20cd7b 901 name "/" name "-" version ".tar.gz"))
261b3da5
KK
902 (sha256
903 (base32
ac20cd7b 904 "1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
261b3da5
KK
905 (build-system gnu-build-system)
906 (native-inputs
907 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
908 ("pkg-config" ,pkg-config)))
909 (inputs
910 `(("dconf" ,dconf)
911 ("gtk-doc" ,gtk-doc)
912 ("libgnome-keyring" ,libgnome-keyring)
913 ("python" ,python-2)
914 ("xsltproc" ,libxslt)))
915 (propagated-inputs
916 `(("telepathy-glib" ,telepathy-glib)))
917 (home-page "https://telepathy.freedesktop.org/wiki/Components/Mission_Control/")
918 (synopsis "Telepathy real-time communication framework management daemon")
919 (description
920 "Telepathy Mission Control 5 is an account manager and channel dispatcher
921for the Telepathy framework, allowing user interfaces and other clients to
922share connections to real-time communication services without conflicting.")
923 (license license:lgpl2.1)))
924
e6823279
SB
925(define-public colord-gtk
926 (package
927 (name "colord-gtk")
928 (version "0.1.26")
929 (source (origin
930 (method url-fetch)
5cc3096c 931 (uri (string-append "https://www.freedesktop.org/software/colord"
e6823279
SB
932 "/releases/" name "-" version ".tar.xz"))
933 (sha256
934 (base32
935 "0i9y3bb5apj6a0f8cx36l6mjzs7xc0k7nf0magmf58vy2mzhpl18"))))
936 (build-system gnu-build-system)
937 (arguments '(#:tests? #f)) ; require the colord system service
938 (native-inputs
939 `(("gobject-introspection" ,gobject-introspection)
940 ("intltool" ,intltool)
941 ("pkg-config" ,pkg-config)
942 ("vala" ,vala)))
943 (propagated-inputs
944 ;; colord-gtk.pc refers to all these.
945 `(("colord" ,colord)
946 ("gtk+" ,gtk+)))
947 (synopsis "GTK integration for libcolord")
948 (home-page "http://www.freedesktop.org/software/colord/")
949 (description
950 "This is a GTK+ convenience library for interacting with colord. It is
951useful for both applications which need colour management and applications that
952wish to perform colour calibration.")
953 (license license:lgpl2.1+)))
dfb01bae
LC
954
955(define-public libfprint
956 (package
957 (name "libfprint")
958 (version "0.6.0")
959 (source (origin
960 (method url-fetch)
961 (uri (string-append "https://people.freedesktop.org/~hadess/"
962 name "-" version ".tar.xz"))
963 (sha256
964 (base32
965 "1giwh2z63mn45galsjb59rhyrvgwcy01hvvp4g01iaa2snvzr0r5"))))
966 (build-system gnu-build-system)
967 (arguments
968 '(#:configure-flags (list (string-append "--with-udev-rules-dir="
969 (assoc-ref %outputs "out")
970 "/lib/udev/rules.d"))))
971 (native-inputs
972 `(("pkg-config" ,pkg-config)))
973 (inputs
974 `(("libusb" ,libusb)
975 ("nss" ,nss)
976 ("glib" ,glib)
977 ("eudev" ,eudev)
978 ("pixman" ,pixman)))
979 (home-page "https://www.freedesktop.org/wiki/Software/fprint/libfprint/")
980 (synopsis "Library to access fingerprint readers")
981 (description
982 "libfprint is a library designed to make it easy for application
983developers to add support for consumer fingerprint readers to their
984software.")
985 (license license:lgpl2.1+)))
9e3e972d
LC
986
987(define-public fprintd
988 (package
989 (name "fprintd")
990 (version "0.7.0")
991 (source (origin
992 (method url-fetch)
993 (uri (string-append
994 "https://people.freedesktop.org/~hadess/fprintd-"
995 version ".tar.xz"))
996 (sha256
997 (base32
998 "05915i0bv7q62fqrs5diqwr8dz3pwqa1c1ivcgggkjyw0xk4ldp5"))))
999 (build-system gnu-build-system)
5c3d6c1d
LC
1000 (arguments
1001 '(#:phases (modify-phases %standard-phases
1002 (add-before 'build 'set-sysconfdir
1003 (lambda* (#:key outputs #:allow-other-keys)
1004 ;; Work around a bug whereby the 'SYSCONFDIR' macro
1005 ;; expands literally to '${prefix}/etc'.
1006 (let ((out (assoc-ref outputs "out")))
1007 (substitute* "src/main.c"
1008 (("SYSCONFDIR, \"fprintd.conf\"")
1009 (string-append "\"" out "/etc\", "
1010 "\"fprintd.conf\"")))
1011 #t))))))
9e3e972d
LC
1012 (native-inputs
1013 `(("pkg-config" ,pkg-config)
1014 ("intltool" ,intltool)))
1015 (inputs
1016 `(("libfprint" ,libfprint)
1017 ("dbus-glib" ,dbus-glib)
1018 ("polkit" ,polkit)
1019 ("linux-pam" ,linux-pam))) ;for pam_fprintd
1020 (home-page "https://www.freedesktop.org/wiki/Software/fprint/fprintd/")
1021 (synopsis "D-Bus daemon that exposes fingerprint reader functionality")
1022 (description
1023 "fprintd is a D-Bus daemon that offers functionality of libfprint, a
1024library to access fingerprint readers, over the D-Bus interprocess
1025communication bus. This daemon layer above libfprint solves problems related
1026to applications simultaneously competing for fingerprint readers.")
1027 (license license:gpl2+)))
324b0040
DM
1028
1029(define-public desktop-file-utils
1030 (package
1031 (name "desktop-file-utils")
1032 (version "0.23")
1033 (source (origin
1034 (method url-fetch)
1035 (uri (string-append "https://www.freedesktop.org/software/" name
1036 "/releases/" name "-" version ".tar.xz"))
1037 (sha256
1038 (base32
1039 "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc"))))
1040 (build-system gnu-build-system)
1041 (native-inputs
1042 `(("pkg-config" ,pkg-config)))
1043 (inputs
1044 `(("glib" ,glib)))
1045 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
1046 (synopsis "Utilities for working with desktop entries")
1047 (description
1048 "This package contains a few command line utilities for working with
1049desktop entries:
1050
1051desktop-file-validate: validates a desktop file and prints warnings/errors
1052 about desktop entry specification violations.
1053
1054desktop-file-install: installs a desktop file to the applications directory,
1055 optionally munging it a bit in transit.
1056
1057update-desktop-database: updates the database containing a cache of MIME types
1058 handled by desktop files.")
1059 (license license:gpl2+)))
b9bf08f0
AW
1060
1061(define-public xdg-user-dirs
1062 (package
1063 (name "xdg-user-dirs")
1064 (version "0.16")
1065 (source (origin
1066 (method url-fetch)
1067 (uri (string-append "http://user-dirs.freedesktop.org/releases/"
1068 name "-" version ".tar.gz"))
1069 (sha256
1070 (base32 "1rp3c94hxjlfsryvwajklynfnrcvxplhwnjqc7395l89i0nb83vp"))))
1071 (build-system gnu-build-system)
1072 (native-inputs
1073 `(("gettext" ,gettext-minimal)
1074 ("docbook-xsl" ,docbook-xsl)
1075 ("docbook-xml" ,docbook-xml-4.3)
1076 ("xsltproc" ,libxslt)))
1077 (arguments
1078 `(#:phases
1079 (modify-phases %standard-phases
1080 (add-before 'build 'locate-catalog-files
1081 (lambda* (#:key inputs #:allow-other-keys)
1082 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
1083 "/xml/dtd/docbook"))
1084 (xsldoc (string-append (assoc-ref inputs "docbook-xsl")
1085 "/xml/xsl/docbook-xsl-"
1086 ,(package-version docbook-xsl))))
1087 (for-each (lambda (file)
1088 (substitute* file
1089 (("http://.*/docbookx\\.dtd")
1090 (string-append xmldoc "/docbookx.dtd"))))
1091 (find-files "man" "\\.xml$"))
1092 (substitute* "man/Makefile"
1093 (("http://.*/docbook\\.xsl")
1094 (string-append xsldoc "/manpages/docbook.xsl")))
1095 #t))))))
1096 (home-page "https://www.freedesktop.org/wiki/Software/xdg-user-dirs/")
1097 (synopsis "Tool to help manage \"well known\" user directories")
1098 (description "xdg-user-dirs is a tool to help manage \"well known\" user
1099directories, such as the desktop folder or the music folder. It also handles
1100localization (i.e. translation) of the file names. Designed to be
1101automatically run when a user logs in, xdg-user-dirs can also be run
1102manually by a user.")
1103 (license license:gpl2)))