guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Zongyuan Li
Subject: [bug#61680] [PATCH] gnu: podman: Add 'docker' alias script as 'docker' output
Date: Tue, 21 Feb 2023 14:34:24 +0000

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

Signed-off-by: Zongyuan Li <zongyuan.li@c0x0o.me>
---
 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)







reply via email to

[Prev in Thread] Current Thread [Next in Thread]