summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMateusz Kowalczyk <mk440@bath.ac.uk>2014-09-23 05:53:51 +0100
committerMateusz Kowalczyk <mk440@bath.ac.uk>2014-09-23 05:53:51 +0100
commitbffbed334384c2c770ced07d2be3146206e556cc (patch)
tree0b802cee4c57574742c994321a9efa5633b2b9cd /pkgs
parentebe9994c812d1de4474cc8ff20080d6ae9c5d85e (diff)
parentec1712a6010037a1da9b665536ba8dd69f52f6a2 (diff)
downloadnixpkgs-bffbed334384c2c770ced07d2be3146206e556cc.tar
nixpkgs-bffbed334384c2c770ced07d2be3146206e556cc.tar.gz
nixpkgs-bffbed334384c2c770ced07d2be3146206e556cc.tar.bz2
nixpkgs-bffbed334384c2c770ced07d2be3146206e556cc.tar.lz
nixpkgs-bffbed334384c2c770ced07d2be3146206e556cc.tar.xz
nixpkgs-bffbed334384c2c770ced07d2be3146206e556cc.tar.zst
nixpkgs-bffbed334384c2c770ced07d2be3146206e556cc.zip
Merge pull request #4203 from k0ral/binwalk
Added binwalk package, and its dependency pyqtgraph.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/misc/binwalk/default.nix32
-rw-r--r--pkgs/top-level/all-packages.nix14
-rw-r--r--pkgs/top-level/python-packages.nix20
3 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/tools/misc/binwalk/default.nix b/pkgs/tools/misc/binwalk/default.nix
new file mode 100644
index 00000000000..d3972dadd34
--- /dev/null
+++ b/pkgs/tools/misc/binwalk/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, python, wrapPython, curses, mtdutils, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
+, pyqtgraph ? null
+, visualizationSupport ? false }:
+
+assert visualizationSupport -> pyqtgraph != null;
+
+stdenv.mkDerivation rec {
+  version = "2.0.1";
+  name = "binwalk-${version}";
+
+  src = fetchFromGitHub {
+    owner = "devttys0";
+    repo = "binwalk";
+    rev = "v${version}";
+    sha256 = "1r5389lk3gk8y4ksrfljyb97l6pwnwvv8g1slbgr20avkzgw8zmn";
+  };
+
+  pythonPath = with stdenv.lib; [ curses ]
+               ++ optional visualizationSupport [ pyqtgraph ];
+
+  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses mtdutils zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
+                          ++ optional visualizationSupport [ pyqtgraph ];
+
+  postInstall = "wrapPythonPrograms";
+
+  meta = with stdenv.lib; {
+    homepage = "http://binwalk.org";
+    description = "A tool for searching a given binary image for embedded files";
+    platforms = platforms.all;
+    maintainers = maintainers.koral;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b0b9b236f08..096f0a1b3f6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -589,6 +589,20 @@ let
 
   bindfs = callPackage ../tools/filesystems/bindfs { };
 
+  binwalk = callPackage ../tools/misc/binwalk {
+    python = pythonFull;
+    wrapPython = pythonPackages.wrapPython;
+    curses = pythonPackages.curses;
+  };
+
+  binwalk-full = callPackage ../tools/misc/binwalk {
+    python = pythonFull;
+    wrapPython = pythonPackages.wrapPython;
+    curses = pythonPackages.curses;
+    visualizationSupport = true;
+    pyqtgraph = pythonPackages.pyqtgraph;
+  };
+
   bitbucket-cli = pythonPackages.bitbucket-cli;
 
   blockdiag = pythonPackages.blockdiag;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9f64c9ceb4f..db7f48b05d9 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6608,6 +6608,26 @@ let
     };
   });
 
+  pyqtgraph = buildPythonPackage rec {
+    name = "pyqtgraph-${version}";
+    version = "0.9.8";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyqtgraph/${name}.tar.gz";
+      sha256 = "1fnhj26d9qrqqmjx092m1qspclh3mia3vag7rji5wciw0plpszi5";
+    };
+
+    propagatedBuildInputs = [ scipy numpy pyqt4 pyopengl ];
+
+    meta = with stdenv.lib; {
+      description = "Scientific Graphics and GUI Library for Python";
+      homepage = http://www.pyqtgraph.org/;
+      license = licenses.mit;
+      platforms = platforms.unix;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
   pyro3 = buildPythonPackage (rec {
     name = "Pyro-3.16";
     disabled = isPy3k;