Subject: [PATCH 2/2] gnu: Add zydis.

From: Nguyễn Gia Phong <[email-masked]>
Date: Wed, 31 Jul 2024 19:14:36 +0900

* gnu/packages/engineering.scm (zydis): New variable.

Change-Id: I6e0b04e1d957f8c172e81177f6669415beeaf20a
---
 gnu/packages/engineering.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index b6ae19101b42..4eb0e6cb6b9a 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1950,6 +1950,37 @@ (define-public zycore
 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")
-- 
2.45.2