gnu: qemu: Add wrapper for Samba.

* gnu/packages/virtualization.scm (qemu)[arguments]: Change #:configure-flags to
a list, add --smbd flag. Add 'create-samba-wrapper phase.
This commit is contained in:
Rutger Helling 2017-12-28 23:26:42 +01:00
parent 50c4d676ff
commit 0e5d0f66b5
No known key found for this signature in database
GPG key ID: F3A727DB44FCCA36

View file

@ -96,7 +96,10 @@ (define-public qemu
'(;; 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" "--enable-opengl")
#:configure-flags (list "--enable-usb-redir" "--enable-opengl"
(string-append "--smbd="
(assoc-ref %outputs "out")
"/libexec/samba-wrapper"))
#:phases
(modify-phases %standard-phases
(replace 'configure
@ -135,6 +138,20 @@ (define-public qemu
(install-file info infodir))
(find-files "." "\\.info"))
#t))))))
;; Create a wrapper for Samba. This allows QEMU to use Samba without
;; pulling it in as an input. Note that you need to explicitly install
;; Samba in your Guix profile for Samba support.
(add-after 'install-info 'create-samba-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(libexec (string-append out "/libexec")))
(call-with-output-file "samba-wrapper"
(lambda (port)
(format port "#!/bin/sh
exec smbd $@")))
(chmod "samba-wrapper" #o755)
(install-file "samba-wrapper" libexec))
#t))
(add-before 'check 'make-gtester-verbose
(lambda _
;; Make GTester verbose to facilitate investigation upon failure.