Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
capstone update
To:
Benoit Lecocq <benoit@openbsd.org>
Cc:
ports <ports@openbsd.org>
Date:
Thu, 8 Oct 2026 12:40:24 +0100

Download raw body.

Thread
  • Stuart Henderson:

    capstone update

this update includes various CVE fixes, x86 decoding speedup, removes
the RDEP (and noisy warnings) on setuptools/pkg_resources.

dependent ports are still building, but assuming that goes well,
ok for this?


Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/devel/capstone/Makefile.inc,v
diff -u -p -r1.8 Makefile.inc
--- Makefile.inc	17 Nov 2023 11:44:10 -0000	1.8
+++ Makefile.inc	8 Oct 2026 11:20:57 -0000
@@ -1,4 +1,4 @@
-GH_TAGNAME =	5.0
+GH_TAGNAME =	5.0.9
 GH_ACCOUNT =	aquynh
 GH_PROJECT =	capstone
 
Index: main/distinfo
===================================================================
RCS file: /cvs/ports/devel/capstone/main/distinfo,v
diff -u -p -r1.4 distinfo
--- main/distinfo	17 Nov 2023 11:44:10 -0000	1.4
+++ main/distinfo	8 Oct 2026 11:20:57 -0000
@@ -1,2 +1,2 @@
-SHA256 (capstone-5.0.tar.gz) = 3yQ0RAe6p0Fe6wBvdCr8m5LNM6vyxMEgpul8+zdogtw=
-SIZE (capstone-5.0.tar.gz) = 7633758
+SHA256 (capstone-5.0.9.tar.gz) = BhnaMa8IFSYAr5XEgVJ+9tdWwKhAT8p1RKT99t/CwPk=
+SIZE (capstone-5.0.9.tar.gz) = 7654476
Index: main/patches/patch-cs_c
===================================================================
RCS file: /cvs/ports/devel/capstone/main/patches/patch-cs_c,v
diff -u -p -r1.4 patch-cs_c
--- main/patches/patch-cs_c	17 Nov 2023 11:44:10 -0000	1.4
+++ main/patches/patch-cs_c	8 Oct 2026 11:20:57 -0000
@@ -4,7 +4,7 @@ conflict.
 Index: cs.c
 --- cs.c.orig
 +++ cs.c
-@@ -1365,8 +1365,8 @@ int CAPSTONE_API cs_op_count(csh ud, const cs_insn *in
+@@ -1374,8 +1374,8 @@ int CAPSTONE_API cs_op_count(csh ud, const cs_insn *in
  					count++;
  			break;
  		case CS_ARCH_MIPS:
@@ -15,7 +15,7 @@ Index: cs.c
  					count++;
  			break;
  		case CS_ARCH_PPC:
-@@ -1493,8 +1493,8 @@ int CAPSTONE_API cs_op_index(csh ud, const cs_insn *in
+@@ -1502,8 +1502,8 @@ int CAPSTONE_API cs_op_index(csh ud, const cs_insn *in
  			}
  			break;
  		case CS_ARCH_MIPS:
Index: main/patches/patch-include_capstone_capstone_h
===================================================================
RCS file: /cvs/ports/devel/capstone/main/patches/patch-include_capstone_capstone_h,v
diff -u -p -r1.3 patch-include_capstone_capstone_h
--- main/patches/patch-include_capstone_capstone_h	17 Nov 2023 11:44:10 -0000	1.3
+++ main/patches/patch-include_capstone_capstone_h	8 Oct 2026 11:20:57 -0000
@@ -4,7 +4,7 @@ conflict.
 Index: include/capstone/capstone.h
 --- include/capstone/capstone.h.orig
 +++ include/capstone/capstone.h
-@@ -355,7 +355,7 @@ typedef struct cs_detail {
+@@ -428,7 +428,7 @@ typedef struct cs_detail {
  		cs_arm64 arm64; ///< ARM64 architecture (aka AArch64)
  		cs_arm arm;     ///< ARM architecture (including Thumb/Thumb2)
  		cs_m68k m68k;   ///< M68K architecture
Index: python/Makefile
===================================================================
RCS file: /cvs/ports/devel/capstone/python/Makefile,v
diff -u -p -r1.17 Makefile
--- python/Makefile	8 Oct 2026 10:39:06 -0000	1.17
+++ python/Makefile	8 Oct 2026 11:20:57 -0000
@@ -1,23 +1,18 @@
 COMMENT =	Python bindings for capstone
 
 MODPY_DISTV =	${GH_TAGNAME}
-REVISION =	3
-
 PKGNAME =	py-${DISTNAME}
 
 MODULES =	lang/python
+MODPY_PYBUILD =	setuptools
 USE_GMAKE =	Yes
 
 WRKSRC =	${WRKDIST}/bindings/python
 
-RUN_DEPENDS =	devel/capstone/main \
-		devel/py-setuptools
+RUN_DEPENDS =	devel/capstone/main=${GH_TAGNAME}
 
-TEST_DEPENDS =  devel/capstone/python
+TEST_DEPENDS =  ${FULLPKGNAME}:${BUILD_PKGPATH}
 TEST_TARGET =	check
-
-MODPY_ADJ_FILES = test*.py
-MODPY_PYBUILD =	setuptools
 
 MAKE_ENV =	LIBCAPSTONE_PATH=${LOCALBASE}/lib/
 
Index: python/distinfo
===================================================================
RCS file: /cvs/ports/devel/capstone/python/distinfo,v
diff -u -p -r1.4 distinfo
--- python/distinfo	17 Nov 2023 11:44:10 -0000	1.4
+++ python/distinfo	8 Oct 2026 11:20:57 -0000
@@ -1,2 +1,2 @@
-SHA256 (capstone-5.0.tar.gz) = 3yQ0RAe6p0Fe6wBvdCr8m5LNM6vyxMEgpul8+zdogtw=
-SIZE (capstone-5.0.tar.gz) = 7633758
+SHA256 (capstone-5.0.9.tar.gz) = BhnaMa8IFSYAr5XEgVJ+9tdWwKhAT8p1RKT99t/CwPk=
+SIZE (capstone-5.0.9.tar.gz) = 7654476
Index: python/patches/patch-bindings_python_Makefile
===================================================================
RCS file: python/patches/patch-bindings_python_Makefile
diff -N python/patches/patch-bindings_python_Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ python/patches/patch-bindings_python_Makefile	8 Oct 2026 11:20:57 -0000
@@ -0,0 +1,13 @@
+Index: bindings/python/Makefile
+--- bindings/python/Makefile.orig
++++ bindings/python/Makefile
+@@ -59,7 +59,7 @@ TESTS += test_evm.py
+ check:
+ 	@for t in $(TESTS); do \
+ 		echo Check $$t ... ; \
+-		./$$t > /dev/null; \
+-		if [ $$? -eq 0 ]; then echo OK; else echo FAILED; exit 1; fi \
++		./tests/$$t > /dev/null; \
++		if [ $$? -eq 0 ]; then echo OK; else echo FAILED; fi \
+ 	done
+ 
Index: python/patches/patch-bindings_python_capstone___init___py
===================================================================
RCS file: /cvs/ports/devel/capstone/python/patches/patch-bindings_python_capstone___init___py,v
diff -u -p -r1.1 patch-bindings_python_capstone___init___py
--- python/patches/patch-bindings_python_capstone___init___py	8 Oct 2026 10:39:06 -0000	1.1
+++ python/patches/patch-bindings_python_capstone___init___py	8 Oct 2026 11:20:57 -0000
@@ -1,21 +1,21 @@
 Index: bindings/python/capstone/__init__.py
 --- bindings/python/capstone/__init__.py.orig
 +++ bindings/python/capstone/__init__.py
-@@ -335,7 +335,7 @@ if sys.platform == 'darwin':
+@@ -367,7 +367,7 @@ if sys.platform == 'darwin':
  elif sys.platform in ('win32', 'cygwin'):
      _lib = "capstone.dll"
  else:
 -    _lib = "libcapstone.so"
 +    _lib = "libcapstone.so.${_SHLIB_VERSION}"
+     mode = getattr(os, 'RTLD_DEEPBIND', 0)
  
  _found = False
+@@ -401,7 +401,7 @@ _path_list = [os.getenv('LIBCAPSTONE_PATH', None),
+               join(split(__file__)[0], 'lib'),
+               '',
+               sysconfig.get_path('platlib'),
+-              "/usr/local/lib/" if sys.platform == 'darwin' else '/usr/lib64']
++              "${LOCALBASE}/lib" if sys.platform.startswith("openbsd") or sys.platform == 'darwin' else '/usr/lib64']
  
-@@ -367,7 +367,7 @@ _path_list = [os.getenv('LIBCAPSTONE_PATH', None),
-               distutils.sysconfig.get_python_lib(),
-               "/usr/local/lib/" if sys.platform == 'darwin' else '/usr/lib64']
- 
--for _path in _path_list:
-+for _path in ['${LOCALBASE}/lib']:
+ for _path in _path_list:
      if _path is None: continue
-     _cs = _load_lib(_path)
-     if _cs is not None: break
Index: python/pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/capstone/python/pkg/PLIST,v
diff -u -p -r1.8 PLIST
--- python/pkg/PLIST	23 Oct 2025 13:19:04 -0000	1.8
+++ python/pkg/PLIST	8 Oct 2026 11:20:57 -0000
@@ -1,13 +1,12 @@
 @pkgpath devel/capstone/python,python3
 lib/python${MODPY_VERSION}/site-packages/capstone/
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/METADATA
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/RECORD
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/WHEEL
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/licenses/
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/licenses/LICENSE.TXT
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/top_level.txt
-lib/python${MODPY_VERSION}/site-packages/capstone-5.0.0.dist-info/zip-safe
+lib/python${MODPY_VERSION}/site-packages/capstone-${MODPY_DISTV}.dist-info/
+lib/python${MODPY_VERSION}/site-packages/capstone-${MODPY_DISTV}.dist-info/METADATA
+lib/python${MODPY_VERSION}/site-packages/capstone-${MODPY_DISTV}.dist-info/RECORD
+lib/python${MODPY_VERSION}/site-packages/capstone-${MODPY_DISTV}.dist-info/WHEEL
+lib/python${MODPY_VERSION}/site-packages/capstone-${MODPY_DISTV}.dist-info/licenses/
+lib/python${MODPY_VERSION}/site-packages/capstone-${MODPY_DISTV}.dist-info/licenses/LICENSE.TXT
+lib/python${MODPY_VERSION}/site-packages/capstone-${MODPY_DISTV}.dist-info/top_level.txt
 lib/python${MODPY_VERSION}/site-packages/capstone/__init__.py
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}/
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -52,6 +51,10 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}riscv.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}riscv_const.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}riscv_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}sh.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}sh.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}sh_const.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}sh_const.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}sparc.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}sparc.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}sparc_const.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -68,6 +71,8 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}tricore.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}tricore_const.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}tricore_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}wasm.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}wasm.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}wasm_const.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}wasm_const.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/capstone/${MODPY_PYCACHE}x86.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -98,6 +103,8 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/capstone/ppc_const.py
 lib/python${MODPY_VERSION}/site-packages/capstone/riscv.py
 lib/python${MODPY_VERSION}/site-packages/capstone/riscv_const.py
+lib/python${MODPY_VERSION}/site-packages/capstone/sh.py
+lib/python${MODPY_VERSION}/site-packages/capstone/sh_const.py
 lib/python${MODPY_VERSION}/site-packages/capstone/sparc.py
 lib/python${MODPY_VERSION}/site-packages/capstone/sparc_const.py
 lib/python${MODPY_VERSION}/site-packages/capstone/systemz.py
@@ -106,6 +113,7 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/capstone/tms320c64x_const.py
 lib/python${MODPY_VERSION}/site-packages/capstone/tricore.py
 lib/python${MODPY_VERSION}/site-packages/capstone/tricore_const.py
+lib/python${MODPY_VERSION}/site-packages/capstone/wasm.py
 lib/python${MODPY_VERSION}/site-packages/capstone/wasm_const.py
 lib/python${MODPY_VERSION}/site-packages/capstone/x86.py
 lib/python${MODPY_VERSION}/site-packages/capstone/x86_const.py