GNU bug report logs -
#72015
[PATCH] gnu: capstone: Backport upstream fix for Python bindings.
Previous Next
Reported by: soeren <at> soeren-tempel.net
Date: Tue, 9 Jul 2024 16:22:02 UTC
Severity: normal
Tags: patch
Done: jgart <jgart <at> dismail.de>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 72015 in the body.
You can then email your comments to 72015 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#72015
; Package
guix-patches
.
(Tue, 09 Jul 2024 16:22:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
soeren <at> soeren-tempel.net
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Tue, 09 Jul 2024 16:22:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Sören Tempel <soeren <at> soeren-tempel.net>
* gnu/packages/patches/capstone-fix-python-constants.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/engineering.scm (capstone): New patch.
---
This patch includes a backport of an upstream patch which fixes several
issues with the Python bindings that were discovered while packaging
angr for Guix and running its test suite.
The patch has been taken from #69074 as requested by jgart.
gnu/local.mk | 1 +
gnu/packages/engineering.scm | 3 +-
.../capstone-fix-python-constants.patch | 84 +++++++++++++++++++
3 files changed, 87 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/capstone-fix-python-constants.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 3f493c3050..ea4cc251ae 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1023,6 +1023,7 @@ dist_patch_DATA = \
%D%/packages/patches/calls-disable-application-test.patch \
%D%/packages/patches/calls-disable-sip-test.patch \
%D%/packages/patches/camlboot-dynamically-allocate-stack-signal.patch \
+ %D%/packages/patches/capstone-fix-python-constants.patch \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/ccextractor-add-missing-header.patch \
%D%/packages/patches/ccextractor-autoconf-tesseract.patch \
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 0f290de7eb..cc9020c6fd 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1787,6 +1787,7 @@ (define-public capstone
(version "5.0.1")
(source (origin
(method git-fetch)
+ (patches (search-patches "capstone-fix-python-constants.patch"))
(uri (git-reference
(url "https://github.com/capstone-engine/capstone")
(commit version)))
@@ -1798,7 +1799,7 @@ (define-public capstone
(arguments
`(#:tests? #f
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
- "CC=gcc")
+ (string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
diff --git a/gnu/packages/patches/capstone-fix-python-constants.patch b/gnu/packages/patches/capstone-fix-python-constants.patch
new file mode 100644
index 0000000000..75100c6652
--- /dev/null
+++ b/gnu/packages/patches/capstone-fix-python-constants.patch
@@ -0,0 +1,84 @@
+Backport upstream patch fixing various constants in the Python bindings.
+
+Taken from: https://github.com/capstone-engine/capstone/commit/f180e176de3efb060db62820ff981d0291ea8525
+
+diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py
+index bda2fdb6..52353c28 100755
+--- a/bindings/python/capstone/__init__.py
++++ b/bindings/python/capstone/__init__.py
+@@ -113,7 +113,6 @@ __all__ = [
+ 'CS_OPT_SYNTAX_NOREGNAME',
+ 'CS_OPT_SYNTAX_MASM',
+ 'CS_OPT_SYNTAX_MOTOROLA',
+- 'CS_OPT_SYNTAX_CS_REG_ALIAS',
+
+ 'CS_OPT_DETAIL',
+ 'CS_OPT_MODE',
+@@ -152,19 +151,6 @@ __all__ = [
+ 'CS_OP_REG',
+ 'CS_OP_IMM',
+ 'CS_OP_FP',
+- 'CS_OP_PRED',
+- 'CS_OP_RESERVED_5',
+- 'CS_OP_RESERVED_6',
+- 'CS_OP_RESERVED_7',
+- 'CS_OP_RESERVED_8',
+- 'CS_OP_RESERVED_9',
+- 'CS_OP_RESERVED_10',
+- 'CS_OP_RESERVED_11',
+- 'CS_OP_RESERVED_12',
+- 'CS_OP_RESERVED_13',
+- 'CS_OP_RESERVED_14',
+- 'CS_OP_RESERVED_15',
+- 'CS_OP_SPECIAL',
+ 'CS_OP_MEM',
+
+ 'CS_GRP_INVALID',
+@@ -298,26 +284,13 @@ CS_OPT_NO_BRANCH_OFFSET = 9 # ARM, prints branch immediates without offset.
+
+ # Capstone option value
+ CS_OPT_OFF = 0 # Turn OFF an option - default option of CS_OPT_DETAIL
+-CS_OPT_ON = 1 << 0 # Turn ON an option (CS_OPT_DETAIL)
++CS_OPT_ON = 3 # Turn ON an option (CS_OPT_DETAIL)
+
+ # Common instruction operand types - to be consistent across all architectures.
+ CS_OP_INVALID = 0 # uninitialized/invalid operand.
+ CS_OP_REG = 1 # Register operand.
+ CS_OP_IMM = 2 # Immediate operand.
+ CS_OP_FP = 3 # Floating-Point operand.
+-CS_OP_PRED = 4 # Predicate operand.
+-CS_OP_RESERVED_5 = 5
+-CS_OP_RESERVED_6 = 6
+-CS_OP_RESERVED_7 = 7
+-CS_OP_RESERVED_8 = 8
+-CS_OP_RESERVED_9 = 9
+-CS_OP_RESERVED_10 = 10
+-CS_OP_RESERVED_11 = 11
+-CS_OP_RESERVED_12 = 12
+-CS_OP_RESERVED_13 = 13
+-CS_OP_RESERVED_14 = 14
+-CS_OP_RESERVED_15 = 15
+-CS_OP_SPECIAL = 0x10 # Special operands from archs
+ CS_OP_MEM = 0x80 # Memory operand. Can be ORed with another operand type.
+
+ # Common instruction groups - to be consistent across all architectures.
+@@ -336,13 +309,12 @@ CS_AC_READ = (1 << 0) # Operand that is read from.
+ CS_AC_WRITE = (1 << 1) # Operand that is written to.
+
+ # Capstone syntax value
+-CS_OPT_SYNTAX_DEFAULT = 1 << 1 # Default assembly syntax of all platforms (CS_OPT_SYNTAX)
+-CS_OPT_SYNTAX_INTEL = 1 << 2 # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86)
+-CS_OPT_SYNTAX_ATT = 1 << 3 # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
+-CS_OPT_SYNTAX_NOREGNAME = 1 << 4 # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM)
+-CS_OPT_SYNTAX_MASM = 1 << 5 # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
+-CS_OPT_SYNTAX_MOTOROLA = 1 << 6 # MOS65XX use $ as hex prefix
+-CS_OPT_SYNTAX_CS_REG_ALIAS = 1 << 7 # Prints common register alias which are not defined in LLVM (ARM: r9 = sb etc.)
++CS_OPT_SYNTAX_DEFAULT = 0 # Default assembly syntax of all platforms (CS_OPT_SYNTAX)
++CS_OPT_SYNTAX_INTEL = 1 # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86)
++CS_OPT_SYNTAX_ATT = 2 # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
++CS_OPT_SYNTAX_NOREGNAME = 3 # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM)
++CS_OPT_SYNTAX_MASM = 4 # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
++CS_OPT_SYNTAX_MOTOROLA = 5 # MOS65XX use $ as hex prefix
+
+ # Capstone error type
+ CS_ERR_OK = 0 # No error: everything was fine
base-commit: 395a3a3b003f219beb33ed2539ff0a8a35502b59
Reply sent
to
jgart <jgart <at> dismail.de>
:
You have taken responsibility.
(Tue, 09 Jul 2024 18:46:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
soeren <at> soeren-tempel.net
:
bug acknowledged by developer.
(Tue, 09 Jul 2024 18:46:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 72015-done <at> debbugs.gnu.org (full text, mbox):
Thanks, applied!
--
all the best,
jgart
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72015
; Package
guix-patches
.
(Tue, 09 Jul 2024 18:46:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 72015-done <at> debbugs.gnu.org (full text, mbox):
Thanks, applied!
--
all the best,
jgart
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 07 Aug 2024 11:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.