~ruther/guix-local

14a450ae218ee0d33d5a5a9650eba601df8321fc — Zhu Zihao 3 years ago 9f74add
gnu: podman: Use G-expressions.

* gnu/packages/containers.scm (podman)[arguments]: Use G-expressions.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 39 insertions(+), 35 deletions(-)

M gnu/packages/containers.scm
M gnu/packages/containers.scm => gnu/packages/containers.scm +39 -35
@@ 1,6 1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Timmy Douglas <mail@timmydouglas.com>
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 284,41 285,44 @@ configure network interfaces in Linux containers.")

    (build-system gnu-build-system)
    (arguments
     `(#: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 (assoc-ref %outputs "out") "/bin")))
                      (substitute* "vendor/github.com/containers/common/pkg/config/default.go"
                        (("/usr/libexec/podman/conmon") (which "conmon"))
                        (("/usr/local/libexec/cni")
                         (string-append (assoc-ref %build-inputs "cni-plugins")
                                        "/bin"))
                        (("/usr/bin/crun") (which "crun"))))))))
     (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"))))))))
    (inputs
     (list btrfs-progs
           cni-plugins