Merge branch 'devel' into 'main'

custom build for podman to remove docs that prevent podman from building

See merge request glicid-public/guix-glicid!119
This commit is contained in:
Jean-François GUILLAUME 2022-11-16 10:51:33 +00:00
commit 2d77892cc3

View file

@ -1,13 +1,96 @@
(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
(inherit gnu:podman)
(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