From dce83af980b12f88e188c34f57fe96f8f02e4463 Mon Sep 17 00:00:00 2001 From: Jean-Francois GUILLAUME Date: Wed, 8 Feb 2023 20:20:11 +0000 Subject: [PATCH] updating podman to 4.4.0 --- glicid/packages/containers.scm | 242 ++++++++++----------------------- 1 file changed, 73 insertions(+), 169 deletions(-) diff --git a/glicid/packages/containers.scm b/glicid/packages/containers.scm index f8dd3bb..1e94e9b 100644 --- a/glicid/packages/containers.scm +++ b/glicid/packages/containers.scm @@ -1,172 +1,76 @@ (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)) + #:use-module (guix download) + #:use-module (guix git-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 python) + #: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")))))) + (package + (name "podman") + (version "4.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containers/podman") + (commit (string-append "v" version)))) + (sha256 (base32 "0v1zcb2v7b8k2aw30bws1ir94daw1llc4gfx3rfja25vqhvqw9wk")) + (modules '((guix build utils))) + (snippet '(begin + (substitute* "Makefile" ((".*hack/btrfs.*") "")) + ; we build without doc + (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")))))) + (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 'install 'install-completions + (lambda _ + (invoke "make" "install.completions" + (string-append "PREFIX=" #$output))))))) + (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-1.18 pkg-config python)) + (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)))