summary refs log tree commit diff
path: root/pkgs/development/python-modules/scapy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/scapy/default.nix')
-rw-r--r--pkgs/development/python-modules/scapy/default.nix22
1 files changed, 14 insertions, 8 deletions
diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix
index 1f4a34d18a3..d7b2a827f7d 100644
--- a/pkgs/development/python-modules/scapy/default.nix
+++ b/pkgs/development/python-modules/scapy/default.nix
@@ -1,30 +1,36 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, isPyPy
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k, pythonOlder
 , matplotlib, pycrypto, ecdsa
-# Python3: pyx
+, enum34, mock
 }:
 
 buildPythonPackage rec {
   pname = "scapy";
-  version = "2.3.3";
+  version = "2.4.0";
   name = pname + "-" + version;
 
-  disabled = isPy3k || isPyPy;
+  disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "secdev";
     repo = "scapy";
     rev = "v${version}";
-    sha256 = "1c22407vhksnhc0rwrslnp9zy05qmk2zmdm2imm3iw7g6kx7gak1";
+    sha256 = "0dw6kl1qi9bf3rbm79gb1h40ms8y0b5dbmpip841p2905d5r2isj";
   };
 
-  # Temporary workaround, only needed for 2.3.3
+  # TODO: Temporary workaround
   patches = [ ./fix-version-1.patch ./fix-version-2.patch ];
 
-  propagatedBuildInputs = [ matplotlib pycrypto ecdsa ];
+  propagatedBuildInputs =
+    [ matplotlib pycrypto ecdsa ]
+    ++ lib.optional (isPy3k && pythonOlder "3.4") [ enum34 ]
+    ++ lib.optional doCheck [ mock ];
+
+  # Tests fail with Python 3.6 (seems to be an upstream bug, I'll investigate)
+  doCheck = if isPy3k then false else true;
 
   meta = with stdenv.lib; {
     description = "Powerful interactive network packet manipulation program";
-    homepage = http://www.secdev.org/projects/scapy/;
+    homepage = https://scapy.net/;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos bjornfor ];