From 1d2c67c11e61f2fe10c926d1cf82dfbbe9b1e5f7 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 24 Jul 2016 19:52:24 +0200 Subject: gnu: Add usbredir. * gnu/packages/spice.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Leo Famulari --- gnu/packages/spice.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 gnu/packages/spice.scm (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm new file mode 100644 index 0000000000..c88491fbd9 --- /dev/null +++ b/gnu/packages/spice.scm @@ -0,0 +1,52 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 David Craven +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages spice) + #:use-module (gnu packages) + #:use-module (gnu packages libusb) + #:use-module (gnu packages pkg-config) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils)) + +(define-public usbredir + (package + (name "usbredir") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://spice-space.org/download/usbredir/" + "usbredir-" version ".tar.bz2")) + (sha256 + (base32 + "1wsnmk4wjpdhbn1zaxg6bmyxspcki2zgy0am9lk037rnl4krwzj0")))) + (build-system gnu-build-system) + (inputs + `(("libusb" ,libusb))) + (native-inputs + `(("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 network connection. It can be used to redirect traffic from a USB device +to a different (virtual) machine than the one to which the USB device is +attached.") + (home-page "http://www.spice-space.org") + (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+)))) -- cgit v1.2.3 From 2ef2654de44014664ad99d05e3095ff60535c611 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 24 Jul 2016 19:52:25 +0200 Subject: gnu: Add virglrenderer. * gnu/packages/spice.scm (virglrenderer): New variable. Signed-off-by: Leo Famulari --- gnu/packages/spice.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index c88491fbd9..797b19a2e4 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -18,7 +18,9 @@ (define-module (gnu packages spice) #:use-module (gnu packages) + #:use-module (gnu packages gl) #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (guix build-system gnu) #:use-module (guix download) @@ -50,3 +52,28 @@ to a different (virtual) machine than the one to which the USB device is attached.") (home-page "http://www.spice-space.org") (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+)))) + +(define-public virglrenderer + (package + (name "virglrenderer") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://www.freedesktop.org/software/virgl/" + "virglrenderer-" version ".tar.bz2")) + (sha256 + (base32 + "1dj0j8nbyr7nrpds4dqlp43ji8ixjyqhgw6ywlz1r9dn6cs5m5d1")))) + (build-system gnu-build-system) + (inputs + `(("libepoxy" ,libepoxy) + ("mesa" ,mesa) + ("udev" ,eudev))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Virtual 3D GPU library") + (description "A virtual 3D GPU library that enables a virtualized operating +system to use the host GPU to accelerate 3D rendering.") + (home-page "https://virgil3d.github.io") + (license (list license:expat license:bsd-3)))) -- cgit v1.2.3 From 289e472f56682e7e58479fbf58ca34cd98467672 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 24 Jul 2016 19:52:26 +0200 Subject: gnu: Add spice-protocol. * gnu/packages/spice.scm (spice-protocol): New variable. Signed-off-by: Leo Famulari --- gnu/packages/spice.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 797b19a2e4..5f4df734e5 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -77,3 +77,23 @@ attached.") system to use the host GPU to accelerate 3D rendering.") (home-page "https://virgil3d.github.io") (license (list license:expat license:bsd-3)))) + +(define-public spice-protocol + (package + (name "spice-protocol") + (version "0.12.11") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.spice-space.org/download/releases/" + "spice-protocol-" version ".tar.bz2")) + (sha256 + (base32 + "0c33kg3vdz3nnl2wjfbgmszz5hbjbvsw6map35dj9hxnpwwf9fi2")))) + (build-system gnu-build-system) + (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 +which allows users to view a desktop computing environment.") + (home-page "http://www.spice-space.org") + (license (list license:bsd-3 license:lgpl2.1+)))) -- cgit v1.2.3 From bb28cf90e9b3c72dd6f1aeaf50c2828271c9fa7b Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 24 Jul 2016 19:52:27 +0200 Subject: gnu: Add spice-gtk. * gnu/packages/spice.scm (spice-gtk): New variable. Signed-off-by: Leo Famulari --- gnu/packages/spice.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 5f4df734e5..29c3a8e78b 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -18,10 +18,22 @@ (define-module (gnu packages spice) #:use-module (gnu packages) + #:use-module (gnu packages compression) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages tls) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xiph) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix packages) @@ -97,3 +109,63 @@ Environments) is a remote-display system built for virtual environments which allows users to view a desktop computing environment.") (home-page "http://www.spice-space.org") (license (list license:bsd-3 license:lgpl2.1+)))) + +(define-public spice-gtk + (package + (name "spice-gtk") + (version "0.32") + (source (origin + (method url-fetch) + (uri (string-append + "http://spice-space.org/download/gtk/" + "spice-gtk-" version ".tar.bz2")) + (sha256 + (base32 + "00pf94xh2xf0h1g13lnavxrysd0d0x22l5jl108cvq1mjc4z8j2c")))) + (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))) + (inputs + `(("glib-networking" ,glib-networking) + ("gtk+" ,gtk+) + ("libepoxy" ,libepoxy) + ("libjpeg" ,libjpeg) + ("libusb" ,libusb) + ("libxcb" ,libxcb) + ("lz4" ,lz4) + ("mesa" ,mesa) + ("pixman" ,pixman) + ("pulseaudio" ,pulseaudio) + ("python" ,python) + ("openssl" ,openssl) + ("opus" ,opus) + ("spice-protocol" ,spice-protocol) + ("usbredir" ,usbredir))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + '("--enable-gstaudio" + "--enable-gstvideo" + "--enable-pulse") + #:phases + (modify-phases %standard-phases + (add-after + 'install 'wrap-spicy + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/spicy") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))) + #t))))) + (synopsis "Gtk client and libraries for SPICE remote desktop servers") + (description "Gtk client and libraries for SPICE remote desktop servers.") + (home-page "http://www.spice-space.org") + (license (list license:lgpl2.1+ license:lgpl2.0+)))) -- cgit v1.2.3 From 3cbd37e4408ea9c827a62c43946cda7b486a32f1 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 24 Jul 2016 19:52:28 +0200 Subject: gnu: Add spice. * gnu/packages/spice.scm (spice): New variable. Signed-off-by: Leo Famulari --- gnu/packages/spice.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 29c3a8e78b..2976f88763 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -169,3 +169,43 @@ which allows users to view a desktop computing environment.") (description "Gtk client and libraries for SPICE remote desktop servers.") (home-page "http://www.spice-space.org") (license (list license:lgpl2.1+ license:lgpl2.0+)))) + +(define-public spice + (package + (name "spice") + (version "0.13.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.spice-space.org/download/releases/" + "spice-" version ".tar.bz2")) + (sha256 + (base32 + "18hxk47z58cqbix5h477qmvcdmsrwzv984jw4c6fj0ns4h217jwy")))) + (build-system gnu-build-system) + (propagated-inputs + `(("openssl" ,openssl) + ("pixman" ,pixman) + ("spice-protocol" ,spice-protocol))) + (inputs + `(("glib" ,glib) + ("libjpeg" ,libjpeg) + ("lz4" ,lz4) + ("opus" ,opus) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python) + ("spice-gtk" ,spice-gtk))) + (arguments + `(#:configure-flags + '("--disable-celt051" ; Disable support for unpackaged audio codec + "--enable-lz4" + "--enable-automated-tests"))) + (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 +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 "http://www.spice-space.org") + (license (list license:lgpl2.1+ license:lgpl2.0+)))) -- cgit v1.2.3 From 33b0f4a4b2fb4eea8a3edb59e272e338bd1bf261 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 24 Jul 2016 19:52:29 +0200 Subject: gnu: Add spice-vdagent. * gnu/packages/spice.scm (spice-vdagent): New variable. Signed-off-by: Leo Famulari --- gnu/packages/spice.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 2976f88763..581c2cd9e0 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -209,3 +209,47 @@ 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 "http://www.spice-space.org") (license (list license:lgpl2.1+ license:lgpl2.0+)))) + +(define-public spice-vdagent + (package + (name "spice-vdagent") + (version "0.17.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.spice-space.org/download/releases/" + "spice-vdagent-" version ".tar.bz2")) + (sha256 + (base32 + "0gdkyylyg1hksg0i0anvznqfli2q39335fnrmcd6847frpc8njpi")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + '("--localstatedir=/var") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile.in + (lambda _ + (substitute* "Makefile.in" + (((string-append "\\$\\(mkdir_p\\) \\$\\(DESTDIR\\)" + "\\$\\(localstatedir\\)/run/spice-vdagentd")) + "-$(mkdir_p) $(DESTDIR)$(localstatedir)/run/spice-vdagentd")) + #t))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("dbus" ,dbus) + ("glib" ,glib) + ("libpciaccess" ,libpciaccess) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxinerama" ,libxinerama) + ("libxrandr" ,libxrandr) + ("spice-protocol" ,spice-protocol))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Spice agent for Linux") + (description "Spice-vdagent enables sharing the clipboard and guest display +resolution scaling on graphical console window resize.") + (home-page "http://www.spice-space.org") + (license license:gpl3+))) -- cgit v1.2.3 From 6144dff5165d6e981ec5a927179b1b4e0cdc7843 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 24 Jul 2016 19:52:30 +0200 Subject: gnu: Add virt-viewer. * gnu/packages/spice.scm (virt-viewer): New variable. Signed-off-by: Leo Famulari --- gnu/packages/spice.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 581c2cd9e0..1a356b0189 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -34,6 +34,7 @@ #: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 download) #:use-module (guix packages) @@ -253,3 +254,46 @@ Internet and from a wide variety of machine architectures.") resolution scaling on graphical console window resize.") (home-page "http://www.spice-space.org") (license license:gpl3+))) + +(define-public virt-viewer + (package + (name "virt-viewer") + (version "4.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://virt-manager.org/download/sources/virt-viewer/" + "virt-viewer-" version ".tar.gz")) + (sha256 + (base32 + "07zsi1fqg05mag1ayniaqj25fzb6dxg76d4ka5196lq4l477nhhw")))) + (build-system gnu-build-system) + (inputs + `(("gtk+" ,gtk+) + ("libcap" ,libcap) + ("libxml2" ,libxml2) + ("openssl" ,openssl) + ("spice-gtk" ,spice-gtk) + ("spice-protocol" ,spice-protocol))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + '("--with-spice-gtk") + #:phases + (modify-phases %standard-phases + (add-after + 'install 'wrap-remote-viewer + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/remote-viewer") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))) + #t))))) + (synopsis "Graphical console client for virtual machines") + (description "Graphical console client for virtual machines using SPICE or +VNC.") + (home-page "https://virt-manager.org") + (license license:gpl2+))) -- cgit v1.2.3 From 0d05a739d2c78e85bf358c4abdc719ebb3550f5a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 29 Jul 2016 11:13:20 -0400 Subject: gnu: usbredir: Propagate LIBUSB. * gnu/packages/spice.scm (usbredir)[inputs]: Replace field with ... [propagated-inputs]: ... new field. --- gnu/packages/spice.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 1a356b0189..b6b6943d4d 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -54,7 +54,7 @@ (base32 "1wsnmk4wjpdhbn1zaxg6bmyxspcki2zgy0am9lk037rnl4krwzj0")))) (build-system gnu-build-system) - (inputs + (propagated-inputs `(("libusb" ,libusb))) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From ba9e2ee64a566d3bdaa93423a56d1fd613cef5f3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 29 Jul 2016 11:14:02 -0400 Subject: gnu: spice-gtk: Propagate SPICE-PROTOCOL. * gnu/packages/spice.scm (spice-gtk)[inputs]: Move SPICE-PROTOCOL to... [propagated-inputs]: ... here. --- gnu/packages/spice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index b6b6943d4d..402b3e7766 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -130,7 +130,8 @@ which allows users to view a desktop computing environment.") ("gst-plugins-base" ,gst-plugins-base) ("gst-plugins-good" ,gst-plugins-good) ("gst-plugins-bad" ,gst-plugins-bad) - ("gst-plugins-ugly" ,gst-plugins-ugly))) + ("gst-plugins-ugly" ,gst-plugins-ugly) + ("spice-protocol" ,spice-protocol))) (inputs `(("glib-networking" ,glib-networking) ("gtk+" ,gtk+) @@ -145,7 +146,6 @@ which allows users to view a desktop computing environment.") ("python" ,python) ("openssl" ,openssl) ("opus" ,opus) - ("spice-protocol" ,spice-protocol) ("usbredir" ,usbredir))) (native-inputs `(("glib:bin" ,glib "bin") -- cgit v1.2.3 From 3c4a8f03a2be829723a1aec93a0c6dc89026897b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 29 Jul 2016 12:39:31 -0400 Subject: gnu: spice-gtk: Remove LIBUSB from inputs. This is a followup to 0d05a739d2c78e85bf358c4abdc719ebb3550f5a. * gnu/packages/spice.scm (spice-gtk)[inputs]: Remove LIBUSB. --- gnu/packages/spice.scm | 1 - 1 file changed, 1 deletion(-) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 402b3e7766..feea465688 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -137,7 +137,6 @@ which allows users to view a desktop computing environment.") ("gtk+" ,gtk+) ("libepoxy" ,libepoxy) ("libjpeg" ,libjpeg) - ("libusb" ,libusb) ("libxcb" ,libxcb) ("lz4" ,lz4) ("mesa" ,mesa) -- cgit v1.2.3 From f54510d29b27a403c90f9bafd0b84109a91d8469 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 29 Jul 2016 12:41:10 -0400 Subject: gnu: virt-viewer: Remove SPICE-PROTOCOL from inputs. This is a followup to ba9e2ee64a566d3bdaa93423a56d1fd613cef5f3. * gnu/packages/spice.scm (virt-viewer)[inputs]: Remove SPICE-PROTOCOL. --- gnu/packages/spice.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gnu/packages/spice.scm') diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index feea465688..cfb60845bc 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -272,8 +272,7 @@ resolution scaling on graphical console window resize.") ("libcap" ,libcap) ("libxml2" ,libxml2) ("openssl" ,openssl) - ("spice-gtk" ,spice-gtk) - ("spice-protocol" ,spice-protocol))) + ("spice-gtk" ,spice-gtk))) (native-inputs `(("glib:bin" ,glib "bin") ("intltool" ,intltool) -- cgit v1.2.3