gnu: TeX Live: Update packages to 2019.3.
[jackhill/guix/guix.git] / gnu / packages / glib.scm
CommitLineData
3889a82e 1;;; GNU Guix --- Functional package management for GNU
df09e1d6 2;;; Copyright © 2013, 2014, 2015, 2016, 2019 Ludovic Courtès <ludo@gnu.org>
7873318d 3;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
d6b8cb5c 4;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
95346874 5;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
22b0caa3 6;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
89eb7581 7;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
2c6ebeb7 8;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
a372c4da 9;;; Copyright © 2017 Petter <petter@mykolab.ch>
93394133 10;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
451f6e30 11;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
cff1927f 12;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
19d0554f 13;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
9e0cb9d7 14;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
3889a82e
NK
15;;;
16;;; This file is part of GNU Guix.
17;;;
18;;; GNU Guix is free software; you can redistribute it and/or modify it
19;;; under the terms of the GNU General Public License as published by
20;;; the Free Software Foundation; either version 3 of the License, or (at
21;;; your option) any later version.
22;;;
23;;; GNU Guix is distributed in the hope that it will be useful, but
24;;; WITHOUT ANY WARRANTY; without even the implied warranty of
25;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26;;; GNU General Public License for more details.
27;;;
28;;; You should have received a copy of the GNU General Public License
29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30
943f33a3 31(define-module (gnu packages glib)
943f33a3 32 #:use-module (gnu packages)
7b83b695 33 #:use-module (gnu packages backup)
08a1e906 34 #:use-module (gnu packages base)
9ceb630c 35 #:use-module (gnu packages bison)
59f6dfe5 36 #:use-module (gnu packages check)
943f33a3 37 #:use-module (gnu packages compression)
cff1927f
MC
38 #:use-module (gnu packages docbook)
39 #:use-module (gnu packages documentation)
89eb7581 40 #:use-module (gnu packages enlightenment)
08a1e906 41 #:use-module (gnu packages file)
9ceb630c 42 #:use-module (gnu packages flex)
1dba6407 43 #:use-module (gnu packages gettext)
c73d4c59 44 #:use-module (gnu packages gnome)
318bc429 45 #:use-module (gnu packages gperf)
9ceb630c 46 #:use-module (gnu packages gtk)
943f33a3 47 #:use-module (gnu packages libffi)
2b95aed4 48 #:use-module (gnu packages linux)
08a1e906 49 #:use-module (gnu packages m4)
7b83b695 50 #:use-module (gnu packages nettle)
6983ba56 51 #:use-module (gnu packages pcre)
318bc429 52 #:use-module (gnu packages package-management)
d6b8cb5c 53 #:use-module (gnu packages perl)
5ccde207 54 #:use-module (gnu packages perl-check)
943f33a3
LC
55 #:use-module (gnu packages pkg-config)
56 #:use-module (gnu packages python)
6c237a2d 57 #:use-module (gnu packages selinux)
318bc429 58 #:use-module (gnu packages web)
7bc5cc2b 59 #:use-module (gnu packages xml)
80370441 60 #:use-module (gnu packages xorg)
08a1e906 61 #:use-module (guix build-system gnu)
318bc429 62 #:use-module (guix build-system meson)
08a1e906
TGR
63 #:use-module (guix build-system perl)
64 #:use-module (guix build-system python)
65 #:use-module (guix download)
66 #:use-module ((guix licenses) #:prefix license:)
67 #:use-module (guix packages)
68 #:use-module (guix utils)
3a2efbc8 69 #:use-module (srfi srfi-1)
943f33a3 70
80370441
LC
71 ;; Export variables up-front to allow circular dependency with the 'xorg'
72 ;; module.
73 #:export (dbus
74 glib
6ac6a6b9 75 gobject-introspection
80370441
LC
76 dbus-glib
77 intltool
a5a7d374
LC
78 itstool
79 libsigc++
7873318d 80 glibmm
a372c4da 81 telepathy-glib
fc4083c5
P
82 perl-net-dbus
83 perl-net-dbus-glib))
80370441
LC
84
85(define dbus
943f33a3
LC
86 (package
87 (name "dbus")
a9a78d8b 88 (version "1.12.16")
943f33a3 89 (source (origin
25087f60
SB
90 (method url-fetch)
91 (uri (string-append
7fb51d97 92 "https://dbus.freedesktop.org/releases/dbus/dbus-"
25087f60
SB
93 version ".tar.gz"))
94 (sha256
95 (base32
a9a78d8b 96 "107ckxaff1cv4q6kmfdi2fb1nlsv03312a7kf6lb4biglhpjv8jl"))
fc1adab1 97 (patches (search-patches "dbus-helper-search-path.patch"))))
943f33a3 98 (build-system gnu-build-system)
8eaa8a3b 99 (arguments
25087f60
SB
100 '(#:configure-flags
101 (list
102 ;; Install the system bus socket under /var.
103 "--localstatedir=/var"
8eaa8a3b 104
25087f60
SB
105 ;; Install the session bus socket under /tmp.
106 "--with-session-socket-dir=/tmp"
8eaa8a3b 107
9092e3e9
MB
108 ;; Build shared libraries only.
109 "--disable-static"
110
25087f60
SB
111 ;; Use /etc/dbus-1 for system-wide config.
112 ;; Look for configuration file under
113 ;; /etc/dbus-1. This is notably required by
114 ;; 'dbus-daemon-launch-helper', which looks for
115 ;; the 'system.conf' file in that place,
116 ;; regardless of what '--config-file' was
117 ;; passed to 'dbus-daemon' on the command line;
118 ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
119 "--sysconfdir=/etc")
120 #:phases
121 (modify-phases %standard-phases
122 (replace 'install
123 (lambda _
124 ;; Don't try to create /var and /etc.
d009c44a
MW
125 (invoke "make"
126 "localstatedir=/tmp/dummy"
127 "sysconfdir=/tmp/dummy"
128 "install"))))))
708be46b 129 (native-inputs
cff1927f
MC
130 `(("pkg-config" ,pkg-config)
131 ;; Dependencies to generate the doc.
132 ("docbook-xml" ,docbook-xml-4.4)
133 ("docbook-xsl" ,docbook-xsl)
134 ("doxygen" ,doxygen)
135 ("xmlto" ,xmlto)
136 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
137 ("libxslt" ,libxslt)
138 ("yelp-tools" ,yelp-tools)))
943f33a3 139 (inputs
d6b8cb5c 140 `(("expat" ,expat)
80370441
LC
141 ;; Add a dependency on libx11 so that 'dbus-launch' has support for
142 ;; '--autolaunch'.
143 ("libx11" ,libx11)))
cff1927f 144 (outputs '("out" "doc")) ;22 MiB of HTML doc
57e7d748 145 (home-page "https://www.freedesktop.org/wiki/Software/dbus/")
943f33a3
LC
146 (synopsis "Message bus for inter-process communication (IPC)")
147 (description
148 "D-Bus is a message bus system, a simple way for applications to
35b9e423 149talk to one another. In addition to interprocess communication, D-Bus
943f33a3
LC
150helps coordinate process lifecycle; it makes it simple and reliable to
151code a \"single instance\" application or daemon, and to launch
152applications and daemons on demand when their services are needed.
153
154D-Bus supplies both a system daemon (for events such as \"new hardware
155device added\" or \"printer queue changed\") and a
156per-user-login-session daemon (for general IPC needs among user
35b9e423 157applications). Also, the message bus is built on top of a general
943f33a3
LC
158one-to-one message passing framework, which can be used by any two apps
159to communicate directly (without going through the message bus
35b9e423 160daemon). Currently the communicating applications are on one computer,
943f33a3
LC
161or through unencrypted TCP/IP suitable for use behind a firewall with
162shared NFS home directories.")
d6b8cb5c 163 (license license:gpl2+))) ; or Academic Free License 2.1
3889a82e 164
80370441 165(define glib
3889a82e
NK
166 (package
167 (name "glib")
f9f72d35 168 (version "2.60.6")
3889a82e
NK
169 (source (origin
170 (method url-fetch)
785db4d8 171 (uri (string-append "mirror://gnome/sources/"
d274f499 172 name "/" (string-take version 4) "/"
943f33a3 173 name "-" version ".tar.xz"))
3889a82e 174 (sha256
f47f6761 175 (base32
f9f72d35
MB
176 "0v7vpx2md1gn0wwiirn7g4bhf2csfvcr03y96q2zv97ain6sp3zz"))
177 (patches (search-patches "glib-tests-timer.patch"))
6898f5b4
MB
178 (modules '((guix build utils)))
179 (snippet
180 '(begin
181 (substitute* "tests/spawn-test.c"
182 (("/bin/sh") "sh"))
183 #t))))
6c237a2d 184 (build-system meson-build-system)
426adbe8 185 (outputs '("out" ; everything
6c237a2d 186 "bin")) ; glib-mkenums, gtester, etc.; depends on Python
6983ba56 187 (propagated-inputs
6c237a2d
RW
188 `(("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc
189 ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
190 ;; These are in the Requires.private field of gio-2.0.pc
2b95aed4 191 ("util-linux" ,util-linux) ; for libmount
6c237a2d 192 ("libselinux" ,libselinux)
3ffaec13 193 ("zlib" ,zlib)))
6c237a2d
RW
194 (inputs
195 `(("coreutils" ,coreutils)))
c4c4cc05 196 (native-inputs
b94a6ca0 197 `(("gettext" ,gettext-minimal)
220bcf6f 198 ("m4" ,m4) ; for installing m4 macros
c4c4cc05 199 ("dbus" ,dbus) ; for GDBus tests
3889a82e 200 ("pkg-config" ,pkg-config)
ee3e314b 201 ("python" ,python-wrapper)
943f33a3 202 ("perl" ,perl) ; needed by GIO tests
f9c3bd2e 203 ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
943f33a3 204 (arguments
922ed1db 205 `(#:disallowed-references (,tzdata-for-tests)
d12eaa68 206 #:phases
6983ba56 207 (modify-phases %standard-phases
7da3e81a
MC
208 (add-after 'unpack 'patch-dbus-launch-path
209 (lambda* (#:key inputs #:allow-other-keys)
210 (let ((dbus (assoc-ref inputs "dbus")))
211 (substitute* "gio/gdbusaddress.c"
212 (("command_line = g_strdup_printf \\(\"dbus-launch")
213 (string-append "command_line = g_strdup_printf (\""
214 dbus "/bin/dbus-launch")))
215 #t)))
6983ba56
SB
216 (add-before 'build 'pre-build
217 (lambda* (#:key inputs outputs #:allow-other-keys)
218 ;; For tests/gdatetime.c.
219 (setenv "TZDIR"
220 (string-append (assoc-ref inputs "tzdata")
221 "/share/zoneinfo"))
222
223 ;; Some tests want write access there.
224 (setenv "HOME" (getcwd))
225 (setenv "XDG_CACHE_HOME" (getcwd))
81f6bf2d 226 #t))
6c237a2d 227 (add-after 'unpack 'disable-failing-tests
6983ba56
SB
228 (lambda _
229 (let ((disable
230 (lambda (test-file test-paths)
231 (define pattern+procs
232 (map (lambda (test-path)
233 (cons
234 ;; XXX: only works for single line statements.
235 (format #f "g_test_add_func.*\"~a\".*" test-path)
236 (const "")))
237 test-paths))
238 (substitute test-file pattern+procs)))
239 (failing-tests
240 '(("glib/tests/thread.c"
241 (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
242 ;; as found on hydra.gnu.org, and strace(1) doesn't
243 ;; recognize it.
244 "/thread/thread4"))
245
6c237a2d
RW
246 ;; This tries to find programs in FHS directories.
247 ("glib/tests/utils.c"
248 ("/utils/find-program"))
249
250 ;; This fails because "glib/tests/echo-script" cannot be
251 ;; found.
252 ("glib/tests/spawn-singlethread.c"
253 ("/gthread/spawn-script"))
254
6983ba56
SB
255 ("glib/tests/timer.c"
256 (;; fails if compiler optimizations are enabled, which they
257 ;; are by default.
258 "/timer/stop"))
259
260 ("gio/tests/gapplication.c"
261 (;; XXX: proven to be unreliable. See:
262 ;; <https://bugs.debian.org/756273>
263 ;; <http://bugs.gnu.org/18445>
264 "/gapplication/quit"
265
266 ;; XXX: fails randomly for unknown reason. See:
267 ;; <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
268 "/gapplication/local-actions"))
269
270 ("gio/tests/contenttype.c"
271 (;; XXX: requires shared-mime-info.
272 "/contenttype/guess"
2f437b22 273 "/contenttype/guess_svg_from_data"
6983ba56
SB
274 "/contenttype/subtype"
275 "/contenttype/list"
276 "/contenttype/icon"
277 "/contenttype/symbolic-icon"
278 "/contenttype/tree"))
279
280 ("gio/tests/appinfo.c"
281 (;; XXX: requires update-desktop-database.
282 "/appinfo/associations"))
283
284 ("gio/tests/desktop-app-info.c"
285 (;; XXX: requires update-desktop-database.
286 "/desktop-app-info/delete"
287 "/desktop-app-info/default"
288 "/desktop-app-info/fallback"
289 "/desktop-app-info/lastused"
290 "/desktop-app-info/search"))
291
292 ("gio/tests/gdbus-peer.c"
293 (;; Requires /etc/machine-id.
294 "/gdbus/codegen-peer-to-peer"))
295
296 ("gio/tests/gdbus-unix-addresses.c"
297 (;; Requires /etc/machine-id.
6898f5b4
MB
298 "/gdbus/x11-autolaunch"))
299
300 ("gio/tests/gsocketclient-slow.c"
301 (;; These tests tries to resolve "localhost", and fails.
302 "/socket-client/happy-eyeballs/slow"
303 "/socket-client/happy-eyeballs/cancellation/delayed"))
304
305 )))
81f6bf2d 306 (for-each (lambda (x) (apply disable x)) failing-tests)
6c237a2d 307 #t)))
6898f5b4
MB
308 (replace 'check
309 (lambda _
310 (setenv "MESON_TESTTHREADS"
311 (number->string (parallel-job-count)))
312 ;; Do not run tests marked as "flaky".
313 (invoke "meson" "test" "--no-suite" "flaky")))
6c237a2d
RW
314 ;; TODO: meson does not permit the bindir to be outside of prefix.
315 ;; See https://github.com/mesonbuild/meson/issues/2561
316 ;; We can remove this once meson is patched.
317 (add-after 'install 'move-executables
318 (lambda* (#:key outputs #:allow-other-keys)
319 (let ((out (assoc-ref outputs "out"))
320 (bin (assoc-ref outputs "bin")))
321 (mkdir-p bin)
322 (rename-file (string-append out "/bin")
323 (string-append bin "/bin"))
324 ;; Do not refer to "bindir", which points to "${prefix}/bin".
325 ;; We don't patch "bindir" to point to "$bin/bin", because that
326 ;; would create a reference cycle between the "out" and "bin"
327 ;; outputs.
328 (substitute* (list (string-append out "/lib/pkgconfig/gio-2.0.pc")
329 (string-append out "/lib/pkgconfig/glib-2.0.pc"))
330 (("bindir=\\$\\{prefix\\}/bin") "")
331 (("=\\$\\{bindir\\}/") "="))
6898f5b4 332 #t))))))
6c237a2d
RW
333 ;; TODO: see above for explanation.
334 ;; #:configure-flags (list (string-append "--bindir="
335 ;; (assoc-ref %outputs "bin")
336 ;; "/bin"))
00585a55 337
ce2df078
LC
338 (native-search-paths
339 ;; This variable is not really "owned" by GLib, but several related
340 ;; packages refer to it: gobject-introspection's tools use it as a search
341 ;; path for .gir files, and it's also a search path for schemas produced
342 ;; by 'glib-compile-schemas'.
343 (list (search-path-specification
344 (variable "XDG_DATA_DIRS")
1b85e57f
SB
345 (files '("share")))
346 ;; To load extra gio modules from glib-networking, etc.
347 (search-path-specification
348 (variable "GIO_EXTRA_MODULES")
349 (files '("lib/gio/modules")))))
ce2df078 350 (search-paths native-search-paths)
f678cc9c 351 (properties '((hidden? . #t)))
ce2df078 352
f50d2669 353 (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
3889a82e
NK
354 (description
355 "GLib provides data structure handling for C, portability wrappers,
356and interfaces for such runtime functionality as an event loop, threads,
357dynamic loading, and an object system.")
f032d0be 358 (home-page "https://developer.gnome.org/glib/")
c60ecc35 359 (license license:lgpl2.1+)))
71eb5c10 360
f678cc9c
PN
361(define-public glib-with-documentation
362 ;; glib's doc must be built in a separate package since it requires gtk-doc,
363 ;; which in turn depends on glib.
364 (package
365 (inherit glib)
366 (properties (alist-delete 'hidden? (package-properties glib)))
367 (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
368 (native-inputs
369 `(("gtk-doc" ,gtk-doc) ; for the doc
370 ("docbook-xml" ,docbook-xml)
371 ("libxml2" ,libxml2)
372 ,@(package-native-inputs glib)))
373 (arguments
374 (substitute-keyword-arguments (package-arguments glib)
375 ((#:configure-flags flags ''())
376 `(cons "-Dgtk_doc=true" ,flags))
377 ((#:phases phases)
378 `(modify-phases ,phases
379 (add-after 'install 'move-doc
380 (lambda* (#:key outputs #:allow-other-keys)
381 (let ((out (assoc-ref outputs "out"))
382 (doc (assoc-ref outputs "doc"))
383 (html (string-append "/share/gtk-doc")))
384 (copy-recursively (string-append out html)
385 (string-append doc html))
386 (delete-file-recursively (string-append out html))
387 #t)))))))))
388
6ac6a6b9 389(define gobject-introspection
9ceb630c
CR
390 (package
391 (name "gobject-introspection")
273c30be 392 (version "1.60.2")
9ceb630c
CR
393 (source (origin
394 (method url-fetch)
cc84b08c 395 (uri (string-append "mirror://gnome/sources/"
2474b81d
FB
396 "gobject-introspection/" (version-major+minor version)
397 "/gobject-introspection-" version ".tar.xz"))
9ceb630c 398 (sha256
273c30be 399 (base32 "172ymc1vbg2rclq1rszx4y32vm900nn1mc4qg1a4mqxjiwvf5pzz"))
fc1adab1
AK
400 (patches (search-patches
401 "gobject-introspection-cc.patch"
402 "gobject-introspection-girepository.patch"
403 "gobject-introspection-absolute-shlib-path.patch"))))
f2a0f03b 404 (build-system meson-build-system)
036c86be 405 (arguments
f2a0f03b 406 `(#:phases
036c86be
RW
407 (modify-phases %standard-phases
408 (add-after 'unpack 'do-not-use-/usr/bin/env
409 (lambda _
410 (substitute* "tools/g-ir-tool-template.in"
411 (("#!@PYTHON_CMD@")
412 (string-append "#!" (which "python3"))))
413 #t)))))
9ceb630c
CR
414 (inputs
415 `(("bison" ,bison)
9ceb630c
CR
416 ("flex" ,flex)
417 ("glib" ,glib)
036c86be
RW
418 ("python" ,python-wrapper)
419 ("zlib" ,zlib)))
426adbe8 420 (native-inputs
f2a0f03b 421 `(("glib" ,glib "bin")
d7e92b87 422 ("pkg-config" ,pkg-config)))
af949e8e
CR
423 (propagated-inputs
424 `(;; In practice, GIR users will need libffi when using
425 ;; gobject-introspection.
426 ("libffi" ,libffi)))
5a4753a6
FB
427 (native-search-paths
428 (list (search-path-specification
429 (variable "GI_TYPELIB_PATH")
af070955 430 (files '("lib/girepository-1.0")))))
5a4753a6 431 (search-paths native-search-paths)
9ceb630c
CR
432 (home-page "https://wiki.gnome.org/GObjectIntrospection")
433 (synopsis "Generate interface introspection data for GObject libraries")
434 (description
435 "GObject introspection is a middleware layer between C libraries (using
436GObject) and language bindings. The C library can be scanned at compile time
437and generate a metadata file, in addition to the actual native C library. Then
438at runtime, language bindings can read this metadata and automatically provide
439bindings to call into the C library.")
440 ; Some bits are distributed under the LGPL2+, others under the GPL2+
441 (license license:gpl2+)))
442
80370441 443(define intltool
71eb5c10
LC
444 (package
445 (name "intltool")
fa09ebfa 446 (version "0.51.0")
71eb5c10
LC
447 (source (origin
448 (method url-fetch)
d6b8cb5c
AE
449 (uri (string-append "https://launchpad.net/intltool/trunk/"
450 version "/+download/intltool-"
451 version ".tar.gz"))
92cb946b 452 (patches (search-patches "intltool-perl-compatibility.patch"))
71eb5c10
LC
453 (sha256
454 (base32
fa09ebfa 455 "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7"))))
71eb5c10 456 (build-system gnu-build-system)
93882f0e
EB
457 (inputs
458 `(("file" ,file)))
71eb5c10 459 (propagated-inputs
107b415e
LC
460 `(;; Propagate gettext because users expect it to be there, and so does
461 ;; the `intltool-update' script.
b94a6ca0 462 ("gettext" ,gettext-minimal)
107b415e 463
e33d9d6f 464 ("perl-xml-parser" ,perl-xml-parser)
107b415e 465 ("perl" ,perl)))
93882f0e 466 (arguments
e0f71c80
TGR
467 `(#:phases
468 (modify-phases %standard-phases
469 (add-after 'unpack 'patch-file-references
470 (lambda* (#:key inputs #:allow-other-keys)
471 (let ((file (assoc-ref inputs "file")))
472 (substitute* "intltool-update.in"
473 (("`file") (string-append "`" file "/bin/file")))
474 #t))))))
d6b8cb5c
AE
475 (home-page "https://launchpad.net/intltool/+download")
476 (synopsis "Tools to centralise translations of different file formats")
71eb5c10 477 (description
35b9e423 478 "Intltool is a set of tools to centralise translations of many different
71eb5c10
LC
479file formats using GNU gettext-compatible PO files.
480
481The intltool collection can be used to do these things:
482
483 Extract translatable strings from various source files (.xml.in,
484 glade, .desktop.in, .server.in, .oaf.in).
485
486 Collect the extracted strings together with messages from traditional
487 source files (.c, .h) in po/$(PACKAGE).pot.
488
489 Merge back the translations from .po files into .xml, .desktop and
35b9e423 490 oaf files. This merge step will happen at build resp. installation time.")
d6b8cb5c 491 (license license:gpl2+)))
24b5c463 492
80370441 493(define itstool
20a26ff5
CR
494 (package
495 (name "itstool")
d7b63ba9 496 (version "2.0.6")
20a26ff5
CR
497 (source (origin
498 (method url-fetch)
499 (uri (string-append "http://files.itstool.org/itstool/itstool-"
500 version ".tar.bz2"))
501 (sha256
502 (base32
d7b63ba9 503 "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2"))))
20a26ff5 504 (build-system gnu-build-system)
4b58d88b 505 (inputs
f922fc42 506 `(("libxml2" ,libxml2)
d7b63ba9
MB
507 ("python-libxml2" ,python-libxml2)
508 ("python" ,python)))
4b58d88b
SB
509 (arguments
510 '(#:phases
511 (modify-phases %standard-phases
13fbd174
KK
512 (add-after 'install 'wrap-program
513 (lambda* (#:key outputs #:allow-other-keys)
514 (let ((prog (string-append (assoc-ref outputs "out")
515 "/bin/itstool")))
516 (wrap-program prog
bca24131
MW
517 `("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
518 #t))))))
20a26ff5
CR
519 (home-page "http://www.itstool.org")
520 (synopsis "Tool to translate XML documents with PO files")
521 (description
522 "ITS Tool allows you to translate your XML documents with PO files, using
523rules from the W3C Internationalization Tag Set (ITS) to determine what to
524translate and how to separate it into PO file messages.
525
526PO files are the standard translation format for GNU and other Unix-like
527systems. They present translatable information as discrete messages, allowing
528each message to be translated independently. In contrast to whole-page
529translation, translating with a message-based format like PO means you can
530easily track changes to the source document down to the paragraph. When new
531strings are added or existing strings are modified, you only need to update the
532corresponding messages.
533
534ITS Tool is designed to make XML documents translatable through PO files by
535applying standard ITS rules, as well as extension rules specific to ITS Tool.
536ITS also provides an industry standard way for authors to override translation
537information in their documents, such as whether a particular element should be
538translated.")
a129e0d8 539 (license license:gpl3+)))
20a26ff5 540
80370441 541(define dbus-glib
24b5c463
AE
542 (package
543 (name "dbus-glib")
919fc6aa 544 (version "0.108")
24b5c463
AE
545 (source (origin
546 (method url-fetch)
547 (uri
5cc3096c 548 (string-append "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
24b5c463
AE
549 version ".tar.gz"))
550 (sha256
551 (base32
919fc6aa 552 "0b307hw9j41npzr6niw1bs6ryp87m5yafg492gqwvsaj4dz0qd4z"))))
24b5c463 553 (build-system gnu-build-system)
2e88d113 554 (propagated-inputs ; according to dbus-glib-1.pc
24b5c463 555 `(("dbus" ,dbus)
44add1ce 556 ("glib" ,glib)))
2e88d113
AE
557 (inputs
558 `(("expat" ,expat)))
44add1ce
LC
559 (native-inputs
560 `(("glib" ,glib "bin")
24b5c463 561 ("pkg-config" ,pkg-config)))
57e7d748 562 (home-page "https://dbus.freedesktop.org/doc/dbus-glib/")
24b5c463
AE
563 (synopsis "D-Bus GLib bindings")
564 (description
565 "GLib bindings for D-Bus. The package is obsolete and superseded
566by GDBus included in Glib.")
567 (license license:gpl2))) ; or Academic Free License 2.1
a5a7d374
LC
568
569(define libsigc++
570 (package
571 (name "libsigc++")
14b53192 572 (version "2.10.2")
a5a7d374
LC
573 (source (origin
574 (method url-fetch)
e7a720e6
SB
575 (uri (string-append "mirror://gnome/sources/libsigc++/"
576 (version-major+minor version) "/"
577 name "-" version ".tar.xz"))
a5a7d374
LC
578 (sha256
579 (base32
14b53192 580 "163s14d1rqp82gc1vsm3q0wzsbdicb9q6307kz0zk5lm6x9h5jmi"))))
a5a7d374 581 (build-system gnu-build-system)
41eb1198
LC
582 (native-inputs `(("pkg-config" ,pkg-config)
583 ("m4" ,m4)))
e0dcd84d 584 (home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
a5a7d374
LC
585 (synopsis "Type-safe callback system for standard C++")
586 (description
35b9e423 587 "Libsigc++ implements a type-safe callback system for standard C++. It
a5a7d374
LC
588allows you to define signals and to connect those signals to any callback
589function, either global or a member function, regardless of whether it is
590static or virtual.
591
592It also contains adaptor classes for connection of dissimilar callbacks and
593has an ease of use unmatched by other C++ callback libraries.")
594 (license license:lgpl2.1+)))
595
596(define glibmm
597 (package
598 (name "glibmm")
d93dab5d 599 (version "2.60.0")
a5a7d374
LC
600 (source (origin
601 (method url-fetch)
3d6befa4
MW
602 (uri (string-append "mirror://gnome/sources/glibmm/"
603 (version-major+minor version)
604 "/glibmm-" version ".tar.xz"))
a5a7d374
LC
605 (sha256
606 (base32
d93dab5d 607 "1g7jxqd270dv2d83r7pf5893mwpz7d5xib0q01na2yalh34v38d3"))))
a5a7d374
LC
608 (build-system gnu-build-system)
609 (arguments
d93dab5d 610 `(#:phases
dc1d3cde
KK
611 (modify-phases %standard-phases
612 (add-before 'build 'pre-build
613 (lambda _
614 ;; This test uses /etc/fstab as an example file to read
615 ;; from; choose a better example.
616 (substitute* "tests/giomm_simple/main.cc"
617 (("/etc/fstab")
618 (string-append (getcwd)
619 "/tests/giomm_simple/main.cc")))
620
621 ;; This test does a DNS lookup, and then expects to be able
622 ;; to open a TLS session; just skip it.
623 (substitute* "tests/giomm_tls_client/main.cc"
624 (("Gio::init.*$")
625 "return 77;\n"))
626 #t)))))
41eb1198
LC
627 (native-inputs `(("pkg-config" ,pkg-config)
628 ("glib" ,glib "bin")))
a5a7d374
LC
629 (propagated-inputs
630 `(("libsigc++" ,libsigc++)
631 ("glib" ,glib)))
8e933cb3 632 (home-page "https://gtkmm.org/")
a5a7d374
LC
633 (synopsis "C++ interface to the GLib library")
634 (description
35b9e423 635 "Glibmm provides a C++ programming interface to the part of GLib that are
a5a7d374
LC
636useful for C++.")
637 (license license:lgpl2.1+)))
a1de06b6
EB
638
639(define-public python2-pygobject-2
640 (package
641 (name "python2-pygobject")
642 ;; This was the last version to declare the 2.0 platform number, i.e. its
643 ;; pkg-config files were named pygobject-2.0.pc
30e43e81 644 (version "2.28.7")
a1de06b6
EB
645 (source
646 (origin
647 (method url-fetch)
648 (uri (string-append "mirror://gnome/sources/pygobject/"
649 (version-major+minor version)
650 "/pygobject-" version ".tar.xz"))
651 (sha256
652 (base32
30e43e81 653 "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"))
fc1adab1
AK
654 (patches (search-patches
655 "python2-pygobject-2-gi-info-type-error-domain.patch"))))
a1de06b6
EB
656 (build-system gnu-build-system)
657 (native-inputs
658 `(("which" ,which)
659 ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
660 ("pkg-config" ,pkg-config)
661 ("dbus" ,dbus))) ;for tests
662 (inputs
663 `(("python" ,python-2)
664 ("glib" ,glib)
7ca0dbc3 665 ("python2-pycairo" ,python2-pycairo)
a1de06b6
EB
666 ("gobject-introspection" ,gobject-introspection)))
667 (propagated-inputs
668 `(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc
669 (arguments
670 `(#:tests? #f ;segfaults during tests
671 #:configure-flags '("LIBS=-lcairo-gobject")))
672 (home-page "https://pypi.python.org/pypi/PyGObject")
673 (synopsis "Python bindings for GObject")
674 (description
675 "Python bindings for GLib, GObject, and GIO.")
676 (license license:lgpl2.1+)))
677
678(define-public python-pygobject
679 (package
680 (name "python-pygobject")
74f3fdbd 681 (version "3.28.3")
a1de06b6
EB
682 (source
683 (origin
684 (method url-fetch)
685 (uri (string-append "mirror://gnome/sources/pygobject/"
686 (version-major+minor version)
687 "/pygobject-" version ".tar.xz"))
688 (sha256
689 (base32
74f3fdbd 690 "1c6h3brzlyvzbpdsammnd957azmp6cbzqrd65r400vnh2l8f5lrx"))))
a1de06b6 691 (build-system gnu-build-system)
d2e1da18
RW
692 (arguments
693 `(#:phases
694 (modify-phases %standard-phases
695 (add-after 'unpack 'delete-broken-tests
696 (lambda _
697 ;; FIXME: this test freezes and times out.
698 (delete-file "tests/test_mainloop.py")
699 ;; FIXME: this test fails with this kind of error:
700 ;; AssertionError: <Handlers.SIG_IGN: 1> != <built-in function default_int_handler
701 (delete-file "tests/test_ossig.py")
702 #t)))))
a1de06b6 703 (native-inputs
8a831c6f 704 `(("which" ,which)
ae40e02c
KK
705 ;for tests: dbus-run-session and glib-compile-schemas
706 ("dbus" ,dbus)
707 ("glib-bin" ,glib "bin")
59f6dfe5
RW
708 ("pkg-config" ,pkg-config)
709 ("python-pytest" ,python-pytest)))
a1de06b6
EB
710 (inputs
711 `(("python" ,python)
a1de06b6 712 ("python-pycairo" ,python-pycairo)
fa7cf82e
SB
713 ("gobject-introspection" ,gobject-introspection)))
714 (propagated-inputs
715 ;; pygobject-3.0.pc refers to all these.
716 `(("glib" ,glib)
a1de06b6 717 ("libffi" ,libffi)))
e28f95a9
SB
718 ;; For finding typelib files, since gobject-introscpetion isn't propagated.
719 (native-search-paths (package-native-search-paths gobject-introspection))
594a362b 720 (home-page "https://live.gnome.org/PyGObject")
a1de06b6
EB
721 (synopsis "Python bindings for GObject")
722 (description
723 "Python bindings for GLib, GObject, and GIO.")
00f2bf34
LC
724 (license license:lgpl2.1+)
725 (properties `((python2-variant . ,(delay python2-pygobject))))))
7873318d 726
0f49d7ba 727(define-public python2-pygobject
00f2bf34 728 (package (inherit (strip-python2-variant python-pygobject))
0f49d7ba
RW
729 (name "python2-pygobject")
730 (inputs
731 `(("python" ,python-2)
0f49d7ba 732 ("python-pycairo" ,python2-pycairo)
1b043aeb
RW
733 ("gobject-introspection" ,gobject-introspection)))
734 (native-inputs
8a831c6f 735 `(("which" ,which)
1b043aeb
RW
736 ;for tests: dbus-run-session and glib-compile-schemas
737 ("dbus" ,dbus)
738 ("glib-bin" ,glib "bin")
739 ("pkg-config" ,pkg-config)
740 ("python-pytest" ,python2-pytest)))))
0f49d7ba 741
622d702f
TGR
742;; Newer version of this core-updates package, for Lollypop.
743(define-public python-pygobject-3.34
744 (package/inherit
745 python-pygobject
746 (version "3.34.0")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append "mirror://gnome/sources/pygobject/"
751 (version-major+minor version)
752 "/pygobject-" version ".tar.xz"))
753 (sha256
754 (base32 "06i7ynnbvgpz0gw09zsjbvhgcp5qz4yzdifw27qjwdazg2mckql7"))))
755 (build-system meson-build-system)
756 (arguments
757 `(#:phases
758 (modify-phases %standard-phases
759 (add-after 'unpack 'delete-broken-tests
760 (lambda _
761 (with-directory-excursion "tests"
762 (for-each
763 delete-file
764 ;; FIXME: these tests require Gdk and/or Gtk 4.
765 '("test_atoms.py"
766 "test_overrides_gtk.py")))
767 #t)))))))
768
451f6e30
AV
769(define-public perl-glib
770 (package
771 (name "perl-glib")
2c6ebeb7 772 (version "1.3291")
451f6e30
AV
773 (source (origin
774 (method url-fetch)
775 (uri (string-append
776 "mirror://cpan/authors/id/X/XA/XAOC/Glib-"
777 version ".tar.gz"))
778 (sha256
779 (base32
2c6ebeb7 780 "0whz5f87wvzq8zsva85h06mkfqim2ciq845ixlvmafwxggccv0xr"))))
451f6e30
AV
781 (build-system perl-build-system)
782 (native-inputs
783 `(("perl-extutils-depends" ,perl-extutils-depends)
784 ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)))
785 (inputs
786 `(("glib" ,glib)))
9aba9b12 787 (home-page "https://metacpan.org/release/Glib")
451f6e30
AV
788 (synopsis "Perl wrappers for the GLib utility and Object libraries")
789 (description "This module provides perl access to GLib and GLib's GObject
790libraries. GLib is a portability and utility library; GObject provides a
791generic type system with inheritance and a powerful signal system. Together
792these libraries are used as the foundation for many of the libraries that make
793up the Gnome environment, and are used in many unrelated projects.")
794 (license license:lgpl2.1+)))
795
7873318d
AE
796(define telepathy-glib
797 (package
798 (name "telepathy-glib")
799 (version "0.24.1")
800 (source
801 (origin
802 (method url-fetch)
803 (uri
804 (string-append
5cc3096c 805 "https://telepathy.freedesktop.org/releases/telepathy-glib/"
7873318d
AE
806 "telepathy-glib-" version ".tar.gz"))
807 (sha256
808 (base32
7f48be41
SB
809 "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"))
810 (patches
811 (list
812 ;; Don't use the same test name for multiple tests.
813 ;; <https://bugs.freedesktop.org/show_bug.cgi?id=92245>
814 (origin
815 (method url-fetch)
816 (uri "https://bugs.freedesktop.org/attachment.cgi?id=118608")
817 (file-name (string-append "telepathy-glib-duplicate-tests.patch"))
818 (sha256
819 (base32
820 "0z261fwrszxb28ccg3hsg9rizig4s84zvwmx6y31a4pyv7bvs5w3")))))))
7873318d 821 (build-system gnu-build-system)
c73d4c59 822 (arguments
df09e1d6
LC
823 '(#:configure-flags '("--enable-vala-bindings")
824
825 ;; '../tools/glib-*.py' generate files but the target dependencies are
826 ;; (presumably) not fully specified in the makefile, leading to
827 ;; parallel build errors like:
828 ;;
829 ;; EOFError: EOF read where object expected
830 ;; make[2]: *** [Makefile:1906: _gen/register-dbus-glib-marshallers-body.h] Error 1
831 #:parallel-build? #f))
7873318d
AE
832 (native-inputs
833 `(("glib" ,glib "bin") ; uses glib-mkenums
d2ab0e90 834 ("gobject-introspection" ,gobject-introspection)
7873318d 835 ("pkg-config" ,pkg-config)
d2ab0e90 836 ("python" ,python-2)
c73d4c59 837 ("vala" ,vala)
d2ab0e90
SB
838 ("xsltproc" ,libxslt)))
839 (propagated-inputs
840 ;; There are all in the Requires.private field of telepathy-glib.pc.
7873318d
AE
841 `(("dbus" ,dbus)
842 ("dbus-glib" ,dbus-glib)
d2ab0e90 843 ("glib" ,glib)))
57e7d748 844 (home-page "https://telepathy.freedesktop.org/wiki/")
7873318d
AE
845 (synopsis "GLib Real-time communications framework over D-Bus")
846 (description "Telepathy is a flexible, modular communications framework
847that enables real-time communication over D-Bus via pluggable protocol
848backends. Telepathy is a communications service that can be accessed by
849many applications simultaneously.
850
851This package provides the library for GLib applications.")
852 (license license:lgpl2.1+)))
89eb7581 853
89eb7581
LG
854(define-public dbus-c++
855 (package
856 (name "dbus-c++")
857 (version "0.9.0")
858 (source (origin
859 (method url-fetch)
860 (uri
861 (string-append
862 "mirror://sourceforge/dbus-cplusplus/dbus-c%2B%2B/"
863 version "/libdbus-c%2B%2B-" version ".tar.gz"))
864 (file-name (string-append name "-" version ".tar.gz"))
497b2d39
MB
865 (patches (search-patches "dbus-c++-gcc-compat.patch"
866 "dbus-c++-threading-mutex.patch"))
89eb7581
LG
867 (sha256
868 (base32
869 "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"))))
870 (build-system gnu-build-system)
871 (propagated-inputs
872 `(("dbus" ,dbus))) ;mentioned in the pkg-config file
873 (inputs
874 `(("efl" ,efl)
875 ("expat" ,expat)
876 ("glib" ,glib)))
877 (native-inputs
878 `(("pkg-config" ,pkg-config)))
879 (arguments
880 `(;; The 'configure' machinery fails to detect that it needs -lpthread.
881 #:configure-flags (list "LDFLAGS=-lpthread")
882 #:phases
883 (modify-phases %standard-phases
884 (add-before 'configure 'add-missing-header
885 (lambda _
886 (substitute* "include/dbus-c++/eventloop-integration.h"
887 (("#include <errno.h>")
497b2d39
MB
888 "#include <errno.h>\n#include <unistd.h>"))
889 #t)))))
89eb7581
LG
890 (synopsis "D-Bus API for C++")
891 (description "This package provides D-Bus client API bindings for the C++
add43093 892programming language. It also contains the utility
89eb7581
LG
893@command{dbuscxx-xml2cpp}.")
894 (home-page "https://sourceforge.net/projects/dbus-cplusplus/")
d06ce046 895 (license license:lgpl2.1+)))
7b83b695
DC
896
897(define-public appstream-glib
898 (package
899 (name "appstream-glib")
d519bc13 900 (version "0.7.16")
7b83b695
DC
901 (source (origin
902 (method url-fetch)
903 (uri (string-append "https://people.freedesktop.org/~hughsient/"
904 "appstream-glib/releases/"
905 "appstream-glib-" version ".tar.xz"))
d2e1b2da 906 (patches (search-patches "appstream-glib-2020.patch"))
7b83b695
DC
907 (sha256
908 (base32
d519bc13 909 "14jr1psx5kxywdprgbqn79w309yz8lrqlsq7288hfrf87gbr1wh4"))))
318bc429 910 (build-system meson-build-system)
7b83b695 911 (native-inputs
318bc429
TGR
912 `(("gettext" ,gettext-minimal)
913 ("glib:bin" ,glib "bin") ; for glib-compile-resources
914 ("pkg-config" ,pkg-config)))
a48b877e
DM
915 (propagated-inputs
916 `(("gcab" ,gcab) ; for .pc file
917 ("gdk-pixbuf" ,gdk-pixbuf) ; for .pc file
918 ("util-linux" ,util-linux))) ; for .pc file
7b83b695 919 (inputs
a48b877e 920 `(("glib" ,glib)
318bc429 921 ("gperf" ,gperf)
7b83b695
DC
922 ("gtk+" ,gtk+)
923 ("json-glib" ,json-glib)
924 ("libarchive" ,libarchive)
925 ("libsoup" ,libsoup)
a48b877e 926 ("libyaml" ,libyaml)))
7b83b695
DC
927 (arguments
928 `(#:configure-flags
b1de6129
TGR
929 (list "-Ddep11=false"
930 "-Dintrospection=false" ; avoid g-ir-scanner dependency
931 "-Drpm=false"
932 "-Dstemmer=false")
7b83b695
DC
933 #:phases
934 (modify-phases %standard-phases
935 (add-after 'unpack 'patch-tests
936 (lambda _
937 (substitute* "libappstream-glib/as-self-test.c"
318bc429 938 (("g_test_add_func.*as_test_store_local_appdata_func);") ""))
7b83b695
DC
939 #t)))))
940 (home-page "https://github.com/hughsie/appstream-glib")
941 (synopsis "Library for reading and writing AppStream metadata")
942 (description "This library provides objects and helper methods to help
943reading and writing @uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream}
944metadata.")
945 (license license:lgpl2.1+)))
a372c4da
P
946
947(define perl-net-dbus
948 (package
949 (name "perl-net-dbus")
950 (version "1.1.0")
951 (source
952 (origin
953 (method url-fetch)
954 (uri (string-append "mirror://cpan/authors/id/D/DA/DANBERR/Net-DBus-"
955 version ".tar.gz"))
956 (sha256
957 (base32
958 "0sg2w147b9r9ykfzjs7y9qxry73xkjnhnk4qf95kfv79p5nnk4c3"))))
959 (build-system perl-build-system)
960 (native-inputs
961 `(("pkg-config" ,pkg-config)
962 ("perl-test-pod" ,perl-test-pod)
963 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
964 (inputs
965 `(("dbus" ,dbus)))
966 (propagated-inputs
967 `(("perl-xml-twig" ,perl-xml-twig)))
9aba9b12 968 (home-page "https://metacpan.org/release/Net-DBus")
a372c4da
P
969 (synopsis "Extension for the DBus bindings")
970 (description "@code{Net::DBus} provides a Perl XS API to the DBus
971inter-application messaging system. The Perl API covers the core base level
972of the DBus APIs, not concerning itself yet with the GLib or QT wrappers.")
973 (license license:perl-license)))
fc4083c5
P
974
975(define perl-net-dbus-glib
976 (package
977 (name "perl-net-dbus-glib")
978 (version "0.33.0")
979 (source
980 (origin
981 (method url-fetch)
982 (uri (string-append "mirror://cpan/authors/id/D/DA/DANBERR/"
983 "Net-DBus-GLib-" version ".tar.gz"))
984 (sha256
985 (base32
986 "1z4mbv8z0rad604xahijpg5szzi8qak07hbahh230z4jf96fkxvj"))))
987 (build-system perl-build-system)
988 (native-inputs
989 `(("pkg-config" ,pkg-config)))
990 (inputs
991 `(("dbus-glib" ,dbus-glib)))
9aba9b12 992 (home-page "https://metacpan.org/release/Net-DBus-GLib")
fc4083c5
P
993 (synopsis "Perl extension for the DBus GLib bindings")
994 (description "This package provides an extension to the @code{Net::DBus}
995module allowing integration with the GLib mainloop. To integrate with the
996main loop, simply get a connection to the bus via the methods in
997@code{Net::DBus::GLib} rather than the usual @code{Net::DBus} module. Every
998other API remains the same.")
999 (license license:gpl2+)))
19d0554f
GL
1000
1001(define-public template-glib
1002 (package
1003 (name "template-glib")
1004 (version "3.32.0")
1005 (source (origin
1006 (method url-fetch)
1007 (uri (string-append "mirror://gnome/sources/" name "/"
1008 (version-major+minor version) "/"
1009 name "-" version ".tar.xz"))
1010 (sha256
1011 (base32
1012 "1g0zx0sxpw8kqp7p3sgl9kngaqrg9xl6cir24nrahks0vgsk98rr"))))
1013 (build-system meson-build-system)
1014 (arguments
1015 `(#:configure-flags '("-D" "enable_gtk_doc=true")))
1016 (inputs
1017 `(("gettext" ,gettext-minimal)
1018 ("glib" ,glib)
1019 ("gobject-introspection" ,gobject-introspection)))
1020 (native-inputs
1021 `(("bison" ,bison)
1022 ("flex" ,flex)
1023 ("glib:bin" ,glib "bin") ;; For glib-mkenums
1024 ("gtk-doc" ,gtk-doc)
1025 ("pkg-config" ,pkg-config)
1026 ("vala" ,vala)))
1027 (home-page "https://gitlab.gnome.org/GNOME/template-glib")
1028 (synopsis "Library for template expansion")
1029 (description
1030 "Template-GLib is a library to help you generate text based on a template and
1031user defined state. Template-GLib does not use a language runtime, so it is
1032safe to use from any GObject-Introspectable language.
1033
1034Template-GLib allows you to access properties on GObjects as well as call
1035simple methods via GObject-Introspection.")
1036 (license license:lgpl2.1+)))
9e0cb9d7
MB
1037
1038(define-public xdg-dbus-proxy
1039 (package
1040 (name "xdg-dbus-proxy")
1041 (version "0.1.2")
1042 (source (origin
1043 (method url-fetch)
1044 (uri (string-append "https://github.com/flatpak/xdg-dbus-proxy"
1045 "/releases/download/" version
1046 "/xdg-dbus-proxy-" version ".tar.xz"))
1047 (sha256
1048 (base32
1049 "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p"))))
1050 (build-system gnu-build-system)
1051 (native-inputs
1052 `(("pkg-config" ,pkg-config)
1053
1054 ;; For tests.
1055 ("dbus" ,dbus)
1056
1057 ;; These are required to build the manual.
1058 ("docbook-xml" ,docbook-xml-4.3)
1059 ("docbook-xsl" ,docbook-xsl)
1060 ("libxml2" ,libxml2)
1061 ("xsltproc" ,libxslt)))
1062 (inputs
1063 `(("glib" ,glib)))
1064 (home-page "https://github.com/flatpak/xdg-dbus-proxy")
1065 (synopsis "D-Bus connection proxy")
1066 (description
1067 "xdg-dbus-proxy is a filtering proxy for D-Bus connections. It can be
1068used to create D-Bus sockets inside a Linux container that forwards requests
1069to the host system, optionally with filters applied.")
1070 (license license:lgpl2.1+)))