X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/20eb3b7e747b25f5d2c85167158353cc74e09e41..e0f983c0d55e301fc646d956039cc425ad18076d:/gnu/packages/spice.scm diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index a57e0151ca..31c2ce0ebe 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -1,8 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2019 Rutger Helling -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +21,8 @@ (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) @@ -31,15 +33,18 @@ #: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:) @@ -49,19 +54,22 @@ (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 @@ -98,16 +106,26 @@ system to use the host GPU to accelerate 3D rendering.") (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 @@ -130,11 +148,8 @@ which allows users to view a desktop computing environment.") (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. @@ -146,7 +161,7 @@ which allows users to view a desktop computing environment.") ("gobject-introspection" ,gobject-introspection) ("json-glib" ,json-glib) ("libepoxy" ,libepoxy) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libxcb" ,libxcb) ("lz4" ,lz4) ("mesa" ,mesa) @@ -175,6 +190,16 @@ which allows users to view a desktop computing environment.") (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) @@ -191,16 +216,15 @@ which allows users to view a desktop computing environment.") (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) @@ -210,6 +234,7 @@ which allows users to view a desktop computing environment.") `(("cyrus-sasl" ,cyrus-sasl) ("glib" ,glib) ("libjpeg-turbo" ,libjpeg-turbo) + ("libcacard" ,libcacard) ; smartcard support ("lz4" ,lz4) ("opus" ,opus) ("orc" ,orc) @@ -240,7 +265,7 @@ Internet and from a wide variety of machine architectures.") (define-public spice-vdagent (package (name "spice-vdagent") - (version "0.17.0") + (version "0.20.0") (source (origin (method url-fetch) (uri (string-append @@ -248,7 +273,7 @@ Internet and from a wide variety of machine architectures.") "spice-vdagent-" version ".tar.bz2")) (sha256 (base32 - "0gdkyylyg1hksg0i0anvznqfli2q39335fnrmcd6847frpc8njpi")))) + "0n9k2kna2gd1zi6jv45zsp2jlv439nz5l5jjijirxqaycwi74srf")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -273,6 +298,7 @@ Internet and from a wide variety of machine architectures.") `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) ("glib" ,glib) + ("libdrm" ,libdrm) ("libpciaccess" ,libpciaccess) ("libx11" ,libx11) ("libxext" ,libxext) @@ -288,6 +314,51 @@ resolution scaling on graphical console window resize.") (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") @@ -303,6 +374,7 @@ resolution scaling on graphical console window resize.") (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+) + ("gtk-vnc" ,gtk-vnc) ("libcap" ,libcap) ("libxml2" ,libxml2) ("spice-gtk" ,spice-gtk)))