gnu: libvirt-glib: Propagate pkg-config requirements.
[jackhill/guix/guix.git] / gnu / packages / spice.scm
index 94e6aa8..1e9dfad 100644 (file)
@@ -1,6 +1,8 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -96,7 +98,7 @@ system to use the host GPU to accelerate 3D rendering.")
 (define-public spice-protocol
   (package
     (name "spice-protocol")
-    (version "0.12.14")
+    (version "0.14.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -104,7 +106,7 @@ system to use the host GPU to accelerate 3D rendering.")
                 "spice-protocol-" version ".tar.bz2"))
               (sha256
                (base32
-                "170ckpgazvqv7hxy209myg67pqnd6c0gvr4ysbqgsfch6320nd90"))))
+                "1b3f44c13pqsp7aabmcinfbmgl79038bp5548l5pjs16lcfam95n"))))
     (build-system gnu-build-system)
     (synopsis "Protocol headers for the SPICE protocol")
     (description "SPICE (the Simple Protocol for Independent Computing
@@ -113,10 +115,23 @@ which allows users to view a desktop computing environment.")
     (home-page "https://www.spice-space.org")
     (license (list license:bsd-3 license:lgpl2.1+))))
 
+(define-public spice-protocol-0.12
+  (package
+    (inherit spice-protocol)
+    (version "0.12.15")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://www.spice-space.org/download/releases/"
+                    "spice-protocol-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "06b461i4jv741in8617jjpfk28wk7zs9p7841njkf4sbm8xv4kcb"))))))
+
 (define-public spice-gtk
   (package
     (name "spice-gtk")
-    (version "0.35")
+    (version "0.36")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -124,7 +139,7 @@ which allows users to view a desktop computing environment.")
                 "spice-gtk-" version ".tar.bz2"))
               (sha256
                (base32
-                "11lymg467gvj5ys8k22ihnfbxjn4x34ygyzirpg2nphjwlyhgrml"))))
+                "1kfpixfdmxs9wn3id48gc9bvfrgxz935y3wpykf40bgi9mcc69ki"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("gstreamer" ,gstreamer)
@@ -133,20 +148,23 @@ which allows users to view a desktop computing environment.")
         ("gst-plugins-good" ,gst-plugins-good)
         ("gst-plugins-bad" ,gst-plugins-bad)
         ("gst-plugins-ugly" ,gst-plugins-ugly)
-        ("spice-protocol" ,spice-protocol)))
+        ("spice-protocol" ,spice-protocol-0.12)
+
+        ;; These are required by the pkg-config files.
+        ("gtk+" ,gtk+)
+        ("pixman" ,pixman)
+        ("openssl" ,openssl)))
     (inputs
       `(("glib-networking" ,glib-networking)
         ("gobject-introspection" ,gobject-introspection)
-        ("gtk+" ,gtk+)
+        ("json-glib" ,json-glib)
         ("libepoxy" ,libepoxy)
         ("libjpeg" ,libjpeg)
         ("libxcb" ,libxcb)
         ("lz4" ,lz4)
         ("mesa" ,mesa)
-        ("pixman" ,pixman)
         ("pulseaudio" ,pulseaudio)
         ("python" ,python)
-        ("openssl" ,openssl)
         ("opus" ,opus)
         ("usbredir" ,usbredir)))
     (native-inputs
@@ -161,6 +179,13 @@ which allows users to view a desktop computing environment.")
           "--enable-introspection")
         #:phases
          (modify-phases %standard-phases
+           (add-before 'check 'disable-session-test
+             (lambda _
+               ;; XXX: Disable session tests, because they require USB support,
+               ;; which is not available in the build container.
+               (substitute* "tests/Makefile"
+                 (("test-session\\$\\(EXEEXT\\) ") ""))
+               #t))
            (add-after
             'install 'wrap-spicy
             (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -177,7 +202,7 @@ which allows users to view a desktop computing environment.")
 (define-public spice
   (package
     (name "spice")
-    (version "0.14.1")
+    (version "0.14.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -185,7 +210,7 @@ which allows users to view a desktop computing environment.")
                 "spice-server/spice-" version ".tar.bz2"))
               (sha256
                (base32
-                "068mb9l7wzk4k4c65bzvpw5fyyzh81rb6z81skgdxvh67pk5vb8y"))))
+                "19r999py9v9c7md2bb8ysj809ag1hh6djl1ik8jcgx065s4b60xj"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("openssl" ,openssl)
@@ -213,14 +238,10 @@ which allows users to view a desktop computing environment.")
           "--enable-automated-tests")
 
         ;; Several tests appear to be opening the same sockets concurrently.
-        #:parallel-tests? #f
-
-        #:phases (modify-phases %standard-phases
-                   (add-before 'check 'use-empty-ssl-cert-file
-                     (lambda _ (setenv "SSL_CERT_FILE" "/dev/null") #t)))))
+        #:parallel-tests? #f))
     (synopsis "Server implementation of the SPICE protocol")
     (description "SPICE is a remote display system built for virtual
-environments which allows you to view a computing 'desktop' environment
+environments which allows you to view a computing @code{desktop} environment
 not only on the machine where it is running, but from anywhere on the
 Internet and from a wide variety of machine architectures.")
     (home-page "https://www.spice-space.org")
@@ -294,7 +315,6 @@ resolution scaling on graphical console window resize.")
       `(("gtk+" ,gtk+)
         ("libcap" ,libcap)
         ("libxml2" ,libxml2)
-        ("openssl" ,openssl)
         ("spice-gtk" ,spice-gtk)))
     (native-inputs
       `(("glib:bin" ,glib "bin")