Subject: [bug#74564] [PATCH v2] gnu: podman: Add docker output.

From: Arjan Adriaanse <[email-masked]>
Date: Fri, 29 Nov 2024 14:43:19 +0100

* gnu/packages/containers.scm (podman-docker)[arguments]<#:phases>: Add
'override-docker-envsubst-args and 'install-docker.
[inputs]: Add gettext-minimal.
[outputs]: Add docker.

Change-Id: Ib6a3e0423d8257ce13e72ac12a908da42015cf8d
---
 gnu/packages/containers.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index c638736cda..6cc1a199d2 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2024 Tomas Volf <[email-masked]>
 ;;; Copyright © 2024 Foundation Devices, Inc. <[email-masked]>
 ;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <[email-masked]>
+;;; Copyright © 2024 Arjan Adriaanse <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -44,6 +45,7 @@ (define-module (gnu packages containers)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gnupg)
@@ -541,7 +543,20 @@ (define-public podman
           (add-after 'install 'install-completions
             (lambda _
               (invoke "make" "install.completions"
-                      (string-append "PREFIX=" #$output)))))))
+                      (string-append "PREFIX=" #$output))))
+          (add-after 'unpack 'override-docker-envsubst-args
+            (lambda _
+              (substitute* "Makefile"
+                ;; BINDIR is the directory of the podman command and
+                ;; ETCDIR is the system configuration directory.
+                (("envsubst < docker/docker.in")
+                 (string-append "BINDIR=" #$output "/bin ETCDIR=/etc "
+                                "envsubst < docker/docker.in")))))
+          (add-after 'install 'install-docker
+            (lambda _
+              (invoke "make" "docker-docs" "install.docker-full"
+                      (string-append "PREFIX=" #$output:docker)
+                      (string-append "ETCDIR=" #$output:docker "/etc")))))))
     (inputs
      (list bash-minimal
            btrfs-progs
@@ -553,12 +568,15 @@ (define-public podman
      (list (package/inherit grep
              (inputs (list pcre2)))     ; Drop once grep on master supports -P
            bats
+           gettext-minimal
            git
            go-1.22
            go-github-com-go-md2man
            mandoc
            pkg-config
            python))
+    (outputs '("out"
+               "docker")) ; Emulate Docker CLI
     (home-page "https://podman.io")
     (synopsis "Manage containers, images, pods, and their volumes")
     (description

base-commit: c6d15cf27a137051ccd8f301330a70dd0eecc3d4
-- 
2.46.0