diff options
author | Sören Tempel <soeren@soeren-tempel.net> | 2024-07-09 18:18:18 +0200 |
---|---|---|
committer | jgart <jgart@dismail.de> | 2024-07-09 13:37:27 -0500 |
commit | 045ada83591665f56161cfa7166926bf620d5002 (patch) | |
tree | 9198653b6f345969bc20e4f32271fc840a0192c7 /gnu/packages | |
parent | fd35427b26982845db21ccd667e514c9e018ecd2 (diff) | |
download | guix-045ada83591665f56161cfa7166926bf620d5002.tar.gz guix-045ada83591665f56161cfa7166926bf620d5002.zip |
gnu: capstone: Backport upstream fix for Python bindings.
* 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.
Signed-off-by: jgart <jgart@dismail.de>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/engineering.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/capstone-fix-python-constants.patch | 84 |
2 files changed, 86 insertions, 1 deletions
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 @@ analyzer (FFT) and frequency sweep plot.") (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 @@ analyzer (FFT) and frequency sweep plot.") (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 |