Subject: [PATCH v3] gnu: podman: Add 'docker' alias script as 'docker' output

From: Zongyuan Li <[email-masked]>
Date: Fri, 03 Mar 2023 08:08:55 +0000

gnu: podman: Add 'docker' alias script as 'docker' output

changes since v2:

    * Remove redundant trailing #t
    * Adjust commit log

* gnu/packages/containers.scm (podman): New 'docker' output for podman
---
 gnu/packages/containers.scm | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index b402bbde6a..b316588ea2 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -327,6 +327,9 @@ (define-public podman
        (file-name (git-file-name name version))))

     (build-system gnu-build-system)
+    (outputs '("out" "docker"))
+    (properties
+      `((output-synopsis "docker" "docker alias for podman")))
     (arguments
      (list
       #:make-flags
@@ -349,7 +352,7 @@ (define-public podman
                 (invoke "make" "localsystem")
                 (invoke "make" "remotesystem"))))
           (add-after 'unpack 'fix-hardcoded-paths
-            (lambda _
+            (lambda* (#:key outputs #:allow-other-keys)
               (substitute* (find-files "libpod" "\\.go")
                 (("exec.LookPath[(][\"]slirp4netns[\"][)]")
                  (string-append "exec.LookPath(\""
@@ -365,7 +368,14 @@ (define-public podman
                 (("/usr/local/libexec/cni")
                  (string-append #$(this-package-input "cni-plugins")
                                 "/bin"))
-                (("/usr/bin/crun") (which "crun")))))
+                (("/usr/bin/crun") (which "crun")))
+              (substitute* "docker"
+                (("/usr/bin/podman") (string-append (assoc-ref outputs "out")
+                                                    "/bin/podman")))))
+          (add-after 'install 'install-docker
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((docker (assoc-ref outputs "docker")))
+                (install-file "docker" (string-append docker "/bin")))))
           (add-after 'install 'install-completions
             (lambda _
               (invoke "make" "install.completions"
--
2.37.1 (Apple Git-137.1)