diff mbox series

[bug#69131,v2,1/2] gnu: Add passt.

Message ID f7bb5c3dd8a93c048c0336c23b7aaf03bff2e5b6.1708118067.git.~@wolfsden.cz
State New
Headers show
Series [bug#69131,v2,1/2] gnu: Add passt. | expand

Commit Message

Tomas Volf Feb. 16, 2024, 9:14 p.m. UTC
* gnu/packages/containers.scm (passt): New variable.

Change-Id: I2ebdd9d4255a89a86fb196568215b74bb61cb3a6
---
 gnu/packages/containers.scm | 40 +++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)


base-commit: 7142f6df77bfac4fdc8da65a7caae915df945a8b

Comments

Ludovic Courtès March 2, 2024, 4:25 p.m. UTC | #1
Hi,

Tomas Volf <~@wolfsden.cz> skribis:

> * gnu/packages/containers.scm (passt): New variable.

Applied.

Tomas Volf <~@wolfsden.cz> skribis:

> * gnu/packages/containers.scm (podman): Update to 4.9.3.
> * gnu/packages/patches/podman-Modify-search-for-binaries-to-fit-Guix-model.patch:
> New patch.
> * gnu/local.mk (dist_patch_DATA): Register it.
>
> Change-Id: If764e8456a697d16b76cd4ba1243cc5f633a6049

Applied.  I took the liberty to rename the patch to something shorter,
in accordance with ‘guix lint’.

Thanks!

Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 2b5acdc3bc..5b79e8a446 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -248,6 +248,46 @@  (define-public slirp4netns
 network namespaces.")
     (license license:gpl2+)))
 
+(define-public passt
+  (package
+    (name "passt")
+    (version "2023_12_30.f091893")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://passt.top/passt/snapshot/passt-" version
+                           ".tar.gz"))
+       (sha256
+        (base32 "1nyd4h93qlxn1r01ffijpsd7r7ny62phki5j58in8gz021jj4f3d"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:make-flags
+      #~(list (string-append "CC=" #$(cc-for-target))
+              "RLIMIT_STACK_VAL=1024"   ; ¯\_ (ツ)_/¯
+              (string-append "VERSION=" #$version)
+              (string-append "prefix=" #$output))
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure))))
+    (home-page "https://passt.top")
+    (synopsis "Plug A Simple Socket Transport")
+    (description
+     "passt implements a thin layer between guest and host, that only
+implements what's strictly needed to pretend processes are running locally.
+The TCP adaptation doesn't keep per-connection packet buffers, and reflects
+observed sending windows and acknowledgements between the two sides.  This TCP
+adaptation is needed as passt runs without the CAP_NET_RAW capability: it
+can't create raw IP sockets on the pod, and therefore needs to map packets at
+Layer-2 to Layer-4 sockets offered by the host kernel.
+
+Also provides pasta, which similarly to slirp4netns, provides networking to
+containers by creating a tap interface available to processes in the
+namespace, and mapping network traffic outside the namespace using native
+Layer-4 sockets.")
+    (license (list license:gpl2+ license:bsd-3))))
+
 (define-public cni-plugins
   (package
     (name "cni-plugins")