summary refs log tree commit diff
path: root/gnu/packages/virtualization.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/virtualization.scm')
-rw-r--r--gnu/packages/virtualization.scm107
1 files changed, 53 insertions, 54 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index c4d4fefa66..a16a12c7aa 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -132,6 +132,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix gexp)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -152,7 +153,7 @@
 (define-public qemu
   (package
     (name "qemu")
-    (version "6.1.0")
+    (version "6.2.0")
     (source
      (origin
        (method url-fetch)
@@ -160,9 +161,8 @@
                            version ".tar.xz"))
        (sha256
         (base32
-         "15iw7982g6vc4jy1l9kk1z9sl5bm1bdbwr74y7nvwjs1nffhig7f"))
-       (patches (search-patches "qemu-CVE-2021-20203.patch"
-                                "qemu-build-info-manual.patch"
+         "0iavlsy9hin8k38230j8lfmyipx3965zljls1dp34mmc8n75vqb8"))
+       (patches (search-patches "qemu-build-info-manual.patch"
                                 "qemu-fix-agent-paths.patch"))
        (modules '((guix build utils)))
        (snippet
@@ -1066,7 +1066,7 @@ all common programming languages.  Vala bindings are also provided.")
 (define-public lxc
   (package
     (name "lxc")
-    (version "4.0.10")
+    (version "4.0.11")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1074,31 +1074,30 @@ all common programming languages.  Vala bindings are also provided.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1sgsic9dzj3wv2k5bx2vhcgappivhp1glkqfc2yrgr6jas052351"))))
+                "0b7hv4n8b3lndhr0jf9j1gkbzxm8897a1myjsfgwzad9gkhq395g"))))
     (build-system gnu-build-system)
     (native-inputs
      (list pkg-config docbook2x))
     (inputs
      (list gnutls libcap libseccomp libselinux))
     (arguments
-     `(#:configure-flags
-       (list (string-append "--docdir=" (assoc-ref %outputs "out")
-                            "/share/doc/" ,name "-" ,version)
-             "--sysconfdir=/etc"
-             "--localstatedir=/var")
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out         (assoc-ref outputs "out"))
-                    (bashcompdir (string-append out "/etc/bash_completion.d")))
-               (invoke "make" "install"
-                       (string-append "bashcompdir=" bashcompdir)
-                       ;; Don't install files into /var and /etc.
-                       "LXCPATH=/tmp/var/lib/lxc"
-                       "localstatedir=/tmp/var"
-                       "sysconfdir=/tmp/etc"
-                       "sysconfigdir=/tmp/etc/default")))))))
+     (list #:configure-flags
+           #~(list (string-append "--docdir=" #$output "/share/doc/"
+                                  #$name "-" #$version)
+                   "--sysconfdir=/etc"
+                   "--localstatedir=/var")
+           #:phases
+           #~(modify-phases %standard-phases
+               (replace 'install
+                 (lambda _
+                   (invoke "make" "install"
+                           (string-append "bashcompdir=" #$output
+                                          "/etc/bash_completion.d")
+                           ;; Don't install files into /var and /etc.
+                           "LXCPATH=/tmp/var/lib/lxc"
+                           "localstatedir=/tmp/var"
+                           "sysconfdir=/tmp/etc"
+                           "sysconfigdir=/tmp/etc/default"))))))
     (synopsis "Linux container tools")
     (home-page "https://linuxcontainers.org/")
     (description
@@ -1110,7 +1109,7 @@ manage system or application containers.")
 (define-public lxcfs
   (package
     (name "lxcfs")
-    (version "4.0.9")
+    (version "4.0.11")
     (home-page "https://github.com/lxc/lxcfs")
     (source (origin
               (method git-fetch)
@@ -1119,7 +1118,7 @@ manage system or application containers.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0zx58lair8hwi4bxm5h7i8n1j5fcdgw5cr6f4wk9qhks0sr5dip5"))))
+                "02cgzh97cgxh9iyf7gkn5ikdc0sfzqfjj6al0hikdf9rbwcscqwd"))))
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
     (native-inputs
@@ -1136,7 +1135,7 @@ It started as a side project of LXC but can be used by any run-time.")
 (define-public lxd
   (package
     (name "lxd")
-    (version "4.17")
+    (version "4.22")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1144,7 +1143,7 @@ It started as a side project of LXC but can be used by any run-time.")
                     "lxd-" version "/lxd-" version ".tar.gz"))
               (sha256
                (base32
-                "1kzmgyg5kw3zw9qa6jabld6rmb53b6yy69h7y9znsdlf74jllljl"))))
+                "119345936fcm1vv06k82k9hvj5yjf9jdrwqm9ccphhl5mswf8xq9"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/lxc/lxd"
@@ -1158,22 +1157,17 @@ It started as a side project of LXC but can be used by any run-time.")
          (add-after 'unpack 'unpack-dist
            (lambda* (#:key import-path #:allow-other-keys)
              (with-directory-excursion (string-append "src/" import-path)
-               ;; remove the link back to the top level
-               (delete-file (string-append "_dist/src/" import-path))
-               ;; move all the deps into the src directory
-               (copy-recursively "_dist/src" "../../.."))
-             #t))
+               ;; Move all the dependencies into the src directory.
+               (copy-recursively "_dist/src" "../../.."))))
          (replace 'build
            (lambda* (#:key import-path #:allow-other-keys)
              (with-directory-excursion (string-append "src/" import-path)
-               (invoke "make" "build" "CC=gcc" "TAG_SQLITE3=libsqlite3")
-               #t)))
+               (invoke "make" "build" "CC=gcc" "TAG_SQLITE3=libsqlite3"))))
          (replace 'check
            (lambda* (#:key tests? import-path #:allow-other-keys)
              (when tests?
                (with-directory-excursion (string-append "src/" import-path)
-                 (invoke "make" "check" "CC=gcc" "TAG_SQLITE3=libsqlite3")))
-             #t))
+                 (invoke "make" "check" "CC=gcc" "TAG_SQLITE3=libsqlite3")))))
          (replace 'install
            (lambda* (#:key inputs outputs import-path #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -1184,7 +1178,7 @@ It started as a side project of LXC but can be used by any run-time.")
                     (completions-dir
                      (string-append out "/share/bash-completion/completions")))
                (with-directory-excursion (string-append "src/" import-path)
-                 ;; wrap lxd with runtime dependencies
+                 ;; Wrap lxd with run-time dependencies.
                  (wrap-program (string-append bin-dir "lxd")
                    `("PATH" ":" prefix
                      ,(fold (lambda (input paths)
@@ -1197,20 +1191,19 @@ It started as a side project of LXC but can be used by any run-time.")
                             '("bash" "acl" "rsync" "tar" "xz" "btrfs-progs"
                               "gzip" "dnsmasq" "squashfs-tools" "iproute2"
                               "criu" "iptables"))))
-                 ;; remove unwanted binaries
+                 ;; Remove unwanted binaries.
                  (for-each (lambda (prog)
                              (delete-file (string-append bin-dir prog)))
                            '("deps" "macaroon-identity" "generate"))
-                 ;; install documentation
+                 ;; Install documentation.
                  (for-each (lambda (file)
                              (install-file file doc-dir))
                            (find-files "doc"))
-                 ;; install bash completion
+                 ;; Install bash completion.
                  (rename-file "scripts/bash/lxd-client" "scripts/bash/lxd")
-                 (install-file "scripts/bash/lxd" completions-dir)))
-             #t)))))
+                 (install-file "scripts/bash/lxd" completions-dir))))))))
     (native-inputs
-     (list ;; test dependencies:
+     (list ;; Test dependencies:
            ;; ("go-github-com-rogpeppe-godeps" ,go-github-com-rogpeppe-godeps)
            ;; ("go-github-com-tsenart-deadcode" ,go-github-com-tsenart-deadcode)
            ;; ("go-golang-org-x-lint" ,go-golang-org-x-lint)
@@ -1222,7 +1215,7 @@ It started as a side project of LXC but can be used by any run-time.")
        ("libraft" ,libraft)
        ("libcap" ,libcap)
        ("lxc" ,lxc)
-       ;; runtime dependencies:
+       ;; Run-time dependencies.
        ("bash" ,bash-minimal)
        ("rsync" ,rsync)
        ("tar" ,tar)
@@ -1925,7 +1918,7 @@ virtual machines.")
 (define-public bubblewrap
   (package
     (name "bubblewrap")
-    (version "0.4.1")
+    (version "0.5.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/containers/bubblewrap/"
@@ -1933,7 +1926,8 @@ virtual machines.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "00ycgi6q2yngh06bnz50wkvar6r2jnjf3j158grhi9k13jdrpimr"))))
+                "0608l2sjwhnb1c0mslah1h6yjvqr17wk60by6i710qwxg4rszz8n"))
+               (patches (search-patches "bubblewrap-fix-locale-in-tests.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -1949,7 +1943,9 @@ virtual machines.")
                (substitute* "tests/test-run.sh"
                  (("/var/tmp") tmp-dir)
                  ;; Tests create a temporary python script, so fix its shebang.
-                 (("/usr/bin/env python") (which "python"))
+                 (("/usr/bin/env python3") (which "python3"))
+                 ;; Tests call /usr/bin/env, so fix its path.
+                 (("/usr/bin/env") (which "env"))
                  ;; Some tests try to access /usr, but that doesn't exist.
                  ;; Give them /gnu instead.
                  (("/usr") "/gnu")
@@ -1958,18 +1954,21 @@ virtual machines.")
                  (("--ro-bind /lib /lib") "--ro-bind /gnu /lib")
                  (("  */bin/bash") (which "bash"))
                  (("/bin/sh") (which "sh"))
-                 (("findmnt") (which "findmnt"))))
+                 (("findmnt") (which "findmnt")))
+               (substitute* "tests/libtest.sh"
+                 (("/var/tmp") tmp-dir)
+                 (("/usr") "/gnu")
+                 (("--ro-bind /bin /bin") "--ro-bind /gnu /bin")
+                 (("--ro-bind /sbin /sbin") "--ro-bind /gnu /sbin")
+                 (("--ro-bind /lib /lib") "--ro-bind /gnu /lib")))
              #t))
          ;; Remove the directory we gave to tests to have a clean package.
          (add-after 'check 'remove-tmp-dir
            (lambda* (#:key outputs #:allow-other-keys)
              (delete-file-recursively (string-append (assoc-ref outputs "out") "/tmp"))
              #t)))))
-    (inputs
-     (list libcap))
-    (native-inputs
-     `(("python" ,python-wrapper)
-       ("util-linux" ,util-linux)))
+    (inputs (list libcap))
+    (native-inputs (list python-wrapper util-linux))
     (home-page "https://github.com/containers/bubblewrap")
     (synopsis "Unprivileged sandboxing tool")
     (description "Bubblewrap is aimed at running applications in a sandbox,