Subject: [bug#28853] [PATCH 2/8] gnu: qemu: Enable spice usb redirection support.

From: [email-masked] (宋文武)
Date: Mon, 16 Oct 2017 21:15:39 +0800

Andy Patterson <[email-masked]> writes:

> * gnu/packages/virtualization.scm (qemu)[arguments]<#:configure-flags>: New
> argument.
> [inputs]: Add usbredir.
> (qemu-minimal)[arguments]<#:configure-flags>: Restrict them even when they are
> set by qemu.
> [inputs]: Remove usbredir.

Doesn't the 'configure' script auto-detect usb redirection support when
usbredir is available?

> ---
>  gnu/packages/virtualization.scm | 17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
> index 5cdf6d09b..24ffc2f28 100644
> --- a/gnu/packages/virtualization.scm
> +++ b/gnu/packages/virtualization.scm
> @@ -4,6 +4,7 @@
>  ;;; Copyright © 2016, 2017 Efraim Flashner <[email-masked]>
>  ;;; Copyright © 2016 Ricardo Wurmus <[email-masked]>
>  ;;; Copyright © 2017 Alex Vong <[email-masked]>
> +;;; Copyright © 2017 Andy Patterson <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -85,7 +86,7 @@
>       '(;; Running tests in parallel can occasionally lead to failures, like:
>         ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead)
>         #:parallel-tests? #f
> -
> +       #:configure-flags '("--enable-usb-redir")

In that case, this and ...

>         #:phases
>         (modify-phases %standard-phases
>           (replace 'configure
> @@ -152,6 +153,7 @@
>         ("pixman" ,pixman)
>         ("sdl" ,sdl)
>         ("spice" ,spice)
> +       ("usbredir" ,usbredir)
>         ("util-linux" ,util-linux)
>         ;; ("vde2" ,vde2)
>         ("virglrenderer" ,virglrenderer)
> @@ -188,14 +190,17 @@ server and embedded PowerPC, and S390 guests.")
>      (name "qemu-minimal")
>      (synopsis "Machine emulator and virtualizer (without GUI)")
>      (arguments
> -     `(#:configure-flags
> -       ;; Restrict to the targets supported by Guix.
> -       '("--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu,arm-softmmu,aarch64-softmmu")
> -       ,@(package-arguments qemu)))
> +     (substitute-keyword-arguments (package-arguments qemu)
> +       ((#:configure-flags _ '(list))
> +        `(list
> +          ,(string-append
> +            "--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu"
> +            ",arm-softmmu,aarch64-softmmu")))))
>  
... can be removed.