gnu: Add r-xnomial.
[jackhill/guix/guix.git] / gnu / packages / glib.scm
CommitLineData
3889a82e 1;;; GNU Guix --- Functional package management for GNU
00f2bf34 2;;; Copyright © 2013, 2014, 2015, 2016 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>
7fb51d97 5;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
22b0caa3 6;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
3889a82e
NK
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
943f33a3 23(define-module (gnu packages glib)
b5b73a82 24 #:use-module ((guix licenses) #:prefix license:)
3889a82e
NK
25 #:use-module (guix packages)
26 #:use-module (guix download)
a1de06b6 27 #:use-module (guix utils)
3889a82e 28 #:use-module (guix build-system gnu)
00f2bf34 29 #:use-module (guix build-system python)
943f33a3
LC
30 #:use-module (gnu packages)
31 #:use-module (gnu packages base)
9ceb630c 32 #:use-module (gnu packages bison)
943f33a3 33 #:use-module (gnu packages compression)
9ceb630c 34 #:use-module (gnu packages flex)
1dba6407 35 #:use-module (gnu packages gettext)
9ceb630c 36 #:use-module (gnu packages gtk)
943f33a3 37 #:use-module (gnu packages libffi)
d6b8cb5c 38 #:use-module (gnu packages perl)
943f33a3
LC
39 #:use-module (gnu packages pkg-config)
40 #:use-module (gnu packages python)
7bc5cc2b 41 #:use-module (gnu packages xml)
5aa601a3 42 #:use-module (gnu packages bash)
80370441
LC
43 #:use-module (gnu packages file)
44 #:use-module (gnu packages xorg)
a5a7d374 45 #:use-module (gnu packages m4)
943f33a3 46
80370441
LC
47 ;; Export variables up-front to allow circular dependency with the 'xorg'
48 ;; module.
49 #:export (dbus
50 glib
6ac6a6b9 51 gobject-introspection
80370441
LC
52 dbus-glib
53 intltool
a5a7d374
LC
54 itstool
55 libsigc++
7873318d
AE
56 glibmm
57 telepathy-glib))
80370441
LC
58
59(define dbus
943f33a3
LC
60 (package
61 (name "dbus")
e969b140 62 (version "1.10.0")
943f33a3 63 (source (origin
25087f60
SB
64 (method url-fetch)
65 (uri (string-append
7fb51d97 66 "https://dbus.freedesktop.org/releases/dbus/dbus-"
25087f60
SB
67 version ".tar.gz"))
68 (sha256
69 (base32
e969b140 70 "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))
fc1adab1 71 (patches (search-patches "dbus-helper-search-path.patch"))))
943f33a3 72 (build-system gnu-build-system)
8eaa8a3b 73 (arguments
25087f60
SB
74 '(#:configure-flags
75 (list
76 ;; Install the system bus socket under /var.
77 "--localstatedir=/var"
8eaa8a3b 78
25087f60
SB
79 ;; Install the session bus socket under /tmp.
80 "--with-session-socket-dir=/tmp"
8eaa8a3b 81
25087f60
SB
82 ;; Use /etc/dbus-1 for system-wide config.
83 ;; Look for configuration file under
84 ;; /etc/dbus-1. This is notably required by
85 ;; 'dbus-daemon-launch-helper', which looks for
86 ;; the 'system.conf' file in that place,
87 ;; regardless of what '--config-file' was
88 ;; passed to 'dbus-daemon' on the command line;
89 ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
90 "--sysconfdir=/etc")
91 #:phases
92 (modify-phases %standard-phases
93 (replace 'install
94 (lambda _
95 ;; Don't try to create /var and /etc.
96 (system* "make"
97 "localstatedir=/tmp/dummy"
98 "sysconfdir=/tmp/dummy"
99 "install"))))))
708be46b
LC
100 (native-inputs
101 `(("pkg-config" ,pkg-config)))
943f33a3 102 (inputs
d6b8cb5c 103 `(("expat" ,expat)
80370441
LC
104
105 ;; Add a dependency on libx11 so that 'dbus-launch' has support for
106 ;; '--autolaunch'.
107 ("libx11" ,libx11)))
108
943f33a3
LC
109 (home-page "http://dbus.freedesktop.org/")
110 (synopsis "Message bus for inter-process communication (IPC)")
111 (description
112 "D-Bus is a message bus system, a simple way for applications to
35b9e423 113talk to one another. In addition to interprocess communication, D-Bus
943f33a3
LC
114helps coordinate process lifecycle; it makes it simple and reliable to
115code a \"single instance\" application or daemon, and to launch
116applications and daemons on demand when their services are needed.
117
118D-Bus supplies both a system daemon (for events such as \"new hardware
119device added\" or \"printer queue changed\") and a
120per-user-login-session daemon (for general IPC needs among user
35b9e423 121applications). Also, the message bus is built on top of a general
943f33a3
LC
122one-to-one message passing framework, which can be used by any two apps
123to communicate directly (without going through the message bus
35b9e423 124daemon). Currently the communicating applications are on one computer,
943f33a3
LC
125or through unencrypted TCP/IP suitable for use behind a firewall with
126shared NFS home directories.")
d6b8cb5c 127 (license license:gpl2+))) ; or Academic Free License 2.1
3889a82e 128
80370441 129(define glib
3889a82e
NK
130 (package
131 (name "glib")
e969b140 132 (version "2.46.1")
3889a82e
NK
133 (source (origin
134 (method url-fetch)
785db4d8 135 (uri (string-append "mirror://gnome/sources/"
d274f499 136 name "/" (string-take version 4) "/"
943f33a3 137 name "-" version ".tar.xz"))
3889a82e 138 (sha256
f47f6761 139 (base32
e969b140
MW
140 "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
141 (patches (search-patches "glib-tests-homedir.patch"
142 "glib-tests-desktop.patch"
143 "glib-tests-prlimit.patch"
144 "glib-tests-timer.patch"
145 "glib-tests-gapplication.patch"))))
3889a82e 146 (build-system gnu-build-system)
426adbe8
LC
147 (outputs '("out" ; everything
148 "bin" ; glib-mkenums, gtester, etc.; depends on Python
149 "doc")) ; 20 MiB of GTK-Doc reference
3889a82e
NK
150 (inputs
151 `(("coreutils" ,coreutils)
3889a82e 152 ("libffi" ,libffi)
c4c4cc05
JD
153 ("zlib" ,zlib)
154 ("tzdata" ,tzdata))) ; for tests/gdatetime.c
155 (native-inputs
59bad04f 156 `(("gettext" ,gnu-gettext)
c4c4cc05 157 ("dbus" ,dbus) ; for GDBus tests
3889a82e 158 ("pkg-config" ,pkg-config)
ee3e314b 159 ("python" ,python-wrapper)
943f33a3 160 ("perl" ,perl) ; needed by GIO tests
c4c4cc05 161 ("bash" ,bash)))
943f33a3 162 (arguments
e969b140
MW
163 '(#:phases (alist-cons-before
164 'build 'pre-build
165 (lambda* (#:key inputs outputs #:allow-other-keys)
166 ;; For tests/gdatetime.c.
167 (setenv "TZDIR"
168 (string-append (assoc-ref inputs "tzdata")
169 "/share/zoneinfo"))
170
171 ;; Some tests want write access there.
172 (setenv "XDG_CACHE_HOME" (getcwd))
173
174 (substitute* '("glib/gspawn.c"
175 "glib/tests/utils.c"
176 "tests/spawn-test.c")
177 (("/bin/sh")
178 (string-append (assoc-ref inputs "bash") "/bin/sh")))
179
180 ;; Disable a test that requires dbus.
181 (substitute* "gio/tests/gdbus-serialization.c"
182 (("g_test_add_func \
183\\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
184 (string-append "/* " all " */"))))
185 %standard-phases)
943f33a3
LC
186
187 ;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
188 #:configure-flags (list (string-append "--with-html-dir="
189 (assoc-ref %outputs "doc")
b2a80c78 190 "/share/gtk-doc/html"))
00585a55
LC
191
192 ;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a
193 ;; file that gets compiled possibly before it has been fully generated.
194 #:parallel-tests? #f))
ce2df078
LC
195
196 (native-search-paths
197 ;; This variable is not really "owned" by GLib, but several related
198 ;; packages refer to it: gobject-introspection's tools use it as a search
199 ;; path for .gir files, and it's also a search path for schemas produced
200 ;; by 'glib-compile-schemas'.
201 (list (search-path-specification
202 (variable "XDG_DATA_DIRS")
1b85e57f
SB
203 (files '("share")))
204 ;; To load extra gio modules from glib-networking, etc.
205 (search-path-specification
206 (variable "GIO_EXTRA_MODULES")
207 (files '("lib/gio/modules")))))
ce2df078
LC
208 (search-paths native-search-paths)
209
f50d2669 210 (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
3889a82e
NK
211 (description
212 "GLib provides data structure handling for C, portability wrappers,
213and interfaces for such runtime functionality as an event loop, threads,
214dynamic loading, and an object system.")
215 (home-page "http://developer.gnome.org/glib/")
d6b8cb5c 216 (license license:lgpl2.0+))) ; some files are under lgpl2.1+
71eb5c10 217
6ac6a6b9 218(define gobject-introspection
9ceb630c
CR
219 (package
220 (name "gobject-introspection")
e969b140 221 (version "1.46.0")
9ceb630c
CR
222 (source (origin
223 (method url-fetch)
cc84b08c 224 (uri (string-append "mirror://gnome/sources/"
2474b81d
FB
225 "gobject-introspection/" (version-major+minor version)
226 "/gobject-introspection-" version ".tar.xz"))
9ceb630c 227 (sha256
e969b140 228 (base32 "0cs27r18fga44ypp8icy62fwx6nh70r1bvhi4lzfn4w85cybsn36"))
ed89d901
SB
229 (modules '((guix build utils)))
230 (snippet
231 '(substitute* "tools/g-ir-tool-template.in"
232 (("#!/usr/bin/env @PYTHON@") "#!@PYTHON@")))
fc1adab1
AK
233 (patches (search-patches
234 "gobject-introspection-cc.patch"
235 "gobject-introspection-girepository.patch"
236 "gobject-introspection-absolute-shlib-path.patch"))))
9ceb630c
CR
237 (build-system gnu-build-system)
238 (inputs
239 `(("bison" ,bison)
e969b140 240 ("cairo" ,cairo)
9ceb630c
CR
241 ("flex" ,flex)
242 ("glib" ,glib)
9ceb630c 243 ("python-2" ,python-2)))
426adbe8 244 (native-inputs
d7e92b87
ML
245 `(("glib" ,glib "bin")
246 ("pkg-config" ,pkg-config)))
af949e8e
CR
247 (propagated-inputs
248 `(;; In practice, GIR users will need libffi when using
249 ;; gobject-introspection.
250 ("libffi" ,libffi)))
5a4753a6
FB
251 (native-search-paths
252 (list (search-path-specification
253 (variable "GI_TYPELIB_PATH")
af070955 254 (files '("lib/girepository-1.0")))))
5a4753a6 255 (search-paths native-search-paths)
9ceb630c 256 (arguments
2474b81d
FB
257 `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes
258 ;; some tests to fail.
cc84b08c 259 #:tests? #f))
9ceb630c
CR
260 (home-page "https://wiki.gnome.org/GObjectIntrospection")
261 (synopsis "Generate interface introspection data for GObject libraries")
262 (description
263 "GObject introspection is a middleware layer between C libraries (using
264GObject) and language bindings. The C library can be scanned at compile time
265and generate a metadata file, in addition to the actual native C library. Then
266at runtime, language bindings can read this metadata and automatically provide
267bindings to call into the C library.")
268 ; Some bits are distributed under the LGPL2+, others under the GPL2+
269 (license license:gpl2+)))
270
80370441 271(define intltool
71eb5c10
LC
272 (package
273 (name "intltool")
fa09ebfa 274 (version "0.51.0")
71eb5c10
LC
275 (source (origin
276 (method url-fetch)
d6b8cb5c
AE
277 (uri (string-append "https://launchpad.net/intltool/trunk/"
278 version "/+download/intltool-"
279 version ".tar.gz"))
71eb5c10
LC
280 (sha256
281 (base32
fa09ebfa 282 "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7"))))
71eb5c10 283 (build-system gnu-build-system)
93882f0e
EB
284 (inputs
285 `(("file" ,file)))
71eb5c10 286 (propagated-inputs
107b415e
LC
287 `(;; Propagate gettext because users expect it to be there, and so does
288 ;; the `intltool-update' script.
1dba6407 289 ("gettext" ,gnu-gettext)
107b415e 290
e33d9d6f 291 ("perl-xml-parser" ,perl-xml-parser)
107b415e 292 ("perl" ,perl)))
93882f0e
EB
293 (arguments
294 `(#:phases (alist-cons-after
295 'unpack 'patch-file-references
296 (lambda* (#:key inputs #:allow-other-keys)
297 (let ((file (assoc-ref inputs "file")))
298 (substitute* "intltool-update.in"
299 (("`file") (string-append "`" file "/bin/file")))))
300 %standard-phases)))
d6b8cb5c
AE
301 (home-page "https://launchpad.net/intltool/+download")
302 (synopsis "Tools to centralise translations of different file formats")
71eb5c10 303 (description
35b9e423 304 "Intltool is a set of tools to centralise translations of many different
71eb5c10
LC
305file formats using GNU gettext-compatible PO files.
306
307The intltool collection can be used to do these things:
308
309 Extract translatable strings from various source files (.xml.in,
310 glade, .desktop.in, .server.in, .oaf.in).
311
312 Collect the extracted strings together with messages from traditional
313 source files (.c, .h) in po/$(PACKAGE).pot.
314
315 Merge back the translations from .po files into .xml, .desktop and
35b9e423 316 oaf files. This merge step will happen at build resp. installation time.")
d6b8cb5c 317 (license license:gpl2+)))
24b5c463 318
80370441 319(define itstool
20a26ff5
CR
320 (package
321 (name "itstool")
3c87c02e 322 (version "2.0.2")
20a26ff5
CR
323 (source (origin
324 (method url-fetch)
325 (uri (string-append "http://files.itstool.org/itstool/itstool-"
326 version ".tar.bz2"))
327 (sha256
328 (base32
3c87c02e 329 "0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z"))))
20a26ff5 330 (build-system gnu-build-system)
4b58d88b 331 (inputs
f922fc42 332 `(("libxml2" ,libxml2)
264d57b6 333 ("python2-libxml2" ,python2-libxml2)
f922fc42 334 ("python-2" ,python-2)))
4b58d88b
SB
335 (arguments
336 '(#:phases
337 (modify-phases %standard-phases
338 (add-after
339 'install 'wrap-program
340 (lambda* (#:key outputs #:allow-other-keys)
341 (let ((prog (string-append (assoc-ref outputs "out")
342 "/bin/itstool")))
343 (wrap-program prog
344 `("PYTHONPATH" = (,(getenv "PYTHONPATH"))))))))))
20a26ff5
CR
345 (home-page "http://www.itstool.org")
346 (synopsis "Tool to translate XML documents with PO files")
347 (description
348 "ITS Tool allows you to translate your XML documents with PO files, using
349rules from the W3C Internationalization Tag Set (ITS) to determine what to
350translate and how to separate it into PO file messages.
351
352PO files are the standard translation format for GNU and other Unix-like
353systems. They present translatable information as discrete messages, allowing
354each message to be translated independently. In contrast to whole-page
355translation, translating with a message-based format like PO means you can
356easily track changes to the source document down to the paragraph. When new
357strings are added or existing strings are modified, you only need to update the
358corresponding messages.
359
360ITS Tool is designed to make XML documents translatable through PO files by
361applying standard ITS rules, as well as extension rules specific to ITS Tool.
362ITS also provides an industry standard way for authors to override translation
363information in their documents, such as whether a particular element should be
364translated.")
a129e0d8 365 (license license:gpl3+)))
20a26ff5 366
80370441 367(define dbus-glib
24b5c463
AE
368 (package
369 (name "dbus-glib")
cb77ade6 370 (version "0.104")
24b5c463
AE
371 (source (origin
372 (method url-fetch)
373 (uri
5cc3096c 374 (string-append "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
24b5c463
AE
375 version ".tar.gz"))
376 (sha256
377 (base32
cb77ade6 378 "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz"))))
24b5c463 379 (build-system gnu-build-system)
2e88d113 380 (propagated-inputs ; according to dbus-glib-1.pc
24b5c463 381 `(("dbus" ,dbus)
44add1ce 382 ("glib" ,glib)))
2e88d113
AE
383 (inputs
384 `(("expat" ,expat)))
44add1ce
LC
385 (native-inputs
386 `(("glib" ,glib "bin")
24b5c463
AE
387 ("pkg-config" ,pkg-config)))
388 (home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
389 (synopsis "D-Bus GLib bindings")
390 (description
391 "GLib bindings for D-Bus. The package is obsolete and superseded
392by GDBus included in Glib.")
393 (license license:gpl2))) ; or Academic Free License 2.1
a5a7d374
LC
394
395(define libsigc++
396 (package
397 (name "libsigc++")
e969b140 398 (version "2.6.1")
a5a7d374
LC
399 (source (origin
400 (method url-fetch)
e7a720e6
SB
401 (uri (string-append "mirror://gnome/sources/libsigc++/"
402 (version-major+minor version) "/"
403 name "-" version ".tar.xz"))
a5a7d374
LC
404 (sha256
405 (base32
e969b140 406 "06xyvxaaxh3nbpjg86gcq5zcc2qnpx354wcfrqlhbndkq5kj2vqq"))))
a5a7d374 407 (build-system gnu-build-system)
41eb1198
LC
408 (native-inputs `(("pkg-config" ,pkg-config)
409 ("m4" ,m4)))
a5a7d374
LC
410 (home-page "http://libsigc.sourceforge.net/")
411 (synopsis "Type-safe callback system for standard C++")
412 (description
35b9e423 413 "Libsigc++ implements a type-safe callback system for standard C++. It
a5a7d374
LC
414allows you to define signals and to connect those signals to any callback
415function, either global or a member function, regardless of whether it is
416static or virtual.
417
418It also contains adaptor classes for connection of dissimilar callbacks and
419has an ease of use unmatched by other C++ callback libraries.")
420 (license license:lgpl2.1+)))
421
422(define glibmm
423 (package
424 (name "glibmm")
e969b140 425 (version "2.46.3")
a5a7d374
LC
426 (source (origin
427 (method url-fetch)
3d6befa4
MW
428 (uri (string-append "mirror://gnome/sources/glibmm/"
429 (version-major+minor version)
430 "/glibmm-" version ".tar.xz"))
a5a7d374
LC
431 (sha256
432 (base32
e969b140 433 "1kw65mlabwdjw86jybxslncbnnx40hcx4z6xpq9i4ymjvsnm91n7"))))
a5a7d374
LC
434 (build-system gnu-build-system)
435 (arguments
436 `(#:phases (alist-cons-before
437 'build 'pre-build
438 (lambda _
439 ;; This test uses /etc/fstab as an example file to read
440 ;; from; choose a better example.
441 (substitute* "tests/giomm_simple/main.cc"
442 (("/etc/fstab")
443 (string-append (getcwd)
444 "/tests/giomm_simple/main.cc")))
445
446 ;; This test does a DNS lookup, and then expects to be able
447 ;; to open a TLS session; just skip it.
448 (substitute* "tests/giomm_tls_client/main.cc"
449 (("Gio::init.*$")
450 "return 77;\n")))
451 %standard-phases)))
41eb1198
LC
452 (native-inputs `(("pkg-config" ,pkg-config)
453 ("glib" ,glib "bin")))
a5a7d374
LC
454 (propagated-inputs
455 `(("libsigc++" ,libsigc++)
456 ("glib" ,glib)))
457 (home-page "http://gtkmm.org/")
458 (synopsis "C++ interface to the GLib library")
459 (description
35b9e423 460 "Glibmm provides a C++ programming interface to the part of GLib that are
a5a7d374
LC
461useful for C++.")
462 (license license:lgpl2.1+)))
a1de06b6
EB
463
464(define-public python2-pygobject-2
465 (package
466 (name "python2-pygobject")
467 ;; This was the last version to declare the 2.0 platform number, i.e. its
468 ;; pkg-config files were named pygobject-2.0.pc
469 (version "2.28.6")
470 (source
471 (origin
472 (method url-fetch)
473 (uri (string-append "mirror://gnome/sources/pygobject/"
474 (version-major+minor version)
475 "/pygobject-" version ".tar.xz"))
476 (sha256
477 (base32
478 "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"))
fc1adab1
AK
479 (patches (search-patches
480 "python2-pygobject-2-gi-info-type-error-domain.patch"))))
a1de06b6
EB
481 (build-system gnu-build-system)
482 (native-inputs
483 `(("which" ,which)
484 ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
485 ("pkg-config" ,pkg-config)
486 ("dbus" ,dbus))) ;for tests
487 (inputs
488 `(("python" ,python-2)
489 ("glib" ,glib)
7ca0dbc3 490 ("python2-pycairo" ,python2-pycairo)
a1de06b6
EB
491 ("gobject-introspection" ,gobject-introspection)))
492 (propagated-inputs
493 `(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc
494 (arguments
495 `(#:tests? #f ;segfaults during tests
496 #:configure-flags '("LIBS=-lcairo-gobject")))
497 (home-page "https://pypi.python.org/pypi/PyGObject")
498 (synopsis "Python bindings for GObject")
499 (description
500 "Python bindings for GLib, GObject, and GIO.")
501 (license license:lgpl2.1+)))
502
503(define-public python-pygobject
504 (package
505 (name "python-pygobject")
e969b140 506 (version "3.18.0")
a1de06b6
EB
507 (source
508 (origin
509 (method url-fetch)
510 (uri (string-append "mirror://gnome/sources/pygobject/"
511 (version-major+minor version)
512 "/pygobject-" version ".tar.xz"))
513 (sha256
514 (base32
e969b140 515 "1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw"))))
a1de06b6
EB
516 (build-system gnu-build-system)
517 (native-inputs
518 `(("which" ,which)
519 ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
520 ("pkg-config" ,pkg-config)))
521 (inputs
522 `(("python" ,python)
a1de06b6 523 ("python-pycairo" ,python-pycairo)
fa7cf82e
SB
524 ("gobject-introspection" ,gobject-introspection)))
525 (propagated-inputs
526 ;; pygobject-3.0.pc refers to all these.
527 `(("glib" ,glib)
a1de06b6
EB
528 ("libffi" ,libffi)))
529 (arguments
530 ;; TODO: failing tests: test_native_calls_async
531 ;; test_native_calls_async_errors test_native_calls_sync
532 ;; test_native_calls_sync_errors test_python_calls_async
533 ;; test_python_calls_async_error test_python_calls_async_error_result
534 ;; test_python_calls_sync test_python_calls_sync_errors
535 ;; test_python_calls_sync_noargs test_callback_user_data_middle_none
536 ;; test_callback_user_data_middle_single
537 ;; test_callback_user_data_middle_tuple
538 '(#:tests? #f))
e28f95a9
SB
539 ;; For finding typelib files, since gobject-introscpetion isn't propagated.
540 (native-search-paths (package-native-search-paths gobject-introspection))
594a362b 541 (home-page "https://live.gnome.org/PyGObject")
a1de06b6
EB
542 (synopsis "Python bindings for GObject")
543 (description
544 "Python bindings for GLib, GObject, and GIO.")
00f2bf34
LC
545 (license license:lgpl2.1+)
546 (properties `((python2-variant . ,(delay python2-pygobject))))))
7873318d 547
0f49d7ba 548(define-public python2-pygobject
00f2bf34 549 (package (inherit (strip-python2-variant python-pygobject))
0f49d7ba
RW
550 (name "python2-pygobject")
551 (inputs
552 `(("python" ,python-2)
0f49d7ba 553 ("python-pycairo" ,python2-pycairo)
fa7cf82e 554 ("gobject-introspection" ,gobject-introspection)))))
0f49d7ba 555
7873318d
AE
556(define telepathy-glib
557 (package
558 (name "telepathy-glib")
559 (version "0.24.1")
560 (source
561 (origin
562 (method url-fetch)
563 (uri
564 (string-append
5cc3096c 565 "https://telepathy.freedesktop.org/releases/telepathy-glib/"
7873318d
AE
566 "telepathy-glib-" version ".tar.gz"))
567 (sha256
568 (base32
7f48be41
SB
569 "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"))
570 (patches
571 (list
572 ;; Don't use the same test name for multiple tests.
573 ;; <https://bugs.freedesktop.org/show_bug.cgi?id=92245>
574 (origin
575 (method url-fetch)
576 (uri "https://bugs.freedesktop.org/attachment.cgi?id=118608")
577 (file-name (string-append "telepathy-glib-duplicate-tests.patch"))
578 (sha256
579 (base32
580 "0z261fwrszxb28ccg3hsg9rizig4s84zvwmx6y31a4pyv7bvs5w3")))))))
7873318d
AE
581 (build-system gnu-build-system)
582 (native-inputs
583 `(("glib" ,glib "bin") ; uses glib-mkenums
d2ab0e90 584 ("gobject-introspection" ,gobject-introspection)
7873318d 585 ("pkg-config" ,pkg-config)
d2ab0e90
SB
586 ("python" ,python-2)
587 ("xsltproc" ,libxslt)))
588 (propagated-inputs
589 ;; There are all in the Requires.private field of telepathy-glib.pc.
7873318d
AE
590 `(("dbus" ,dbus)
591 ("dbus-glib" ,dbus-glib)
d2ab0e90 592 ("glib" ,glib)))
7873318d
AE
593 (home-page "http://telepathy.freedesktop.org/wiki/")
594 (synopsis "GLib Real-time communications framework over D-Bus")
595 (description "Telepathy is a flexible, modular communications framework
596that enables real-time communication over D-Bus via pluggable protocol
597backends. Telepathy is a communications service that can be accessed by
598many applications simultaneously.
599
600This package provides the library for GLib applications.")
601 (license license:lgpl2.1+)))