mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-04-30 06:08:37 +02:00
172 lines
6.8 KiB
Scheme
172 lines
6.8 KiB
Scheme
(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"))))))
|