;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages flex)
- #:use-module ((gnu packages gettext)
- #:renamer (symbol-prefix-proc 'guix:))
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libffi)
#:use-module (gnu packages perl)
(define glib
(package
(name "glib")
- (version "2.38.0")
+ (version "2.40.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "0cpzqadqk6z6bmb79p04pykxc8x57rvshh33414cnk41bvgaf4vm"))
+ (base32 "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"))
(patches (list (search-patch "glib-tests-homedir.patch")
(search-patch "glib-tests-desktop.patch")
- (search-patch "glib-tests-prlimit.patch")))))
+ (search-patch "glib-tests-prlimit.patch")
+ (search-patch "glib-tests-timer.patch")))))
(build-system gnu-build-system)
- (outputs '("out" ; everything
- "doc")) ; 20 MiB of GTK-Doc reference
+ (outputs '("out" ; everything
+ "bin" ; glib-mkenums, gtester, etc.; depends on Python
+ "doc")) ; 20 MiB of GTK-Doc reference
(inputs
`(("coreutils" ,coreutils)
- ("gettext" ,guix:gettext)
("libffi" ,libffi)
+ ("zlib" ,zlib)
+ ("tzdata" ,tzdata))) ; for tests/gdatetime.c
+ (native-inputs
+ `(("gettext" ,gnu-gettext)
+ ("dbus" ,dbus) ; for GDBus tests
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
- ("zlib" ,zlib)
("perl" ,perl) ; needed by GIO tests
- ("dbus" ,dbus) ; for GDBus tests
- ("bash" ,bash)
- ("tzdata" ,tzdata) ; for tests/gdatetime.c
- ))
+ ("bash" ,bash)))
(arguments
'(#:phases (alist-cons-before
'build 'pre-build
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
- "/share/gtk-doc"))))
+ "/share/gtk-doc"))
+
+ ;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a
+ ;; file that gets compiled possibly before it has been fully generated.
+ #:parallel-tests? #f))
+
+ (native-search-paths
+ ;; This variable is not really "owned" by GLib, but several related
+ ;; packages refer to it: gobject-introspection's tools use it as a search
+ ;; path for .gir files, and it's also a search path for schemas produced
+ ;; by 'glib-compile-schemas'.
+ (list (search-path-specification
+ (variable "XDG_DATA_DIRS")
+ (directories '("share")))))
+ (search-paths native-search-paths)
+
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
(description
"GLib provides data structure handling for C, portability wrappers,
"/gobject-introspection-"
version ".tar.xz"))
(sha256
- (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"))))
+ (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"))
+ (patches (list (search-patch "gobject-introspection-cc.patch")))))
(build-system gnu-build-system)
(inputs
`(("bison" ,bison)
("cairo" ,cairo)
("flex" ,flex)
("glib" ,glib)
- ("libffi" ,libffi)
("pkg-config" ,pkg-config)
("python-2" ,python-2)))
+ (native-inputs
+ `(("glib" ,glib "bin")))
+ (propagated-inputs
+ `(;; In practice, GIR users will need libffi when using
+ ;; gobject-introspection.
+ ("libffi" ,libffi)))
(arguments
`(#:phases
- (alist-replace
- 'configure
- (lambda* (#:key #:allow-other-keys #:rest args)
- (let ((configure (assoc-ref %standard-phases 'configure)))
- ;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
- (setenv "CC" "gcc")
- (apply configure args)))
+ (alist-cons-before
+ 'configure 'patch-paths
+ (lambda _
+ (substitute* "giscanner/sourcescanner.py"
+ (("GUIX_GCC_PATH") (which "gcc"))))
%standard-phases)))
(home-page "https://wiki.gnome.org/GObjectIntrospection")
(synopsis "Generate interface introspection data for GObject libraries")
(propagated-inputs
`(;; Propagate gettext because users expect it to be there, and so does
;; the `intltool-update' script.
- ("gettext" ,guix:gettext)
+ ("gettext" ,gnu-gettext)
;; `file' is used by `intltool-update' too.
("file" ,file)
(inputs
`(("dbus" ,dbus)
("expat" ,expat)
- ("glib" ,glib)
+ ("glib" ,glib)))
+ (native-inputs
+ `(("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
(synopsis "D-Bus GLib bindings")
(("Gio::init.*$")
"return 77;\n")))
%standard-phases)))
- (inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(("pkg-config" ,pkg-config)
+ ("glib" ,glib "bin")))
(propagated-inputs
`(("libsigc++" ,libsigc++)
("glib" ,glib)))