Unverified Commit f955c923 authored by Pascal Bach's avatar Pascal Bach Committed by GitHub
Browse files

Merge pull request #265409 from 8aed/patch-init-passt

init: passt at 2023_11_10
parents 47afcfe5 48562415
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -224,6 +224,12 @@
    githubId = 12578560;
    name = "Quinn Bohner";
  };
  _8aed = {
    email = "8aed@riseup.net";
    github = "8aed";
    githubId = 140662578;
    name = "Huit Aed";
  };
  _8-bit-fox = {
    email = "sebastian@markwaerter.de";
    github = "8-bit-fox";
+41 −0
Original line number Diff line number Diff line
{ stdenv, lib, fetchgit }:

stdenv.mkDerivation {
  pname = "passt";
  version = "0.2023_11_10.5ec3634";
  src = fetchgit {
    url = "git://passt.top/passt";
    rev = "5ec3634b07215337c2e69d88f9b1d74711897d7d";
    hash = "sha256-76CD9PYD/NcBkmRYFSZaYl381QJjuWo0VsNdh31d6/M=";
  };
  nativeBuildInputs = [ ];
  buildInputs = [];
  installPhase = ''
    runHook preInstall
    mkdir -p $out/bin $out/share/man/man1
    cp passt pasta qrap $out/bin/
    cp passt.1 pasta.1 qrap.1 $out/share/man/man1/
  '' + (lib.optionalString stdenv.hostPlatform.avx2Support ''
    cp passt.avx2 pasta.avx2 $out/bin/
    runHook postInstall
  '');
  meta = with lib; {
    homepage = "https://passt.top/passt/about/";
    description = "Translation layer between a Layer-2 network interface and native Layer-4 sockets";
    longDescription = ''
      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.
    '';
    license = lib.licenses.gpl2Plus;
    platforms = platforms.linux;
    maintainers = with maintainers; [ _8aed ];
  };
}