diff options
Diffstat (limited to 'gnu/packages/containers.scm')
-rw-r--r-- | gnu/packages/containers.scm | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 985dea7bdb..b402bbde6a 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -26,6 +26,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) @@ -46,7 +47,8 @@ #:use-module (gnu packages selinux) #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (gnu packages wget)) (define-public crun (let ((commit "c381048530aa750495cf502ddb7181f2ded5b400")) @@ -153,6 +155,41 @@ manager (like Podman or CRI-O) and an Open Container Initiative (OCI) runtime (like runc or crun) for a single container.") (license license:asl2.0))) +(define-public distrobox + (package + (name "distrobox") + (version "1.4.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/89luca89/distrobox") + (commit version))) + (sha256 + (base32 "0gs81m1bvlyq6ad22zsdsw1q6s3agy79vx94kdf6zjzngbanlydk")) + (file-name (git-file-name name version)))) + (build-system copy-build-system) + (inputs + (list podman wget)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'install 'refer-to-inputs + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "." "^distrobox.*[^1]$") + (("podman") (search-input-file inputs "/bin/podman")) + (("wget") (search-input-file inputs "/bin/wget")) + (("command -v") "test -x")))) + (replace 'install + (lambda _ + (invoke "./install" "--prefix" #$output)))))) + (home-page "https://distrobox.privatedns.org/") + (synopsis "Create and start containers highly integrated with the hosts") + (description + "Distrobox is a fancy wrapper around Podman or Docker to create and start +containers highly integrated with the hosts.") + (license license:gpl3))) + (define-public libslirp (package (name "libslirp") @@ -274,15 +311,19 @@ configure network interfaces in Linux containers.") (define-public podman (package (name "podman") - (version "4.3.1") + (version "4.4.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/containers/podman") (commit (string-append "v" version)))) + (modules '((guix build utils))) + ;; FIXME: Btrfs libraries not detected by these scripts. + (snippet '(substitute* "Makefile" + ((".*hack/btrfs.*") ""))) (sha256 - (base32 "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h")) + (base32 "0qbr6rbyig3c2hvdvmd94jjkg820hpdz6j7dgyv62dl6wfwvj5jj")) (file-name (git-file-name name version)))) (build-system gnu-build-system) @@ -344,7 +385,7 @@ configure network interfaces in Linux containers.") (native-inputs (list bats git - go + go-1.19 ; strace ; XXX debug pkg-config python)) |