From b9f53fd551f9404b6922602b4da9d3b063f6f376 Mon Sep 17 00:00:00 2001 From: lodi Date: Wed, 14 Feb 2024 17:07:14 -0500 Subject: namespaced-openvpn: init at 0.6.0 --- .../networking/namespaced-openvpn/default.nix | 52 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 54 insertions(+) create mode 100644 pkgs/tools/networking/namespaced-openvpn/default.nix (limited to 'pkgs') diff --git a/pkgs/tools/networking/namespaced-openvpn/default.nix b/pkgs/tools/networking/namespaced-openvpn/default.nix new file mode 100644 index 000000000000..abcf006b7641 --- /dev/null +++ b/pkgs/tools/networking/namespaced-openvpn/default.nix @@ -0,0 +1,52 @@ +{ lib, + fetchFromGitHub, + buildPythonPackage, + openvpn, + iproute2, + iptables, + util-linux +}: + +buildPythonPackage rec { + pname = "namespaced-openvpn"; + version = "0.6.0"; + format = "other"; + + src = fetchFromGitHub { + owner = "slingamn"; + repo = pname; + rev = "a3fa42b2d8645272cbeb6856e26a7ea9547cb7d1"; + sha256 = "+Fdaw9EGyFGH9/DSeVJczS8gPzAOv+qn+1U20zQBBqQ="; + }; + + buildInputs = [ openvpn iproute2 util-linux ]; + + postPatch = '' + substituteInPlace namespaced-openvpn \ + --replace-fail "/usr/sbin/openvpn" "${openvpn}/bin/openvpn" \ + --replace-fail "/sbin/ip" "${iproute2}/bin/ip" \ + --replace-fail "/usr/bin/nsenter" "${util-linux}/bin/nsenter" \ + --replace-fail "/bin/mount" "${util-linux}/bin/mount" \ + --replace-fail "/bin/umount" "${util-linux}/bin/umount" + + substituteInPlace seal-unseal-gateway \ + --replace-fail "/sbin/iptables" "${iptables}/bin/iptables" + ''; + + dontBuild = true; + doCheck = false; + + installPhase = '' + mkdir -p $out/bin + cp namespaced-openvpn seal-unseal-gateway $out/bin + ''; + + meta = with lib; { + homepage = "https://github.com/slingamn/namespaced-openvpn"; + description = "Network namespace isolation for OpenVPN tunnels."; + license = licenses.mit; + maintainers = [ maintainers.lodi ]; + platforms = platforms.linux; + mainProgram = "namespaced-openvpn"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index caaeccf78133..2e7761a5a4b1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11648,6 +11648,8 @@ with pkgs; stdenv = clangStdenv; }; + namespaced-openvpn = python3Packages.callPackage ../tools/networking/namespaced-openvpn { }; + oq = callPackage ../development/tools/oq { }; out-of-tree = callPackage ../development/tools/out-of-tree { }; -- cgit 1.4.1