diff mbox series

[bug#52174,v3,4/6] gnu: add slirp4netns

Message ID 1061553b8c9ab0ece4fa3f53d534dd052c9d1a71.1640158278.git.mail@timmydouglas.com
State Accepted
Headers show
Series [bug#52174,v3,1/6] gnu: add crun | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Timmy Douglas Dec. 22, 2021, 7:33 a.m. UTC
* gnu/packages/containers.scm (slirp4netns): New variable.
---
 gnu/packages/containers.scm | 40 +++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 7ba39b5c69..5e540bcfe4 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -173,3 +173,43 @@  (define-public libslirp
      "libslirp is a user-mode networking library used by virtual machines,
 containers or various tools.")
     (license license:bsd-3)))
+
+(define-public slirp4netns
+  (package
+    (name "slirp4netns")
+    (version "1.1.12")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rootless-containers/slirp4netns")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "03llv4dlf7qqxwz4zdyk926g4bigfj2gb50glm70ciflpvzs8081"))
+       (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; XXX: open("/dev/net/tun"): No such file or directory
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'fix-hardcoded-paths
+                    (lambda _
+                      (substitute* (find-files "tests" "\\.sh")
+                        (("ping") "/run/setuid-programs/ping")))))))
+    (inputs
+     (list glib
+           libcap
+           libseccomp
+           libslirp))
+    (native-inputs
+     (list automake
+           autoconf
+           iproute ; iproute, jq, nmap (ncat) and util-linux are for tests
+           jq
+           nmap
+           pkg-config
+           util-linux))
+    (home-page "https://github.com/rootless-containers/slirp4netns")
+    (synopsis "User-mode networking for unprivileged network namespaces")
+    (description
+     "slirp4netns provides user-mode networking (\"slirp\") for unprivileged network namespaces.")
+    (license license:gpl2+)))