(define-module (glicid packages containers) #:use-module (guix download) #:use-module (guix packages) #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module ((gnu packages containers) #:prefix gnu:) #:use-module (gnu packages linux) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) #:use-module (gnu packages selinux) #:use-module (gnu packages bash) #:use-module (gnu packages version-control) #:use-module (gnu packages pkg-config) #:use-module (guix utils) #:use-module (guix build-system gnu)) (define-public podman (package (name "podman") (version "4.3.1") (source (origin (method url-fetch) (uri (list (string-append "https://github.com/containers/podman/archive/refs/tags/v" version ".tar.gz"))) (sha256 (base32 "04w8lwybsxix4ms6gnsj2xp4xkm567fj0vnlwmjn7kbqxv22jp25")))) (home-page "https://podman.io") (synopsis "Manage containers, images, pods, and their volumes") (description "Podman (the POD MANager) is a tool for managing containers and images, volumes mounted into those containers, and pods made from groups of containers.") (license license:asl2.0) (inputs (list btrfs-progs gnu:cni-plugins gnu:conmon gnu:crun gpgme go-github-com-go-md2man iptables libassuan libseccomp libselinux gnu:slirp4netns)) (native-inputs (list bats git go pkg-config)) (build-system gnu-build-system) (arguments (list #:make-flags #~(list #$(string-append "CC=" (cc-for-target)) (string-append "PREFIX=" #$output)) #:tests? #f #: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 _ (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 'unpack 'build-no-docs (lambda _ (substitute* "Makefile" (("all: binaries docs") "all: binaries")) (substitute* "Makefile" (("install: install.bin install.remote install.man install.systemd") "install: install.bin install.remote install.systemd")))) (add-after 'install 'install-completions (lambda _ (invoke "make" "install.completions" (string-append "PREFIX=" #$output))))))))) (define-public podman-4.3.0 (package (inherit podman) (name "podman") (version "4.3.0") (source (origin (method url-fetch) (uri (list (string-append "https://github.com/containers/podman/archive/refs/tags/v" version ".tar.gz"))) (sha256 (base32 "0d5zfi6drac23vb2la2v5s2g27hbz9wgiyvlxfm7hgzjh2ds18sm")))))) ;; YD : now uptreamed… ;(define-public podman-4.2.1 ; (package ; (inherit gnu:podman) ; (name "podman") ; (version "4.2.1") ; (source (origin ; (method url-fetch) ; (uri (list ; (string-append "https://github.com/containers/podman/archive/refs/tags/v" version ".tar.gz") ; )) ; (sha256 (base32 "1wqxiln5p29qq92317m7mllalgk2dy7fqrh48pd2hmcz3blh805i")) ; )) ; ) ;) (define-public podman-4.2.0 (package (inherit gnu:podman) (name "podman") (version "4.2.0") (source (origin (method url-fetch) (uri (list (string-append "https://github.com/containers/podman/archive/refs/tags/v" version ".tar.gz"))) (sha256 (base32 "1x5jmmz78ggnlyidc0ivcghpkysd4zkm598jjbf9gkaw09cvry0m")))))) (define-public podman-4.1.1 (package (inherit gnu:podman) (name "podman") (version "4.1.1") (source (origin (method url-fetch) (uri (list (string-append "https://github.com/containers/podman/archive/refs/tags/v" version ".tar.gz"))) (sha256 (base32 "198hdf8wg50zcgrl3982yj3xd227224r7mgb135r9vmgn7lk5gr7")))))) (define-public podman-4.1.0 (package (inherit gnu:podman) (name "podman") (version "4.1.0") (source (origin (method url-fetch) (uri (list (string-append "https://github.com/containers/podman/archive/refs/tags/v" version ".tar.gz"))) (sha256 (base32 "158fyxv2hd1nwirabrwxascl9lkdphhv0knwrk0qdm0ifcmf257q"))))))