summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/virtualization.scm19
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 0e4feb7b1c..ab37ff2926 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -96,7 +96,10 @@
'(;; 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 @@
(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.