commit: b26536ec91a2fb6a1dcaf33b7882e45b7a7b47b2 Author: Rahil Bhimjiani <me <AT> rahil <DOT> website> AuthorDate: Tue Dec 12 11:09:05 2023 +0000 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org> CommitDate: Wed Dec 13 07:49:07 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b26536ec
net-misc/passt: User-mode networking daemons for VMs and namespaces Replacement or alternative to Slirp4netns Closes: https://bugs.gentoo.org/915776 Signed-off-by: Rahil Bhimjiani <me <AT> rahil.website> Closes: https://github.com/gentoo/gentoo/pull/34249 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org> net-misc/passt/Manifest | 1 + net-misc/passt/metadata.xml | 23 +++++++++++++++++++++++ net-misc/passt/passt-2023.12.04.ebuild | 29 +++++++++++++++++++++++++++++ net-misc/passt/passt-9999.ebuild | 29 +++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+) diff --git a/net-misc/passt/Manifest b/net-misc/passt/Manifest new file mode 100644 index 000000000000..e6eeb6a6ea6f --- /dev/null +++ b/net-misc/passt/Manifest @@ -0,0 +1 @@ +DIST passt-2023.12.04.tar.xz 188136 BLAKE2B f1d72fbb4bbb25f6a11e9ff87a91cf9bac06e047b8cb9a8b40402ced1422c23b105fa7e64646698d38ad747efa449c34cfdaecf492a3e4984114cbcf60656cdc SHA512 febd9fa22363438b52b2688481183d81c22966e1775139fc559dbfa50437c9b00ba09800db867738d25fcea8ac05d4589b75dcd2d0c88eeffefc0598d4236001 diff --git a/net-misc/passt/metadata.xml b/net-misc/passt/metadata.xml new file mode 100644 index 000000000000..142a4c26b564 --- /dev/null +++ b/net-misc/passt/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>me@rahil.website</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-ma...@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + passt implements a translation layer between a Layer-2 network interface and native Layer-4 sockets (TCP, UDP, ICMP/ICMPv6 echo) on a host. It doesn't require any capabilities or privileges, and it can be used as a simple replacement for Slirp. + + pasta (same binary as passt, different command) offers equivalent functionality, for network namespaces: traffic is forwarded using a tap interface inside the namespace, without the need to create further interfaces on the host, hence not requiring any capabilities or privileges. + + qrap is a wrapper, designed specifically for usage with qemu(1) and passt(1), connecting a UNIX domain socket to a file descriptor, and running qemu(1) with given arguments. + </longdescription> + <upstream> + <bugs-to>https://passt.top/passt/bugs</bugs-to> + <doc>https://passt.top/passt/about/</doc> + </upstream> +</pkgmetadata> diff --git a/net-misc/passt/passt-2023.12.04.ebuild b/net-misc/passt/passt-2023.12.04.ebuild new file mode 100644 index 000000000000..5683bd6f8693 --- /dev/null +++ b/net-misc/passt/passt-2023.12.04.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="User-mode networking daemons for VMs and namespaces, replacement for Slirp" +HOMEPAGE="https://passt.top/" + +RELEASE_COMMIT="b86afe3" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="git://passt.top/passt" +else + SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" + S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" + KEYWORDS="~amd64" +fi + +LICENSE="BSD GPL-2+" +SLOT="0" +IUSE="static" + +src_compile() { + [[ ${PV} != 9999* ]] && export VERSION="${PV}" + export prefix="${EPREFIX}/usr" docdir="${EPREFIX}/usr/share/doc/${P}" + + emake $(usev static) +} diff --git a/net-misc/passt/passt-9999.ebuild b/net-misc/passt/passt-9999.ebuild new file mode 100644 index 000000000000..5683bd6f8693 --- /dev/null +++ b/net-misc/passt/passt-9999.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="User-mode networking daemons for VMs and namespaces, replacement for Slirp" +HOMEPAGE="https://passt.top/" + +RELEASE_COMMIT="b86afe3" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="git://passt.top/passt" +else + SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" + S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" + KEYWORDS="~amd64" +fi + +LICENSE="BSD GPL-2+" +SLOT="0" +IUSE="static" + +src_compile() { + [[ ${PV} != 9999* ]] && export VERSION="${PV}" + export prefix="${EPREFIX}/usr" docdir="${EPREFIX}/usr/share/doc/${P}" + + emake $(usev static) +}