gnu: Add r-xnomial.
[jackhill/guix/guix.git] / gnu / packages / glib.scm
index c5eea22..e7e9df8 100644 (file)
@@ -1,8 +1,9 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; 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 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
     (name "dbus")
     (version "1.10.0")
     (source (origin
-              ;; TODO: Apply patch from DBUS/ACTIVATION below.
               (method url-fetch)
               (uri (string-append
-                    "http://dbus.freedesktop.org/releases/dbus/dbus-"
+                    "https://dbus.freedesktop.org/releases/dbus/dbus-"
                     version ".tar.gz"))
               (sha256
                (base32
-                "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))))
+                "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))
+              (patches (search-patches "dbus-helper-search-path.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
@@ -124,17 +126,6 @@ or through unencrypted TCP/IP suitable for use behind a firewall with
 shared NFS home directories.")
     (license license:gpl2+)))                     ; or Academic Free License 2.1
 
-(define-public dbus/activation
-  ;; D-Bus with a patch to fix service activation.
-  ;; TODO: Merge with DBUS above.
-  (package
-    (inherit dbus)
-    (version (string-append (package-version dbus) ".a"))
-    (source (origin
-              (inherit (package-source dbus))
-              (patches
-               (list (search-patch "dbus-helper-search-path.patch")))))))
-
 (define glib
   (package
    (name "glib")
@@ -147,11 +138,11 @@ shared NFS home directories.")
             (sha256
              (base32
               "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
-            (patches (list (search-patch "glib-tests-homedir.patch")
-                           (search-patch "glib-tests-desktop.patch")
-                           (search-patch "glib-tests-prlimit.patch")
-                           (search-patch "glib-tests-timer.patch")
-                           (search-patch "glib-tests-gapplication.patch")))))
+            (patches (search-patches "glib-tests-homedir.patch"
+                                     "glib-tests-desktop.patch"
+                                     "glib-tests-prlimit.patch"
+                                     "glib-tests-timer.patch"
+                                     "glib-tests-gapplication.patch"))))
    (build-system gnu-build-system)
    (outputs '("out"           ; everything
               "bin"           ; glib-mkenums, gtester, etc.; depends on Python
@@ -239,12 +230,10 @@ dynamic loading, and an object system.")
              (snippet
               '(substitute* "tools/g-ir-tool-template.in"
                  (("#!/usr/bin/env @PYTHON@") "#!@PYTHON@")))
-             (patches (list
-                       (search-patch "gobject-introspection-cc.patch")
-                       (search-patch
-                        "gobject-introspection-girepository.patch")
-                       (search-patch
-                        "gobject-introspection-absolute-shlib-path.patch")))))
+             (patches (search-patches
+                       "gobject-introspection-cc.patch"
+                       "gobject-introspection-girepository.patch"
+                       "gobject-introspection-absolute-shlib-path.patch"))))
     (build-system gnu-build-system)
     (inputs
      `(("bison" ,bison)
@@ -382,7 +371,7 @@ translated.")
     (source (origin
              (method url-fetch)
              (uri
-              (string-append "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
+              (string-append "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
                              version ".tar.gz"))
              (sha256
               (base32
@@ -433,7 +422,7 @@ has an ease of use unmatched by other C++ callback libraries.")
 (define glibmm
   (package
     (name "glibmm")
-    (version "2.46.1")
+    (version "2.46.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/glibmm/"
@@ -441,7 +430,7 @@ has an ease of use unmatched by other C++ callback libraries.")
                                  "/glibmm-" version ".tar.xz"))
              (sha256
               (base32
-               "1an4v1yk06svlmcyp1psk2a3bsn29s1a4gdx0ai2w788q6bfaiwn"))))
+               "1kw65mlabwdjw86jybxslncbnnx40hcx4z6xpq9i4ymjvsnm91n7"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases (alist-cons-before
@@ -487,9 +476,8 @@ useful for C++.")
        (sha256
         (base32
          "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"))
-       (patches
-        (list (search-patch
-               "python2-pygobject-2-gi-info-type-error-domain.patch")))))
+       (patches (search-patches
+                 "python2-pygobject-2-gi-info-type-error-domain.patch"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("which" ,which)
@@ -532,9 +520,11 @@ useful for C++.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("python" ,python)
-       ("glib"   ,glib)
        ("python-pycairo" ,python-pycairo)
-       ("gobject-introspection" ,gobject-introspection)
+       ("gobject-introspection" ,gobject-introspection)))
+    (propagated-inputs
+     ;; pygobject-3.0.pc refers to all these.
+     `(("glib" ,glib)
        ("libffi" ,libffi)))
     (arguments
      ;; TODO: failing tests: test_native_calls_async
@@ -546,21 +536,22 @@ useful for C++.")
      ;; test_callback_user_data_middle_single
      ;; test_callback_user_data_middle_tuple
      '(#:tests? #f))
+    ;; For finding typelib files, since gobject-introscpetion isn't propagated.
+    (native-search-paths (package-native-search-paths gobject-introspection))
     (home-page "https://live.gnome.org/PyGObject")
     (synopsis "Python bindings for GObject")
     (description
      "Python bindings for GLib, GObject, and GIO.")
-    (license license:lgpl2.1+)))
+    (license license:lgpl2.1+)
+    (properties `((python2-variant . ,(delay python2-pygobject))))))
 
 (define-public python2-pygobject
-  (package (inherit python-pygobject)
+  (package (inherit (strip-python2-variant python-pygobject))
     (name "python2-pygobject")
     (inputs
      `(("python" ,python-2)
-       ("glib" ,glib)
        ("python-pycairo" ,python2-pycairo)
-       ("gobject-introspection" ,gobject-introspection)
-       ("libffi" ,libffi)))))
+       ("gobject-introspection" ,gobject-introspection)))))
 
 (define telepathy-glib
   (package
@@ -571,7 +562,7 @@ useful for C++.")
       (method url-fetch)
        (uri
         (string-append
-         "http://telepathy.freedesktop.org/releases/telepathy-glib/"
+         "https://telepathy.freedesktop.org/releases/telepathy-glib/"
          "telepathy-glib-" version ".tar.gz"))
        (sha256
         (base32