Buildah is fundamentally similar to podman and provides its own Makefile.
This commit switches from go-build-system to gnu-build-system so that the
build can be done using `make' instead of reinvention some parts (like
documentation) in the guile. The package pretty much follows how podman
package looks like.
* gnu/packages/containers.scm (buildah)[source]: Reformat.
[build-system]: Use gnu-build-system.
[arguments]<#:import-path, #:unpack-path, #:go, #:install-source?>: Delete.
<#:make-flags>: Set make flags.
<#:test-target>: Set, even though the tests are disabled.
<#:imported-modules>: Also import (guix build go-build-system) for the
remove-go-references phase.
<#:phases>{'prepare-install-docs, 'build-docs, 'install-docs}: Delete.
{'configure}: Delete.
{'set-env, 'check, 'symlink-helpers, 'wrap-buildah, 'remove-go-references}
{'install-completions}: New phases.
[inputs]: Remove no longer used cni-plugins, conmon, runc. Add bash-minimal.
[native-inputs]: Remove gnu-make, add go-1.21 and bats.
Change-Id: I0ddd5febb0116a71a857e2a98a9951dbe8bd40d9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Substantial rework of the podman package. The source is no longer patched (at
all) and all necessary modifications were moved into wrap-program and phases.
Not everything is supported out of the box, but description mentions what
packages to install to get additional functionality working.
* gnu/packages/containers.scm (podman)[source]: Remove snippet and patches.
[arguments]<#:make-flags>: Add HELPER_BINARIES_DIR. Add GOMD2MAN to actually
use go-github-com-go-md2man package instead of the bundled version.
<#:imported-modules>: Add (guix build go-build-system).
<#:phases>{'set-env}: Set `CC' as an environment variable due to bug in make
before 4.4.
{'fix-hardcoded-paths}: Remove everything except patching `libexec' and `lib'
locations.
{'symlink-helpers}: New phase symlinking tools not discoverable via $PATH into
one directory (`HELPER_BINARIES_DIR').
{'wrap-podman}: New phase wrapping `podman' to set correct $PATH.
{'remove-go-references}: New phase stripping references to the golang
toolchain from the binaries.
[inputs]: Remove no longer needed cni-plugins, slirp4netns. Remove referenced
in 'wrap-podman conmon, crun, iptables, passt. Move go-github-com-go-md2man
into native-inputs. Add bash-minimal.
[native-inputs]: Add custom grep with supported -P. Use newer go. Add
mandoc.
[description]: Explain how to get `podman compose' and `podman machine'
working.
* gnu/packages/patches/podman-program-lookup.patch: Delete file.
Change-Id: Ifc28971a68751831d781517b041eec951a617087
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This is handled automatically by go-build-system, but (obviously) not by the
gnu-build-system, so add the phase manually.
* gnu/packages/containers.scm (gvisor-tap-vsock)[arguments]<#:phases>: Add
'remove-go-references phase.
Change-Id: I5cef0bc03dfa7f219bdfec4226d0e7772401a5a5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
cgroup2 is now the default type.
* gnu/packages/containers.scm (podman): Drop the comment.
Change-Id: I197ed7e4901b26ad820295ed7adcaffd7bf533f5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
* gnu/packages/containers.scm (distrobox): Use WRAP-SCRIPT to patch the
scripts to use system wget and podman.
Change-Id: Ida9affcb212f64892e85dfa8bc4dd4d59f832f4f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The release package provides the configured version, so there is no need
to use git commit to adjust version detection.
* gnu/packages/containers.scm (crun): Remove let and indent the package.
[arguments] <#:phases>: Remove 'do-no-depend-on-git phase as the package
includes release version.
Change-Id: Ie50fe1f5f8ed69a77e353033679bfd98db6e56f4
Since upstream does provide properly packaged source archives, the fetch
method was switched from git to url.
* gnu/packages/containers.scm (crun): Update to 1.14.1.
Change-Id: I566d8742b1a3db75aefaa51032e09130a8307a61
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
'quadlet' and 'rootlessport' coming with podman reside in
"#$output/libexex/podman", not in "#$output/bin". Thus search this
first.
* gnu/packages/containers.scm (podman)[phases]<fix-hardcoded-paths>:
Change subsitution for "/usr/local/libexec/podman", add substitution
for "/usr/local/lib/podman".
* gnu/packages/containers.scm (distrobox)[arguments]: Change refer-to-inputs
phase to not substitute in man pages.
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>