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