diff options
Diffstat (limited to 'gnu/packages/virtualization.scm')
-rw-r--r-- | gnu/packages/virtualization.scm | 90 |
1 files changed, 46 insertions, 44 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 9880acf085..309a29ce86 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -129,21 +130,19 @@ (define-public qemu (package (name "qemu") - (version "5.0.0") + (version "5.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://download.qemu.org/qemu-" - version ".tar.xz")) - (sha256 - (base32 - "1dlcwyshdp94fwd30pddxf9bn2q8dfw5jsvry2gvdj551wmaj4rg")))) + (method url-fetch) + (uri (string-append "https://download.qemu.org/qemu-" + version ".tar.xz")) + (sha256 + (base32 + "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) + (patches (search-patches "qemu-build-info-manual.patch")))) + (outputs '("out" "doc")) ;4.7 MiB of HTML docs (build-system gnu-build-system) (arguments - `(;; Running tests in parallel can occasionally lead to failures, like: - ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) - #:parallel-tests? #f - - ;; FIXME: Disable tests on i686 to work around + `(;; FIXME: Disable tests on i686 to work around ;; <https://bugs.gnu.org/40527>. #:tests? ,(or (%current-target-system) (not (string=? "i686-linux" (%current-system)))) @@ -178,6 +177,24 @@ '("include") input-directories) #t))) + (add-after 'unpack 'disable-unusable-tests + (lambda _ + (substitute* "tests/Makefile.include" + ;; Comment out the test-qga test, which needs /sys and + ;; fails within the build environment. + (("check-unit-.* tests/test-qga" all) + (string-append "# " all)) + ;; Comment out the test-char test, which needs networking and + ;; fails within the build environment. + (("check-unit-.* tests/test-char" all) + (string-append "# " all))) + (substitute* "tests/qtest/Makefile.include" + ;; Disable the following test, which triggers a crash on some + ;; x86 CPUs (see https://issues.guix.info/43048 and + ;; https://bugs.launchpad.net/qemu/+bug/1896263). + (("check-qtest-i386-y \\+= bios-tables-test" all) + (string-append "# " all))) + #t)) (add-after 'patch-source-shebangs 'patch-/bin/sh-references (lambda _ ;; Ensure the executables created by these source files reference @@ -188,7 +205,7 @@ #t)) (replace 'configure (lambda* (#:key inputs outputs (configure-flags '()) - #:allow-other-keys) + #:allow-other-keys) ;; The `configure' script doesn't understand some of the ;; GNU options. Thus, add a new phase that's compatible. (let ((out (assoc-ref outputs "out"))) @@ -218,23 +235,12 @@ ,(string-append "--prefix=" out) ,(string-append "--sysconfdir=/etc") ,@configure-flags))))) - (add-after 'install 'install-info - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Install the Info manual, unless Texinfo is missing. - (when (assoc-ref inputs "texinfo") - (let* ((out (assoc-ref outputs "out")) - (dir (string-append out "/share/info"))) - (invoke "make" "info") - (for-each (lambda (info) - (install-file info dir)) - (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 + (add-after 'install 'create-samba-wrapper (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) + (let* ((out (assoc-ref outputs "out")) (libexec (string-append out "/libexec"))) (call-with-output-file "samba-wrapper" (lambda (port) @@ -243,18 +249,14 @@ exec smbd $@"))) (chmod "samba-wrapper" #o755) (install-file "samba-wrapper" libexec)) #t)) - (add-before 'check 'disable-unusable-tests + (add-after 'install 'move-html-doc (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "tests/Makefile.include" - ;; Comment out the test-qga test, which needs /sys and - ;; fails within the build environment. - (("check-unit-.* tests/test-qga" all) - (string-append "# " all))) - (substitute* "tests/Makefile.include" - ;; Comment out the test-char test, which needs networking and - ;; fails within the build environment. - (("check-unit-.* tests/test-char" all) - (string-append "# " all))) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (qemu-doc (string-append doc "/share/doc/qemu-" ,version))) + (mkdir-p qemu-doc) + (rename-file (string-append out "/share/doc/qemu") + (string-append qemu-doc "/html"))) #t))))) (inputs ; TODO: Add optional inputs. `(("alsa-lib" ,alsa-lib) @@ -679,7 +681,7 @@ server and embedded PowerPC, and S390 guests.") ;; For the documentation. ("python-docutils" ,python-docutils) ("sphinx" ,python-sphinx) - ("pandoc" ,ghc-pandoc) + ("pandoc" ,pandoc) ("dot" ,graphviz) ;; Test dependencies. @@ -1590,16 +1592,16 @@ Open Container Initiative (OCI) image layout and its tagged images.") (define-public skopeo (package (name "skopeo") - (version "0.1.40") + (version "1.2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/projectatomic/skopeo") + (url "https://github.com/containers/skopeo") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1bagirzdzjhicn5dr691092ac3q6lhz3xngjzgqiqkxnvpz7p6cn")))) + "1v7k3ki10i6082r7zswblyirx6zck674y6bw3plssw4p1l2611rd")))) (build-system go-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1613,7 +1615,7 @@ Open Container Initiative (OCI) image layout and its tagged images.") ("glib" ,glib) ("gpgme" ,gpgme))) (arguments - '(#:import-path "github.com/projectatomic/skopeo" + '(#:import-path "github.com/containers/skopeo" #:install-source? #f #:tests? #f ; The tests require Docker #:phases @@ -1622,13 +1624,13 @@ Open Container Initiative (OCI) image layout and its tagged images.") (lambda* (#:key import-path #:allow-other-keys) (chdir (string-append "src/" import-path)) ;; TODO: build manpages with 'go-md2man'. - (invoke "make" "binary-local"))) + (invoke "make" "bin/skopeo"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (invoke "make" "install-binary" "install-completions" (string-append "PREFIX=" out)))))))) - (home-page "https://github.com/projectatomic/skopeo") + (home-page "https://github.com/containers/skopeo") (synopsis "Interact with container images and container image registries") (description "@command{skopeo} is a command line utility providing various operations |