summary refs log tree commit diff
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2024-07-31 14:48:50 +0900
committerNguyễn Gia Phong <mcsinyx@disroot.org>2024-08-05 17:20:59 +0900
commitf117aa2ead7a31802363a84c26d3f6863bdd7414 (patch)
tree8d416e0200a27fd90db3284d9d007efc6d286509
parentf2e159665b00933a5bacc3053b4631826231940f (diff)
downloadguix-f117aa2ead7a31802363a84c26d3f6863bdd7414.tar.gz
gnu: Add zydis.
* gnu/packages/engineering.scm (zydis): New variable.

Change-Id: I6e0b04e1d957f8c172e81177f6669415beeaf20a
-rw-r--r--gnu/packages/engineering.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 3316464e03..92bd7a63ff 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1950,6 +1950,37 @@ 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))))
+              (sha256
+               (base32 "15iw6wcg2van8pw54xs15zk5cniqm8d8vbd1w1br9azv8jxsqjva"))
+              (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments `(#:configure-flags '("-DZYAN_SYSTEM_ZYCORE=ON"
+                                     "-DZYDIS_BUILD_SHARED_LIB=ON"
+                                     "-DZYDIS_BUILD_MAN=ON")))
+    (native-inputs (list python 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")