summary refs log tree commit diff
diff options
context:
space:
mode:
authorguix-patches--- via <guix-patches@gnu.org>2024-08-18 11:23:00 +0900
committerZheng Junjie <zhengjunjie@iscas.ac.cn>2024-08-19 13:36:55 +0800
commitbcdd77177b13f6ea96b42c455719f666f6ff5a4d (patch)
tree6673c3c61a27887f1a7bc8016fb840faa2978ef8
parent724960a2642af6e3328b0e3de6b79344e895fb6b (diff)
downloadguix-bcdd77177b13f6ea96b42c455719f666f6ff5a4d.tar.gz
gnu: Add zydis.
* gnu/packages/engineering.scm (zydis): New variable.

Change-Id: I6e0b04e1d957f8c172e81177f6669415beeaf20a
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
-rw-r--r--gnu/packages/engineering.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e331e93e5a..5d0f358667 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1954,6 +1954,38 @@ it suitable for security research and analysis.")
 and a fallback for environments without libc for Zydis.")
     (license license:expat)))
 
+(define-public zydis
+  (package
+    (name "zydis")
+    (version "4.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zyantific/zydis")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32 "15iw6wcg2van8pw54xs15zk5cniqm8d8vbd1w1br9azv8jxsqjva"))))
+    (build-system cmake-build-system)
+    (arguments (list #:configure-flags
+                     #~(list "-DZYAN_SYSTEM_ZYCORE=ON"
+                             "-DZYDIS_BUILD_SHARED_LIB=ON"
+                             "-DZYDIS_BUILD_MAN=ON")))
+    (native-inputs (list python-minimal ronn-ng))
+    (inputs (list zycore))
+    (home-page "https://zydis.re")
+    (synopsis "Disassembler and code generation library for x86 and AMD64")
+    (description
+     "Zydis is a decoder and disassembler library with the following features:
+@itemize
+@item Support for all x86 and AMD64 instructions and extensions
+@item Optimization for high performance
+@item No dynamic memory allocation
+@item Thread-safe by design
+@item Smaller file-size overhead compared to other common disassembler libraries
+@end itemize")
+    (license license:expat)))
+
 (define-public asco
   (package
     (name "asco")