Subject: bug#61680: closed (merged podman:docker to guix master)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 23 Dec 2024 10:45:02 +0000

Your bug report

#61680: [PATCH] gnu: podman: Add 'docker' alias script as 'docker' output

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61680: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61680
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: merged podman:docker to guix master
From: "Danny Milosavljevic" <[email-masked]>
To: [email-masked]
Date: Mon, 23 Dec 2024 11:44:49 +0100 (CET)
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

I've merged a variant of that patch to guix master as commit 66f64e0ee81143f8273ecd5a99e8303034278b5d.

Subject: [PATCH] gnu: podman: Add 'docker' alias script as 'docker' output
From: Zongyuan Li <[email-masked]>
To: [email-masked]
Cc: Zongyuan Li <[email-masked]>
Date: Tue, 21 Feb 2023 14:34:24 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/containers.scm: New 'docker' output for podman

Signed-off-by: Zongyuan Li <[email-masked]>
---
 gnu/packages/containers.scm | 157 +++++++++++++++++++-----------------
 1 file changed, 83 insertions(+), 74 deletions(-)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 272b67c38d..80c4aaa400 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -312,83 +312,92 @@ (define-public podman
   (package
     (name "podman")
     (version "4.3.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/containers/podman")
-             (commit (string-append "v" version))))
-       (modules '((guix build utils)))
-       ;; FIXME: Btrfs libraries not detected by these scripts.
-       (snippet '(substitute* "Makefile"
-                   ((".*hack/btrfs.*") "")))
-       (sha256
-        (base32 "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
-       (file-name (git-file-name name version))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/podman")
+                    (commit (string-append "v" version))))
+              (modules '((guix build utils)))
+              ;; FIXME: Btrfs libraries not detected by these scripts.
+              (snippet '(substitute* "Makefile"
+                          ((".*hack/btrfs.*")
+                           "")))
+              (sha256
+               (base32
+                "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
+              (file-name (git-file-name name version))))

     (build-system gnu-build-system)
+    (outputs '("out" "docker"))
     (arguments
-     (list
-      #:make-flags
-      #~(list #$(string-append "CC=" (cc-for-target))
-              (string-append "PREFIX=" #$output))
-      #:tests? #f                  ; /sys/fs/cgroup not set up in guix sandbox
-      #:test-target "test"
-      #:phases
-      #~(modify-phases %standard-phases
-          (delete 'configure)
-          (add-after 'unpack 'set-env
-            (lambda* (#:key inputs #:allow-other-keys)
-              ;; when running go, things fail because
-              ;; HOME=/homeless-shelter.
-              (setenv "HOME" "/tmp")))
-          (replace 'check
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                ;; (invoke "strace" "-f" "bin/podman" "version")
-                (invoke "make" "localsystem")
-                (invoke "make" "remotesystem"))))
-          (add-after 'unpack 'fix-hardcoded-paths
-            (lambda _
-              (substitute* (find-files "libpod" "\\.go")
-                (("exec.LookPath[(][\"]slirp4netns[\"][)]")
-                 (string-append "exec.LookPath(\""
-                                (which "slirp4netns") "\")")))
-              (substitute* "hack/install_catatonit.sh"
-                (("CATATONIT_PATH=\"[^\"]+\"")
-                 (string-append "CATATONIT_PATH=" (which "true"))))
-              (substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
-                (("/usr/local/libexec/podman")
-                 (string-append #$output "/bin")))
-              (substitute* "vendor/github.com/containers/common/pkg/config/default.go"
-                (("/usr/libexec/podman/conmon") (which "conmon"))
-                (("/usr/local/libexec/cni")
-                 (string-append #$(this-package-input "cni-plugins")
-                                "/bin"))
-                (("/usr/bin/crun") (which "crun")))))
-          (add-after 'install 'install-completions
-            (lambda _
-              (invoke "make" "install.completions"
-                      (string-append "PREFIX=" #$output)))))))
-    (inputs
-     (list btrfs-progs
-           cni-plugins
-           conmon
-           crun
-           gpgme
-           go-github-com-go-md2man
-           iptables
-           libassuan
-           libseccomp
-           libselinux
-           slirp4netns))
-    (native-inputs
-     (list bats
-           git
-           go
-           ; strace ; XXX debug
-           pkg-config
-           python))
+     (list #:make-flags #~(list #$(string-append "CC="
+                                                 (cc-for-target))
+                                (string-append "PREFIX="
+                                               #$output))
+           #:tests? #f ;/sys/fs/cgroup not set up in guix sandbox
+           #:test-target "test"
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (add-after 'unpack 'set-env
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (setenv "HOME" "/tmp")))
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "make" "localsystem")
+                              (invoke "make" "remotesystem"))))
+                        (add-after 'unpack 'fix-hardcoded-paths
+                          (lambda* (#:key outputs #:allow-other-keys)
+                            (substitute* (find-files "libpod" "\\.go")
+                              (("exec.LookPath[(][\"]slirp4netns[\"][)]")
+                               (string-append "exec.LookPath(\""
+                                              (which "slirp4netns") "\")")))
+                            (substitute* "hack/install_catatonit.sh"
+                              (("CATATONIT_PATH=\"[^\"]+\"")
+                               (string-append "CATATONIT_PATH="
+                                              (which "true"))))
+                            (substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
+                              (("/usr/local/libexec/podman")
+                               (string-append #$output "/bin")))
+                            (substitute* "vendor/github.com/containers/common/pkg/config/default.go"
+                              (("/usr/libexec/podman/conmon")
+                               (which "conmon"))
+                              (("/usr/local/libexec/cni")
+                               (string-append #$(this-package-input
+                                                 "cni-plugins") "/bin"))
+                              (("/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")) #t)))
+                        (add-after 'install 'install-completions
+                          (lambda _
+                            (invoke "make" "install.completions"
+                                    (string-append "PREFIX="
+                                                   #$output)))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  crun
+                  gpgme
+                  go-github-com-go-md2man
+                  iptables
+                  libassuan
+                  libseccomp
+                  libselinux
+                  slirp4netns))
+    (native-inputs (list bats
+                         git
+                         go
+                         ;; strace ; XXX debug
+                         pkg-config
+                         python))
     (home-page "https://podman.io")
     (synopsis "Manage containers, images, pods, and their volumes")
     (description
--
2.37.1 (Apple Git-137.1)