;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages enlightenment)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xml)
#:use-module (gnu packages bash)
#:use-module (gnu packages file)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages m4)
(define dbus
(package
(name "dbus")
- (version "1.10.8")
+ (version "1.10.14")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0560y3hxpgh346w6avcrcz79c8ansmn771y5xpcvvlr6m8mx5wxs"))
+ "10x0wvv2ly4lyyfd42k4xw0ar5qdbi9cksw3l5fcwf1y6mq8y8r3"))
(patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
(define glib
(package
(name "glib")
- (version "2.46.1")
+ (version "2.50.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
- (patches (search-patches "glib-tests-homedir.patch"
- "glib-tests-desktop.patch"
- "glib-tests-prlimit.patch"
- "glib-tests-timer.patch"
- "glib-tests-gapplication.patch"))))
+ "1xgvmiqbhla6grpmbidqs3bl6zrb9mjknfsh7r4hb3163xy76s5y"))
+ (patches (search-patches "glib-tests-timer.patch"))))
(build-system gnu-build-system)
(outputs '("out" ; everything
"bin" ; glib-mkenums, gtester, etc.; depends on Python
"doc")) ; 20 MiB of GTK-Doc reference
+ (propagated-inputs
+ `(("pcre" ,pcre))) ; in the Requires.private field of glib-2.0.pc
(inputs
`(("coreutils" ,coreutils)
+ ("util-linux" ,util-linux) ; for libmount
("libffi" ,libffi)
("zlib" ,zlib)
("tzdata" ,tzdata))) ; for tests/gdatetime.c
(native-inputs
- `(("gettext" ,gnu-gettext)
+ `(("gettext" ,gettext-minimal)
("dbus" ,dbus) ; for GDBus tests
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
"/share/zoneinfo"))
;; Some tests want write access there.
+ (setenv "HOME" (getcwd))
(setenv "XDG_CACHE_HOME" (getcwd))
(substitute* '("glib/gspawn.c"
"glib/tests/utils.c"
"tests/spawn-test.c")
(("/bin/sh")
- (string-append (assoc-ref inputs "bash") "/bin/sh")))
-
- ;; Disable a test that requires dbus.
- (substitute* "gio/tests/gdbus-serialization.c"
- (("g_test_add_func \
-\\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
- (string-append "/* " all " */"))))))
+ (string-append (assoc-ref inputs "bash") "/bin/sh")))))
+ (add-before 'check 'disable-failing-tests
+ (lambda _
+ (let ((disable
+ (lambda (test-file test-paths)
+ (define pattern+procs
+ (map (lambda (test-path)
+ (cons
+ ;; XXX: only works for single line statements.
+ (format #f "g_test_add_func.*\"~a\".*" test-path)
+ (const "")))
+ test-paths))
+ (substitute test-file pattern+procs)))
+ (failing-tests
+ '(("glib/tests/thread.c"
+ (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
+ ;; as found on hydra.gnu.org, and strace(1) doesn't
+ ;; recognize it.
+ "/thread/thread4"))
+
+ ("glib/tests/timer.c"
+ (;; fails if compiler optimizations are enabled, which they
+ ;; are by default.
+ "/timer/stop"))
+
+ ("gio/tests/gapplication.c"
+ (;; XXX: proven to be unreliable. See:
+ ;; <https://bugs.debian.org/756273>
+ ;; <http://bugs.gnu.org/18445>
+ "/gapplication/quit"
+
+ ;; XXX: fails randomly for unknown reason. See:
+ ;; <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
+ "/gapplication/local-actions"))
+
+ ("gio/tests/contenttype.c"
+ (;; XXX: requires shared-mime-info.
+ "/contenttype/guess"
+ "/contenttype/subtype"
+ "/contenttype/list"
+ "/contenttype/icon"
+ "/contenttype/symbolic-icon"
+ "/contenttype/tree"))
+
+ ("gio/tests/appinfo.c"
+ (;; XXX: requires update-desktop-database.
+ "/appinfo/associations"))
+
+ ("gio/tests/desktop-app-info.c"
+ (;; XXX: requires update-desktop-database.
+ "/desktop-app-info/delete"
+ "/desktop-app-info/default"
+ "/desktop-app-info/fallback"
+ "/desktop-app-info/lastused"
+ "/desktop-app-info/search"))
+
+ ("gio/tests/gdbus-peer.c"
+ (;; Requires /etc/machine-id.
+ "/gdbus/codegen-peer-to-peer"))
+
+ ("gio/tests/gdbus-unix-addresses.c"
+ (;; Requires /etc/machine-id.
+ "/gdbus/x11-autolaunch")))))
+ (and-map (lambda (x) (apply disable x)) failing-tests)))))
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
#:configure-flags (list (string-append "--with-html-dir="
(define gobject-introspection
(package
(name "gobject-introspection")
- (version "1.46.0")
+ (version "1.50.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
- (base32 "0cs27r18fga44ypp8icy62fwx6nh70r1bvhi4lzfn4w85cybsn36"))
+ (base32 "1i9pccig8mv6qf0c1z8fcapays190nmr7j6pyc7cfhzmcv39fr8w"))
(modules '((guix build utils)))
(snippet
'(substitute* "tools/g-ir-tool-template.in"
(propagated-inputs
`(;; Propagate gettext because users expect it to be there, and so does
;; the `intltool-update' script.
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("perl-xml-parser" ,perl-xml-parser)
("perl" ,perl)))
(define dbus-glib
(package
(name "dbus-glib")
- (version "0.104")
+ (version "0.108")
(source (origin
(method url-fetch)
(uri
version ".tar.gz"))
(sha256
(base32
- "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz"))))
+ "0b307hw9j41npzr6niw1bs6ryp87m5yafg492gqwvsaj4dz0qd4z"))))
(build-system gnu-build-system)
(propagated-inputs ; according to dbus-glib-1.pc
`(("dbus" ,dbus)
(define libsigc++
(package
(name "libsigc++")
- (version "2.6.1")
+ (version "2.10.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsigc++/"
name "-" version ".tar.xz"))
(sha256
(base32
- "06xyvxaaxh3nbpjg86gcq5zcc2qnpx354wcfrqlhbndkq5kj2vqq"))))
+ "10cd54l4zihss9qxfhd2iip2k7mr292k37i54r2cpgv0c8sdchzq"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("m4" ,m4)))
(define glibmm
(package
(name "glibmm")
- (version "2.46.3")
+ (version "2.50.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
"/glibmm-" version ".tar.xz"))
(sha256
(base32
- "1kw65mlabwdjw86jybxslncbnnx40hcx4z6xpq9i4ymjvsnm91n7"))))
+ "152yz5w0lx0y5j9ml72az7pc83p4l92bc0sb8whpcazldqy6wwnz"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
(define-public python-pygobject
(package
(name "python-pygobject")
- (version "3.18.0")
+ (version "3.22.0")
(source
(origin
(method url-fetch)
"/pygobject-" version ".tar.xz"))
(sha256
(base32
- "1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw"))))
+ "1ryblpc4wbhxcwf7grgib4drrab5xi6p78ihhrx0zj7g13xrrch8"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
(base32
"0z261fwrszxb28ccg3hsg9rizig4s84zvwmx6y31a4pyv7bvs5w3")))))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--enable-vala-bindings")))
(native-inputs
`(("glib" ,glib "bin") ; uses glib-mkenums
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("python" ,python-2)
+ ("vala" ,vala)
("xsltproc" ,libxslt)))
(propagated-inputs
;; There are all in the Requires.private field of telepathy-glib.pc.
This package provides the library for GLib applications.")
(license license:lgpl2.1+)))
+
+
+(define-public dbus-c++
+ (package
+ (name "dbus-c++")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "mirror://sourceforge/dbus-cplusplus/dbus-c%2B%2B/"
+ version "/libdbus-c%2B%2B-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"))))
+ (build-system gnu-build-system)
+ (propagated-inputs
+ `(("dbus" ,dbus))) ;mentioned in the pkg-config file
+ (inputs
+ `(("efl" ,efl)
+ ("expat" ,expat)
+ ("glib" ,glib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (arguments
+ `(;; The 'configure' machinery fails to detect that it needs -lpthread.
+ #:configure-flags (list "LDFLAGS=-lpthread")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'add-missing-header
+ (lambda _
+ (substitute* "include/dbus-c++/eventloop-integration.h"
+ (("#include <errno.h>")
+ "#include <errno.h>\n#include <unistd.h>")))))))
+ (synopsis "D-Bus API for C++")
+ (description "This package provides D-Bus client API bindings for the C++
+programming langauage. It also contains the utility
+@command{dbuscxx-xml2cpp}.")
+ (home-page "https://sourceforge.net/projects/dbus-cplusplus/")
+ (license license:lgpl2.1+)))