summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2016-01-12 11:57:25 +0100
committerDomen Kožar <domen@dev.si>2016-01-12 11:57:25 +0100
commitda1d9293f8cd900bd067a2c0469df070536774fd (patch)
tree290b6542aa448470bba2f5ae2ea71d54b8b8434e /pkgs
parent7fe71389680d3cf32b59c3973f39935bad98ff8c (diff)
parent573ec2d9ae732442766a887a88f33c88a4c63b18 (diff)
downloadnixpkgs-da1d9293f8cd900bd067a2c0469df070536774fd.tar
nixpkgs-da1d9293f8cd900bd067a2c0469df070536774fd.tar.gz
nixpkgs-da1d9293f8cd900bd067a2c0469df070536774fd.tar.bz2
nixpkgs-da1d9293f8cd900bd067a2c0469df070536774fd.tar.lz
nixpkgs-da1d9293f8cd900bd067a2c0469df070536774fd.tar.xz
nixpkgs-da1d9293f8cd900bd067a2c0469df070536774fd.tar.zst
nixpkgs-da1d9293f8cd900bd067a2c0469df070536774fd.zip
Merge pull request #12269 from zimbatm/sshuttle-0.73
sshuttle: 0.71 -> 0.73
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/security/sshuttle/default.nix50
-rw-r--r--pkgs/tools/security/sshuttle/sudo.patch13
2 files changed, 26 insertions, 37 deletions
diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix
index e085bfaaa91..831a815e787 100644
--- a/pkgs/tools/security/sshuttle/default.nix
+++ b/pkgs/tools/security/sshuttle/default.nix
@@ -1,54 +1,30 @@
-{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, pandoc
-, coreutils, iptables, nettools, openssh, procps,  pythonPackages }:
+{ stdenv, pythonPackages, fetchFromGitHub, makeWrapper, pandoc
+, coreutils, iptables, nettools, openssh, procps }:
   
-let version = "0.71"; in
-stdenv.mkDerivation rec {
+pythonPackages.buildPythonPackage rec {
+  version = "0.74";
   name = "sshuttle-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "0yr8nih97jg6azfj3k7064lfbh3g36l6vwyjlngl4ph6mgcki1cm";
-    rev = name;
+    sha256 = "1mx440wb1clis97nvgx67am9qssa3v11nb9irjzhnx44ygadhfcp";
+    rev = "v${version}";
     repo = "sshuttle";
     owner = "sshuttle";
   };
 
-  patches = [
-    (fetchpatch {
-      sha256 = "1yrjyvdz6k6zk020dmbagf8w49w8vhfbzgfpsq9jqdh2hbykv3m3";
-      url = https://github.com/sshuttle/sshuttle/commit/3cf5002b62650c26a50e18af8d8c5c91d754bab9.patch;
-    })
-    (fetchpatch {
-      sha256 = "091gg28cnmx200q46bcnxpp9ih9p5qlq0r3bxfm0f4qalg8rmp2g";
-      url = https://github.com/sshuttle/sshuttle/commit/d70b5f2b89e593506834cf8ea10785d96c801dfc.patch;
-    })
-    (fetchpatch {
-      sha256 = "17l9h8clqlbyxdkssavxqpb902j7b3yabrrdalybfpkhj69x8ghk";
-      url = https://github.com/sshuttle/sshuttle/commit/a38963301e9c29fbe3232f0a41ea080b642c5ad2.patch;
-    })
-  ];
+  patches = [ ./sudo.patch ];
 
+  propagatedBuildInputs = with pythonPackages; [ PyXAPI mock pytest ];
   nativeBuildInputs = [ makeWrapper pandoc ];
   buildInputs =
-    [ coreutils iptables nettools openssh procps pythonPackages.python ];
-  pythonPaths = with pythonPackages; [ PyXAPI ];
+    [ coreutils openssh ] ++
+    stdenv.lib.optionals stdenv.isLinux [ iptables nettools procps ];
 
-  preConfigure = ''
-    cd src
-  '';
-
-  installPhase = let
+  postInstall = let
     mapPath = f: x: stdenv.lib.concatStringsSep ":" (map f x);
   in ''
-    mkdir -p $out/share/sshuttle
-    cp -R sshuttle *.py compat $out/share/sshuttle
-
-    mkdir -p $out/bin
-    ln -s $out/share/sshuttle/sshuttle $out/bin
-    wrapProgram $out/bin/sshuttle \
-      --prefix PATH : "${mapPath (x: "${x}/bin") buildInputs}" \
-      --prefix PYTHONPATH : "${mapPath (x: "$(toPythonPath ${x})") pythonPaths}"
-
-    install -Dm644 sshuttle.8 $out/share/man/man8/sshuttle.8
+  wrapProgram $out/bin/sshuttle \
+    --prefix PATH : "${mapPath (x: "${x}/bin") buildInputs}" \
   '';
   
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/sshuttle/sudo.patch b/pkgs/tools/security/sshuttle/sudo.patch
new file mode 100644
index 00000000000..761bfaef852
--- /dev/null
+++ b/pkgs/tools/security/sshuttle/sudo.patch
@@ -0,0 +1,13 @@
+diff --git a/sshuttle/client.py b/sshuttle/client.py
+index 7a7b6d7..8dde615 100644
+--- a/sshuttle/client.py
++++ b/sshuttle/client.py
+@@ -158,7 +158,7 @@ class FirewallClient:
+     def __init__(self, method_name):
+         self.auto_nets = []
+         python_path = os.path.dirname(os.path.dirname(__file__))
+-        argvbase = ([sys.executable, sys.argv[0]] +
++        argvbase = ([sys.argv[0]] +
+                     ['-v'] * (helpers.verbose or 0) +
+                     ['--method', method_name] +
+                     ['--firewall'])