[PATCH 0/2] gnu: Add zydis.

  • Done
  • quality assurance status badge
Details
3 participants
  • Nguy?n Gia Phong
  • Nicolas Graves
  • Zheng Junjie
Owner
unassigned
Submitted by
Nguy?n Gia Phong
Severity
normal
N
N
Nguy?n Gia Phong wrote on 31 Jul 12:12 +0200
(address . guix-patches@gnu.org)(name . Nguy?n Gia Phong)(address . mcsinyx@disroot.org)
cover.1722420324.git.mcsinyx@disroot.org
Zydis is a library for x86 and amd64 disassembly and decoding.
My goal is to package E9Patch (amd64 binary patching tool)
which depends on it but upstream needs a bit of clean up.

Nguy?n Gia Phong (2):
gnu: Add zycore.
gnu: Add zydis.

gnu/packages/engineering.scm | 55 ++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)


base-commit: f59c4126827af3d2041d49f1d0a8ce12b41470cf
--
2.45.2
N
N
Nguy?n Gia Phong wrote on 31 Jul 12:14 +0200
[PATCH 1/2] gnu: Add zycore.
(address . 72396@debbugs.gnu.org)(name . Nguy?n Gia Phong)(address . mcsinyx@disroot.org)
254535bd95290fdd6aca4bb5eb1b2e17330a91e3.1722420324.git.mcsinyx@disroot.org
* gnu/packages/engineering.scm (zycore): New variable.

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

Toggle diff (44 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f411d4ac1ed6..b6ae19101b42 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -40,6 +40,7 @@
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
+;;; Copyright © 2024 Nguy?n Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1926,6 +1927,29 @@ (define-public radare2
it suitable for security research and analysis.")
(license license:lgpl3)))
+(define-public zycore
+ (package
+ (name "zycore")
+ (version "1.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zyantific/zycore-c")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "0s962pkqybh1xbs75y4jb4bqc9qnq0sviqd570mirqdhhq87agib"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (native-inputs (list googletest))
+ (arguments `(#:configure-flags '("-DZYCORE_BUILD_SHARED_LIBS=ON"
+ "-DZYCORE_BUILD_TESTS=ON")))
+ (home-page "https://github.com/zyantific/zycore-c")
+ (synopsis "Internal library for Zydis.")
+ (description
+ "This package provides platfrom-independent types, macros
+and a fallback for environments without libc for Zydis.")
+ (license license:expat)))
+
(define-public asco
(package
(name "asco")
--
2.45.2
N
N
Nguy?n Gia Phong wrote on 31 Jul 12:14 +0200
[PATCH 2/2] gnu: Add zydis.
(address . 72396@debbugs.gnu.org)(name . Nguy?n Gia Phong)(address . mcsinyx@disroot.org)
d61e09a13856cac743778e85d1f73ef4fe697db3.1722420324.git.mcsinyx@disroot.org
* gnu/packages/engineering.scm (zydis): New variable.

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

Toggle diff (44 lines)
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
N
N
Nicolas Graves wrote on 15 Aug 16:19 +0200
Re: [bug#72396] [PATCH 1/2] gnu: Add zycore.
(address . 72396@debbugs.gnu.org)(name . Nguy?n Gia Phong)(address . mcsinyx@disroot.org)
87sev5eumn.fsf@ngraves.fr
On 2024-07-31 19:14, guix-patches--- via wrote:

Toggle quote (4 lines)
> * gnu/packages/engineering.scm (zycore): New variable.
>
> + (synopsis "Internal library for Zydis.")

Hi Nguy?n Gia Phong,

A minor nitpick:
zycore@1.5.0: no period allowed at the end of the synopsis

Checking `guix lint` would have told you ;)

Otherwise LGTM, built and rebuilt deterministically.

--
Best regards,
Nicolas Graves
N
N
Nguy?n Gia Phong wrote on 18 Aug 04:23 +0200
[PATCH v2 2/2] gnu: Add zydis.
(address . 72396@debbugs.gnu.org)(name . Nguy?n Gia Phong)(address . mcsinyx@disroot.org)
6c2035f759a89750900eafc23f7ab943649d8e28.1723947780.git.mcsinyx@disroot.org
* gnu/packages/engineering.scm (zydis): New variable.

Change-Id: I6e0b04e1d957f8c172e81177f6669415beeaf20a
---
This patch is identical to the one in v1.

gnu/packages/engineering.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 24dc4f0197c7..fba30809e18b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1951,6 +1951,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
N
N
Nguy?n Gia Phong wrote on 18 Aug 04:22 +0200
[PATCH v2 1/2] gnu: Add zycore.
(address . 72396@debbugs.gnu.org)(name . Nguy?n Gia Phong)(address . mcsinyx@disroot.org)
64a3c8b8813df7ab161a485080cd04c75ce70022.1723947780.git.mcsinyx@disroot.org
* gnu/packages/engineering.scm (zycore): New variable.

Change-Id: Ia38413f43bc667a9a12916d3f0e786e06f6d358f
---
On 2024-08-15 at 16:19+02:00, Nicolas Graves wrote:
Toggle quote (12 lines)
> On 2024-07-31 19:14, Nguy?n Gia Phong via wrote:
>
> > * gnu/packages/engineering.scm (zycore): New variable.
> >
> > + (synopsis "Internal library for Zydis.")
> A minor nitpick:
> zycore@1.5.0: no period allowed at the end of the synopsis
>
> Checking `guix lint` would have told you ;)
>
> Otherwise LGTM, built and rebuilt deterministically.

Thanks, this revision fixes that.

I cannot get guix lint to tell that to me however
(I ran `./pre-inst-env guix lint zycore`).

gnu/packages/engineering.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7a9c0bc436f7..24dc4f0197c7 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -40,6 +40,7 @@
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
+;;; Copyright © 2024 Nguy?n Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1927,6 +1928,29 @@ (define-public radare2
it suitable for security research and analysis.")
(license license:lgpl3)))
+(define-public zycore
+ (package
+ (name "zycore")
+ (version "1.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zyantific/zycore-c")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "0s962pkqybh1xbs75y4jb4bqc9qnq0sviqd570mirqdhhq87agib"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (native-inputs (list googletest))
+ (arguments `(#:configure-flags '("-DZYCORE_BUILD_SHARED_LIBS=ON"
+ "-DZYCORE_BUILD_TESTS=ON")))
+ (home-page "https://github.com/zyantific/zycore-c")
+ (synopsis "Internal library for Zydis")
+ (description
+ "This package provides platfrom-independent types, macros
+and a fallback for environments without libc for Zydis.")
+ (license license:expat)))
+
(define-public asco
(package
(name "asco")

base-commit: 41c44ffd5659d13f5c1edb78d92ad27275ead78a
--
2.45.2
Z
Z
Zheng Junjie wrote on 19 Aug 08:17 +0200
(name . guix-patches--- via)(address . guix-patches@gnu.org)
87sev1aveq.fsf@iscas.ac.cn
guix-patches--- via <guix-patches@gnu.org> writes:

Toggle quote (54 lines)
> * gnu/packages/engineering.scm (zycore): New variable.
>
> Change-Id: Ia38413f43bc667a9a12916d3f0e786e06f6d358f
> ---
> On 2024-08-15 at 16:19+02:00, Nicolas Graves wrote:
>> On 2024-07-31 19:14, Nguy?n Gia Phong via wrote:
>>
>> > * gnu/packages/engineering.scm (zycore): New variable.
>> >
>> > + (synopsis "Internal library for Zydis.")
>> A minor nitpick:
>> zycore@1.5.0: no period allowed at the end of the synopsis
>>
>> Checking `guix lint` would have told you ;)
>>
>> Otherwise LGTM, built and rebuilt deterministically.
>
> Thanks, this revision fixes that.
>
> I cannot get guix lint to tell that to me however
> (I ran `./pre-inst-env guix lint zycore`).
>
> gnu/packages/engineering.scm | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
> index 7a9c0bc436f7..24dc4f0197c7 100644
> --- a/gnu/packages/engineering.scm
> +++ b/gnu/packages/engineering.scm
> @@ -40,6 +40,7 @@
> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
> ;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
> ;;; Copyright © 2024 Juliana Sims <juli@incana.org>
> +;;; Copyright © 2024 Nguy?n Gia Phong <mcsinyx@disroot.org>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -1927,6 +1928,29 @@ (define-public radare2
> it suitable for security research and analysis.")
> (license license:lgpl3)))
>
> +(define-public zycore
> + (package
> + (name "zycore")
> + (version "1.5.0")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/zyantific/zycore-c")
> + (commit (string-append "v" version))))
> + (sha256
> + (base32 "0s962pkqybh1xbs75y4jb4bqc9qnq0sviqd570mirqdhhq87agib"))
> + (file-name (git-file-name name version))))

i move file-name before sha256.

Toggle quote (3 lines)
> + (build-system cmake-build-system)
> + (native-inputs (list googletest))
> + (arguments `(#:configure-flags '("-DZYCORE_BUILD_SHARED_LIBS=ON"
is ZYCORE_BUILD_SHARED_LIB
Toggle quote (1 lines)
> + "-DZYCORE_BUILD_TESTS=ON")))
i adjust to use gexp, and disable ZYCORE_BUILD_TESTS on cross-compilation.

Toggle quote (12 lines)
> + (synopsis "Internal library for Zydis")
> + (description
> + "This package provides platfrom-independent types, macros
> +and a fallback for environments without libc for Zydis.")
> + (license license:expat)))
> +
> (define-public asco
> (package
> (name "asco")
>
> base-commit: 41c44ffd5659d13f5c1edb78d92ad27275ead78a
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmbC430ACgkQO1qpk+Gi
3/BN3hAAuHDTHrbl3mTrljiLEKulOyIAgqMa15a4/wvByM2cvd0dzeWxsPEx4DvZ
iV1sIb6xiVRaAPglx9NLaoIDhvGCd0I2SdUvCV7sFl6zCrZmiQx9aXzhqpTL/7dm
ATiTQ6yu1E1RQJfad/cY4n57gI37hzUFjivBNqgDj+eJUOJCs5amg1ZRO8Qm+hkS
K/yvHWfQ+puuvyPZ9fCXMh1JrGz6RqcSKLyu/LzR/fydd6ZPH2qnfZc819Uahaq+
q2Z99sb0FiruG6nb5MTUAop4tIHCtuLf5S6hDokWRaf+OpY7soZNZs7vO2QRZlec
WLZlUOtn6/l723GqLAU+wXpngwF7o5Pfq3jijiC1VD63Bt8An43B595tJWOJD7tB
Fi87mRDp9qExfE4lpugFBAwM0hv7hqUZ0d8SZUUAlaUHmIWIc9r+fdWvENSicipq
CR3k9rmrfEvOdtfCWO/Fb5fUVXjiAxj/Axd7b5pL0hCqTCKa2AzPuI6pOmCLGhEd
3t0nPW19wqpCN9a9VvVSAZzJWHy6Bqkd33UARVrb40oIxGjYBzXTSkE04oonnHDD
iLehlpurahyUzL0YzBJ/N2kJOjoYIL3GCUVDKMWIz0i4T+Idkneql3HjUlt2g+Wh
YFtxMwe9impJG6RF67XeB8FrOyKy4Ip/wYp+qq6HL9g3dHLzL8o=
=OEkw
-----END PGP SIGNATURE-----

Z
Z
Zheng Junjie wrote on 19 Aug 08:19 +0200
Re: [bug#72396] [PATCH v2 2/2] gnu: Add zydis.
(name . guix-patches--- via)(address . guix-patches@gnu.org)
87o75pavc7.fsf@iscas.ac.cn
guix-patches--- via <guix-patches@gnu.org> writes:

Toggle quote (30 lines)
> * gnu/packages/engineering.scm (zydis): New variable.
>
> Change-Id: I6e0b04e1d957f8c172e81177f6669415beeaf20a
> ---
> This patch is identical to the one in v1.
>
> gnu/packages/engineering.scm | 31 +++++++++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
> index 24dc4f0197c7..fba30809e18b 100644
> --- a/gnu/packages/engineering.scm
> +++ b/gnu/packages/engineering.scm
> @@ -1951,6 +1951,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))))

move file-name before sha256.

Toggle quote (5 lines)
> + (build-system cmake-build-system)
> + (arguments `(#:configure-flags '("-DZYAN_SYSTEM_ZYCORE=ON"
> + "-DZYDIS_BUILD_SHARED_LIB=ON"
> + "-DZYDIS_BUILD_MAN=ON")))

use gexp.

Toggle quote (18 lines)
> + (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")
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmbC49kACgkQO1qpk+Gi
3/ArNA//fx25AFc9kT23XFrOurjYEBd8GYTTgZSabYTExEIPXb4kigcQFwcorwr/
MEPqP7c0irMAsxEJxXG6UjtUnagU//dQlM1IMd/hBnsn5yItPL611ba5rHnQTpFM
/CGJCSBzF2y4ToQgAI+zglWfFqWXJeIPImKeFHFEmXWzVkxszgsJ4JZZ1CSMsVCB
bA4/81qty9vJsspuA17tc+5Lhay8fhKZFQDXzohaNZpdq5oF3mqIpJgzawIfhgIC
VNgAtN3brJOqO3fxbV0bc5qzHLD86/eRw/akKOe4QDIsWfJRGQFgh2bh2lr4m4Iq
V068045/0Ori58NsDsoEzA5/3yuPHf0Z5EA5OlHIcDOqC5Pic19OO8PBxDcnQAFO
4FfL99Ruobau4i6vbZMS92QVfNQYqnCi9RPrYYYjl9X8bxrW8NtCYs9+nKE4hWnp
OahhZcUTBrLVRKEdpidoMkrhh/eG9aLZ6HlIG6MdWoosqZNeFLXVznHC5rQQ4jpf
YS3z/WQ6Gs1NzkIGfszeXfYgiQuepqCZtZ50LbZr6gPT6MbIuUOw/k49jjN7NNiM
a7Pxm8TfKOPOqN/vHMS1QDWa5w2tEg2HwexJYaHi0UsfqWL03qA0t7e2cUfZdaeM
56lADQhdz08FrppG4g9ISfe2M3FhhjLq8mQWHXW30ox0Lx03Ras=
=fMXq
-----END PGP SIGNATURE-----

?
Your comment

This issue is archived.

To comment on this conversation send an email to 72396@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72396
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch