gnu: Add python-binwalk.
authorVagrant Cascadian <vagrant@debian.org>
Thu, 19 Sep 2019 17:23:47 +0000 (10:23 -0700)
committerVagrant Cascadian <vagrant@debian.org>
Thu, 19 Sep 2019 17:56:33 +0000 (10:56 -0700)
* gnu/packages/python-xyz (python-binwalk): New variable.
* gnu/packages/diffoscope (diffoscope)[native-inputs]: Add python-binwalk for
  tests.

gnu/packages/diffoscope.scm
gnu/packages/python-xyz.scm

index 59a1520..17a2d21 100644 (file)
       ;; Below are modules used for tests.
       (native-inputs `(("python-pytest" ,python-pytest)
                        ("python-chardet" ,python-chardet)
+                       ("python-binwalk" ,python-binwalk)
                        ;; test suite skips tests when tool is missing
                        ("abootimg" ,abootimg)
                        ("bdb" ,bdb)
index 5c261cc..601e4b1 100644 (file)
@@ -10868,6 +10868,42 @@ binary or text.")
        `(("python2-enum34" ,python2-enum34)
          ,@(package-propagated-inputs base))))))
 
+(define-public python-binwalk
+  (let ((commit "64201acfb5b0a9cdd9faa58c40a36dcff8612e29")
+        (revision "0"))
+    (package
+      (name "python-binwalk")
+      (version (git-version "2.1.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ReFirmLabs/binwalk")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1z7ca6rfp887hw5jc3sb45mm4fa0xid4lsp2z8g4r590dr7k7w15"))))
+      (build-system python-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-before 'check 'set-pythonpath
+             (lambda _
+               (setenv "PYTHONPATH"
+                       (string-append
+                        (getcwd) "/src/"
+                        ":" (getenv "PYTHONPATH")))
+               (setenv "HOME" "")
+               #t)))))
+      (native-inputs
+       `(("python-coverage" ,python-coverage)
+         ("python-nose" ,python-nose)))
+      (home-page "https://github.com/ReFirmLabs/binwalk")
+      (synopsis "Firmware analysis tool")
+      (description "Binwalk is a tool for analyzing, reverse engineering, and extracting firmware images")
+      (license license:expat))))
+
 (define-public python-nltk
   (package
     (name "python-nltk")