;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages spice)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages gl)
#:use-module (gnu packages image)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages nss)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages security-token)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
(package
(name "usbredir")
(home-page "https://spice-space.org")
- (version "0.8.0")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append home-page "/download/" name "/" name "-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "002yik1x7kn0427xahvnhjby2np14a6xqw7c3dx530n9h5d9rg47"))))
+ "19jnpzlanq0a1m5lmlcsp50wxf7icxvpvclx7hnf0zxw8azngqd3"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libusb" ,libusb)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
(synopsis "Tools for sending USB device traffic over a network")
(description
"Usbredir is a network protocol for sending USB device traffic over a
(define-public spice-protocol
(package
(name "spice-protocol")
- (version "0.14.0")
+ (version "0.14.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.spice-space.org/download/releases/"
- "spice-protocol-" version ".tar.bz2"))
+ "spice-protocol-" version ".tar.xz"))
(sha256
(base32
- "1b3f44c13pqsp7aabmcinfbmgl79038bp5548l5pjs16lcfam95n"))))
- (build-system gnu-build-system)
+ "0yj8k7gcirrsf21w0q6146n5g4nzn2pqky4p90n5760m5ayfb1pr"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/"
+ ,name "-" ,version)))
+ (install-file "COPYING" doc)
+ #t))))))
(synopsis "Protocol headers for the SPICE protocol")
(description "SPICE (the Simple Protocol for Independent Computing
Environments) is a remote-display system built for virtual environments
(build-system gnu-build-system)
(propagated-inputs
`(("gstreamer" ,gstreamer)
- ("gst-libav" ,gst-libav)
("gst-plugins-base" ,gst-plugins-base)
("gst-plugins-good" ,gst-plugins-good)
- ("gst-plugins-bad" ,gst-plugins-bad)
- ("gst-plugins-ugly" ,gst-plugins-ugly)
("spice-protocol" ,spice-protocol)
;; These are required by the pkg-config files.
("gobject-introspection" ,gobject-introspection)
("json-glib" ,json-glib)
("libepoxy" ,libepoxy)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libxcb" ,libxcb)
("lz4" ,lz4)
("mesa" ,mesa)
(substitute* "tests/Makefile"
(("test-session\\$\\(EXEEXT\\) ") ""))
#t))
+ (add-after 'install 'patch-la-files
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (libjpeg (assoc-ref inputs "libjpeg")))
+ ;; Add an absolute reference for libjpeg in the .la files
+ ;; so it does not have to be propagated.
+ (substitute* (find-files (string-append out "/lib") "\\.la$")
+ (("-ljpeg")
+ (string-append "-L" libjpeg "/lib -ljpeg")))
+ #t)))
(add-after
'install 'wrap-spicy
(lambda* (#:key inputs outputs #:allow-other-keys)
(define-public spice
(package
(name "spice")
- (version "0.14.2")
+ (version "0.14.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.spice-space.org/download/releases/"
"spice-server/spice-" version ".tar.bz2"))
- (patches (search-patches "spice-fix-test-armhf.patch"))
(sha256
(base32
- "19r999py9v9c7md2bb8ysj809ag1hh6djl1ik8jcgx065s4b60xj"))))
+ "05512vkfayw18ypg4acqbbpr72nsnsz9bj7k8c2wyrvnl3j4n7am"))))
(build-system gnu-build-system)
(propagated-inputs
`(("openssl" ,openssl)
`(("cyrus-sasl" ,cyrus-sasl)
("glib" ,glib)
("libjpeg-turbo" ,libjpeg-turbo)
+ ("libcacard" ,libcacard) ; smartcard support
("lz4" ,lz4)
("opus" ,opus)
("orc" ,orc)
(define-public spice-vdagent
(package
(name "spice-vdagent")
- (version "0.17.0")
+ (version "0.20.0")
(source (origin
(method url-fetch)
(uri (string-append
"spice-vdagent-" version ".tar.bz2"))
(sha256
(base32
- "0gdkyylyg1hksg0i0anvznqfli2q39335fnrmcd6847frpc8njpi"))))
+ "0n9k2kna2gd1zi6jv45zsp2jlv439nz5l5jjijirxqaycwi74srf"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("glib" ,glib)
+ ("libdrm" ,libdrm)
("libpciaccess" ,libpciaccess)
("libx11" ,libx11)
("libxext" ,libxext)
(home-page "https://www.spice-space.org")
(license license:gpl3+)))
+(define-public libcacard
+ (package
+ (name "libcacard")
+ (version "2.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.freedesktop.org/spice/libcacard/uploads/"
+ "56cb2499198e78e560a1d4c716cd8ab1"
+ "/libcacard-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0vyvkk4b6xjwq1ccggql13c1x7g4y90clpkqw28257azgn2a1c8n"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; TODO Tests require gnutls built with
+ ; p11-kit
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tests/setup-softhsm2.sh"
+ (("\\/usr\\/lib64\\/pkcs11\\/libsofthsm2\\.so")
+ (string-append (assoc-ref inputs "softhsm")
+ "/lib/softhsm/libsofthsm2.so")))
+ #t)))))
+ (propagated-inputs
+ `(("glib" ,glib) ; Requires: in the pkg-config file
+ ("nss" ,nss))) ; Requires.private: in the pkg-config
+ ; file
+ (native-inputs
+ `(("openssl" ,openssl)
+ ("nss" ,nss "bin")
+ ("opensc" ,opensc)
+ ("softhsm" ,softhsm)
+ ("gnutls" ,gnutls)
+ ("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (synopsis "Emulate and share smart cards with virtual machines")
+ (description
+ "The @acronym{CAC,Common Access Card} library can be used to emulate and
+share smart cards from client system to local or remote virtual machines.")
+ (home-page "https://gitlab.freedesktop.org/spice/libcacard")
+ (license license:lgpl2.1+)))
+
(define-public virt-viewer
(package
(name "virt-viewer")
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+)
+ ("gtk-vnc" ,gtk-vnc)
("libcap" ,libcap)
("libxml2" ,libxml2)
("spice-gtk" ,spice-gtk)))