summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/docker.scm86
-rw-r--r--gnu/packages/patches/containerd-test-with-go1.13.patch21
3 files changed, 46 insertions, 62 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 26976f73cd..d5fd714669 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -912,7 +912,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/collectd-5.11.0-noinstallvar.patch		\
   %D%/packages/patches/combinatorial-blas-awpm.patch		\
   %D%/packages/patches/combinatorial-blas-io-fix.patch		\
-  %D%/packages/patches/containerd-test-with-go1.13.patch		\
   %D%/packages/patches/coreutils-ls.patch			\
   %D%/packages/patches/cpufrequtils-fix-aclocal.patch		\
   %D%/packages/patches/crawl-upgrade-saves.patch		\
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 5c6292c122..6083ed780b 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
 ;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
@@ -177,7 +177,7 @@ Python without keeping their credentials in a Docker configuration file.")
 (define-public containerd
   (package
     (name "containerd")
-    (version "1.3.10")
+    (version "1.4.4")
     (source
      (origin
        (method git-fetch)
@@ -186,49 +186,55 @@ Python without keeping their credentials in a Docker configuration file.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "10fz7359aydbz0yb01qkrsq2diypayfal618lvvb1x0gvgkp526i"))))
+        (base32 "0qjbfj1dw6pykxhh8zahcxlgpyjzgnrngk5vjaf34akwyan8nrxb"))))
     (build-system go-build-system)
     (arguments
-     `(#:import-path "github.com/containerd/containerd"
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'chdir 'patch-paths
-           (lambda* (#:key inputs import-path outputs #:allow-other-keys)
-             ;; TODO: Patch "socat", "unpigz".
-             (with-directory-excursion (string-append "src/" import-path)
-               (substitute* "./runtime/v1/linux/runtime.go"
-                 (("defaultRuntime[ \t]*=.*")
-                  (string-append "defaultRuntime = \""
-                                 (assoc-ref inputs "runc")
-                                 "/sbin/runc\"\n"))
-                 (("defaultShim[ \t]*=.*")
-                  (string-append "defaultShim = \""
-                                 (assoc-ref outputs "out")
-                                 "/bin/containerd-shim\"\n")))
-               (substitute* "./vendor/github.com/containerd/go-runc/runc.go"
-                 (("DefaultCommand[ \t]*=.*")
-                  (string-append "DefaultCommand = \""
-                                 (assoc-ref inputs "runc")
-                                 "/sbin/runc\"\n")))
-               (substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go"
-                 (("exec\\.Command\\(\"losetup\"") ; )
-                  (string-append "exec.Command(\""
-                                 (assoc-ref inputs "util-linux")
-                                 "/sbin/losetup\""))) ;)
-               #t)))
-         (replace 'build
-           (lambda* (#:key import-path (make-flags '()) #:allow-other-keys)
-             (with-directory-excursion (string-append "src/" import-path)
-               (apply invoke "make" make-flags))))
-         (replace 'install
-           (lambda* (#:key import-path outputs (make-flags '()) #:allow-other-keys)
-             (with-directory-excursion (string-append "src/" import-path)
-               (let* ((out (assoc-ref outputs "out")))
-                 (apply invoke "make" (string-append "DESTDIR=" out) "install"
-                        make-flags))))))))
+     (let ((make-flags (list (string-append "VERSION=" version)
+                             "REVISION=0")))
+       `(#:import-path "github.com/containerd/containerd"
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'chdir 'patch-paths
+             (lambda* (#:key inputs import-path outputs #:allow-other-keys)
+               (with-directory-excursion (string-append "src/" import-path)
+                 (substitute* "runtime/v1/linux/runtime.go"
+                   (("defaultRuntime[ \t]*=.*")
+                    (string-append "defaultRuntime = \""
+                                   (assoc-ref inputs "runc")
+                                   "/sbin/runc\"\n"))
+                   (("defaultShim[ \t]*=.*")
+                    (string-append "defaultShim = \""
+                                   (assoc-ref outputs "out")
+                                   "/bin/containerd-shim\"\n")))
+                 (substitute* "vendor/github.com/containerd/go-runc/runc.go"
+                   (("DefaultCommand[ \t]*=.*")
+                    (string-append "DefaultCommand = \""
+                                   (assoc-ref inputs "runc")
+                                   "/sbin/runc\"\n")))
+                 (substitute* "vendor/github.com/containerd/continuity/testutil\
+/loopback/loopback_linux.go"
+                   (("exec\\.Command\\(\"losetup\"")
+                    (string-append "exec.Command(\""
+                                   (assoc-ref inputs "util-linux")
+                                   "/sbin/losetup\"")))
+                 (substitute* "archive/compression/compression.go"
+                   (("exec\\.LookPath\\(\"unpigz\"\\)")
+                    (string-append "\"" (assoc-ref inputs "pigz")
+                                   "/bin/unpigz\", error(nil)"))))))
+           (replace 'build
+             (lambda* (#:key import-path #:allow-other-keys)
+               (with-directory-excursion (string-append "src/" import-path)
+                 (apply invoke "make" ',make-flags))))
+           (replace 'install
+             (lambda* (#:key import-path outputs #:allow-other-keys)
+               (with-directory-excursion (string-append "src/" import-path)
+                 (let* ((out (assoc-ref outputs "out")))
+                   (apply invoke "make" (string-append "DESTDIR=" out) "install"
+                          ',make-flags)))))))))
     (inputs
      `(("btrfs-progs" ,btrfs-progs)
        ("libseccomp" ,libseccomp)
+       ("pigz" ,pigz)
        ("runc" ,runc)
        ("util-linux" ,util-linux)))
     (native-inputs
diff --git a/gnu/packages/patches/containerd-test-with-go1.13.patch b/gnu/packages/patches/containerd-test-with-go1.13.patch
deleted file mode 100644
index 964adee9e6..0000000000
--- a/gnu/packages/patches/containerd-test-with-go1.13.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Compatibility fix for go 1.13, flag.Parse() shouldn't be called during
-package initialization.
-https://golang.org/doc/go1.13#testing
---- a/client_test.go	2020-02-12 14:50:28.991245371 -0500
-+++ b/client_test.go	2020-02-12 15:12:37.383523980 -0500
-@@ -49,7 +49,6 @@
- 	flag.StringVar(&address, "address", defaultAddress, "The address to the containerd socket for use in the tests")
- 	flag.BoolVar(&noDaemon, "no-daemon", false, "Do not start a dedicated daemon for the tests")
- 	flag.BoolVar(&noCriu, "no-criu", false, "Do not run the checkpoint tests")
--	flag.Parse()
- }
- 
- func testContext() (context.Context, context.CancelFunc) {
-@@ -59,6 +58,7 @@
- }
- 
- func TestMain(m *testing.M) {
-+	flag.Parse()
- 	if testing.Short() {
- 		os.Exit(m.Run())
- 	}