diff mbox series

[bug#69074,v2,08/14] gnu: Add python-archinfo.

Message ID a26261c367807bd46669f3efb05b7079a1524206.1710101374.git.soeren@soeren-tempel.net
State New
Headers show
Series [bug#69074,v2,01/14] gnu: Add python-itanium-demangle. | expand

Commit Message

Sören Tempel March 10, 2024, 8:09 p.m. UTC
From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/emulators.scm (python-archinfo): New variable.
---
 gnu/packages/emulators.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 43af9804e5..28bb1ac3cf 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -66,6 +66,7 @@  (define-module (gnu packages emulators)
   #:use-module (gnu packages cross-base)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages digest)
+  #:use-module (gnu packages engineering)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fltk)
@@ -2619,6 +2620,33 @@  (define-public python-keystone-engine
 assembly for these architectures.")
     (license license:gpl2)))
 
+(define-public python-archinfo
+  (package
+    (name "python-archinfo")
+    ;; Must be the same version as python-angr.
+    (version "9.2.46")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "archinfo" version))
+       (sha256
+        (base32 "037xfq3wcf8ngayxz9623l4646m780v2102mfbygpzbkkjha1966"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-capstone python-keystone-engine))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (with-directory-excursion "tests"
+                          (invoke "python" "-m" "unittest"))))))))
+    (home-page "https://github.com/angr/archinfo")
+    (synopsis "Extract architecture-specific information from binaries")
+    (description
+     "Collection of classes that contain architecture-specific information
+information.  Useful for cross-architecture tools (such as @code{python-pyvex}).")
+    (license license:bsd-2)))
+
 (define-public emu8051
   (let ((commit "5dc681275151c4a5d7b85ec9ff4ceb1b25abd5a8")
         (revision "1"))