From f45a7663f646b195222dc4426b19884147051f05 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 28 Dec 2017 08:57:28 +0100 Subject: [PATCH] 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. [home-page]: Update URL. --- gnu/packages/virtualization.scm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 0e4feb7b1..1584580ad 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,21 @@ (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"))) + (system* "touch" "samba-wrapper") + (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. @@ -176,7 +194,7 @@ ("pkg-config" ,pkg-config) ("python" ,python-2) ; incompatible with Python 3 according to error message ("texinfo" ,texinfo))) - (home-page "http://www.qemu-project.org") + (home-page "https://www.qemu.org") (synopsis "Machine emulator and virtualizer") (description "QEMU is a generic machine emulator and virtualizer. -- 2.15.1