pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel Update devel/capstone to version 3.0.5-rc2



details:   https://anonhg.NetBSD.org/pkgsrc/rev/b69e9ecd8808
branches:  trunk
changeset: 375842:b69e9ecd8808
user:      khorben <khorben%pkgsrc.org@localhost>
date:      Fri Feb 23 02:42:06 2018 +0000

description:
Update devel/capstone to version 3.0.5-rc2

This provides important fixes in the core & several bindings:

Library

    Fix build for Visual Studio 2012
    Fix X86_REL_ADDR macro
    Add CS_VERSION_MAJOR, CS_VERSION_MINOR, CS_VERSION_EXTRA
    Better support for embedding Capstone into Windows kernel drivers
    Support to embedded Capstone into MacOS kernel
    Support MacOS 10.11 and up
    Better support for Cygwin
    Support build packages for FreeBSD & DragonflyBSD
    Add a command-line tool "cstool"
    Properly handle switching to Endian mode at run-time for Arm, Arm64, Mips & Sparc

X86

    Some random 16-bit code can be handled wrongly.
    Remove abundant operand type X86_OP_FP
    Fix instructions MOVQ, LOOP, LOOPE, LOOPNE, CALL/JMP rel16, REPNE LODSD, MOV *AX, MOFFS, FAR JMP/CALL
    Add X86_REG_EFLAGS for STC and STD
    Fix instruction attributes for SYSEXIT, MOVW, ROL, LGS, SLDT
    Rename registers ST0-ST7 to be consistent with asm output

Arm

    Properly handle IT instruction
    Fix LDRSB
    Fix writeback for LDR
    Fix Thumb BigEndian setup

Arm

    Fix arith extender
    Fix writeback for LDR
    Rename enum arm64_mrs_reg to arm64_sysreg

PowerPC

    Print 0 offset for memory operand

Sparc

    Fix POPC instruction

Python binding

    Better PyPy support
    Add __version__
    Better support for Python 3
    Fix CS_SKIPDATA_CALLBACK prototype
    Cast skipdata function inside binding to simplify the API

Java binding

    Better handle input with invalid code

PowerShell binding

    New binding

Build-tested with devel/ropper and devel/{py-,}radare2 on NetBSD/amd64.

diffstat:

 devel/capstone/Makefile                      |   4 +-
 devel/capstone/Makefile.common               |   6 +-
 devel/capstone/PLIST                         |   3 +-
 devel/capstone/distinfo                      |  12 +++---
 devel/capstone/patches/patch-Makefile        |  44 ----------------------------
 devel/capstone/patches/patch-cstool_Makefile |  19 ++++++++++++
 devel/py-capstone/Makefile                   |   4 +-
 devel/py-capstone/PLIST                      |  20 +++++++++++-
 8 files changed, 51 insertions(+), 61 deletions(-)

diffs (186 lines):

diff -r 488295e4f407 -r b69e9ecd8808 devel/capstone/Makefile
--- a/devel/capstone/Makefile   Thu Feb 22 23:41:31 2018 +0000
+++ b/devel/capstone/Makefile   Fri Feb 23 02:42:06 2018 +0000
@@ -1,9 +1,7 @@
-# $NetBSD: Makefile,v 1.9 2016/06/13 01:51:04 kamil Exp $
+# $NetBSD: Makefile,v 1.10 2018/02/23 02:42:06 khorben Exp $
 
 .include "Makefile.common"
 
-PKGREVISION=   2
-
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 COMMENT=       Lightweight multi-platform, multi-architecture disassembly framework
 LICENSE=       modified-bsd
diff -r 488295e4f407 -r b69e9ecd8808 devel/capstone/Makefile.common
--- a/devel/capstone/Makefile.common    Thu Feb 22 23:41:31 2018 +0000
+++ b/devel/capstone/Makefile.common    Fri Feb 23 02:42:06 2018 +0000
@@ -1,12 +1,12 @@
-# $NetBSD: Makefile.common,v 1.1 2016/06/13 01:51:04 kamil Exp $
+# $NetBSD: Makefile.common,v 1.2 2018/02/23 02:42:06 khorben Exp $
 #
 # used by devel/py-capstone/Makefile
 
-DISTNAME=      capstone-3.0.4
+DISTNAME=      capstone-3.0.5rc2
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=aquynh/}
+GITHUB_TAG=    3.0.5-rc2
 
 HOMEPAGE=      http://www.capstone-engine.org/
 
 DISTINFO_FILE= ${.CURDIR}/../../devel/capstone/distinfo
-PATCHDIR=      ${.CURDIR}/../../devel/capstone/patches
diff -r 488295e4f407 -r b69e9ecd8808 devel/capstone/PLIST
--- a/devel/capstone/PLIST      Thu Feb 22 23:41:31 2018 +0000
+++ b/devel/capstone/PLIST      Fri Feb 23 02:42:06 2018 +0000
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.1 2014/12/05 11:51:58 wiz Exp $
+@comment $NetBSD: PLIST,v 1.2 2018/02/23 02:42:06 khorben Exp $
+bin/cstool
 include/capstone/arm.h
 include/capstone/arm64.h
 include/capstone/capstone.h
diff -r 488295e4f407 -r b69e9ecd8808 devel/capstone/distinfo
--- a/devel/capstone/distinfo   Thu Feb 22 23:41:31 2018 +0000
+++ b/devel/capstone/distinfo   Fri Feb 23 02:42:06 2018 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.9 2016/02/20 11:40:30 jperkin Exp $
+$NetBSD: distinfo,v 1.10 2018/02/23 02:42:06 khorben Exp $
 
-SHA1 (capstone-3.0.4.tar.gz) = 6153bbb4a4141fd9e6996d646cf7c81953cfe75a
-RMD160 (capstone-3.0.4.tar.gz) = 3f96993cc7cd2fbc1080e785bb7c7ae7f209d0f9
-SHA512 (capstone-3.0.4.tar.gz) = a5c29e7c559b5391d6a4ec9a7f766699ea6d321aa2f1fc57fdcec893107fa3ef2f5f6323629971c1129f1ca087df4f3ad03d0a8234d2eae368c8ccfec04dbf4d
-Size (capstone-3.0.4.tar.gz) = 2800818 bytes
-SHA1 (patch-Makefile) = a29910046034f468101b6b291c4f995923d09528
+SHA1 (capstone-3.0.5rc2.tar.gz) = 52052e754c4f92128d16d5b028b85f646547f091
+RMD160 (capstone-3.0.5rc2.tar.gz) = 960473fc8f4b7113adc291b768e668e27a7c8b56
+SHA512 (capstone-3.0.5rc2.tar.gz) = 31bafdb0b3183d0c054a4244cc135db9a3c3dc5cb2e2af706bfede0d53cca8cba81d74b74ef9a4adbfd6c79cc408864dd80b8203791e17bd6c98bb69ea4f6894
+Size (capstone-3.0.5rc2.tar.gz) = 2829338 bytes
+SHA1 (patch-cstool_Makefile) = 94c029a1f667ceffad787f056c332c11001344df
diff -r 488295e4f407 -r b69e9ecd8808 devel/capstone/patches/patch-Makefile
--- a/devel/capstone/patches/patch-Makefile     Thu Feb 22 23:41:31 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-$NetBSD: patch-Makefile,v 1.2 2016/02/20 11:40:30 jperkin Exp $
-
-Unbreak build on FreeBSD and DragonflyBSD.
-
-Patch accepted upstream:
-https://github.com/aquynh/capstone/commit/453b41a29ed7f02f8319329cc86853d394b85a1e
-
-Fix install_name on Darwin.
-
---- Makefile.orig      2015-07-15 07:44:42.000000000 +0000
-+++ Makefile
-@@ -70,12 +70,18 @@ LIBDIRARCH ?= lib
- LIBDIR = $(DESTDIR)$(PREFIX)/$(LIBDIRARCH)
- 
- LIBDATADIR = $(LIBDIR)
-+
-+# Don't redefine $LIBDATADIR when global environment variable
-+# USE_GENERIC_LIBDATADIR is set. This is used by the pkgsrc framework.
-+
-+ifndef USE_GENERIC_LIBDATADIR
- ifeq ($(UNAME_S), FreeBSD)
- LIBDATADIR = $(DESTDIR)$(PREFIX)/libdata
- endif
- ifeq ($(UNAME_S), DragonFly)
- LIBDATADIR = $(DESTDIR)$(PREFIX)/libdata
- endif
-+endif
- 
- INSTALL_BIN ?= install
- INSTALL_DATA ?= $(INSTALL_BIN) -m0644
-@@ -248,7 +254,7 @@ IS_APPLE := $(shell $(CC) -dM -E - < /de
- ifeq ($(IS_APPLE),1)
- EXT = dylib
- VERSION_EXT = $(API_MAJOR).$(EXT)
--$(LIBNAME)_LDFLAGS += -dynamiclib -install_name lib$(LIBNAME).$(VERSION_EXT) -current_version $(PKG_MAJOR).$(PKG_MINOR).$(PKG_EXTRA) -compatibility_version $(PKG_MAJOR).$(PKG_MINOR)
-+$(LIBNAME)_LDFLAGS += -dynamiclib -install_name ${LIBDIR}/lib$(LIBNAME).$(VERSION_EXT) -current_version $(PKG_MAJOR).$(PKG_MINOR).$(PKG_EXTRA) -compatibility_version $(PKG_MAJOR).$(PKG_MINOR)
- AR_EXT = a
- # Homebrew wants to make sure its formula does not disable FORTIFY_SOURCE
- # However, this is not really necessary because 'CAPSTONE_USE_SYS_DYN_MEM=yes' by default
-@@ -463,4 +469,3 @@ define generate-pkgcfg
-       echo 'Libs: -L$${libdir} -lcapstone' >> $(PKGCFGF)
-       echo 'Cflags: -I$${includedir}' >> $(PKGCFGF)
- endef
--
diff -r 488295e4f407 -r b69e9ecd8808 devel/capstone/patches/patch-cstool_Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/capstone/patches/patch-cstool_Makefile      Fri Feb 23 02:42:06 2018 +0000
@@ -0,0 +1,19 @@
+$NetBSD: patch-cstool_Makefile,v 1.1 2018/02/23 02:42:06 khorben Exp $
+
+Fix path to the libraries installed.
+
+--- cstool/Makefile.orig       2017-03-02 14:21:24.000000000 +0000
++++ cstool/Makefile
+@@ -6,8 +6,10 @@ include ../functions.mk
+ 
+ LIBNAME = capstone
+ 
+-CFLAGS = -I../include
+-LDFLAGS = -O3 -Wall -L.. -l$(LIBNAME)
++PREFIX ?= /usr
++LIBDIRARCH ?= lib
++CFLAGS = -I../include -O3 -Wall
++LDFLAGS = -Wl,-rpath,$(PREFIX)/$(LIBDIRARCH) -L.. -l$(LIBNAME)
+ 
+ TARGET = cstool
+ SOURCES := $(wildcard *.c)
diff -r 488295e4f407 -r b69e9ecd8808 devel/py-capstone/Makefile
--- a/devel/py-capstone/Makefile        Thu Feb 22 23:41:31 2018 +0000
+++ b/devel/py-capstone/Makefile        Fri Feb 23 02:42:06 2018 +0000
@@ -1,15 +1,15 @@
-# $NetBSD: Makefile,v 1.3 2016/06/14 06:54:19 kamil Exp $
+# $NetBSD: Makefile,v 1.4 2018/02/23 02:42:06 khorben Exp $
 
 .include "../../devel/capstone/Makefile.common"
 
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION=   1
 CATEGORIES+=   python
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 COMMENT=       Python bindings for capstone
 LICENSE=       modified-bsd
 
+WRKSRC=                ${WRKDIR}/capstone-${GITHUB_TAG}
 PYSETUPSUBDIR= bindings/python
 
 .include "../../devel/capstone/buildlink3.mk"
diff -r 488295e4f407 -r b69e9ecd8808 devel/py-capstone/PLIST
--- a/devel/py-capstone/PLIST   Thu Feb 22 23:41:31 2018 +0000
+++ b/devel/py-capstone/PLIST   Fri Feb 23 02:42:06 2018 +0000
@@ -1,5 +1,9 @@
-@comment $NetBSD: PLIST,v 1.1 2016/06/13 01:56:18 kamil Exp $
-${PYSITELIB}/${EGG_FILE}
+@comment $NetBSD: PLIST,v 1.2 2018/02/23 02:42:06 khorben Exp $
+${PYSITELIB}/${EGG_FILE}/PKG-INFO
+${PYSITELIB}/${EGG_FILE}/SOURCES.txt
+${PYSITELIB}/${EGG_FILE}/dependency_links.txt
+${PYSITELIB}/${EGG_FILE}/top_level.txt
+${PYSITELIB}/${EGG_FILE}/zip-safe
 ${PYSITELIB}/capstone/__init__.py
 ${PYSITELIB}/capstone/__init__.pyc
 ${PYSITELIB}/capstone/__init__.pyo
@@ -15,6 +19,18 @@
 ${PYSITELIB}/capstone/arm_const.py
 ${PYSITELIB}/capstone/arm_const.pyc
 ${PYSITELIB}/capstone/arm_const.pyo
+${PYSITELIB}/capstone/include/capstone/arm.h
+${PYSITELIB}/capstone/include/capstone/arm64.h
+${PYSITELIB}/capstone/include/capstone/capstone.h
+${PYSITELIB}/capstone/include/capstone/mips.h
+${PYSITELIB}/capstone/include/capstone/platform.h
+${PYSITELIB}/capstone/include/capstone/ppc.h
+${PYSITELIB}/capstone/include/capstone/sparc.h
+${PYSITELIB}/capstone/include/capstone/systemz.h
+${PYSITELIB}/capstone/include/capstone/x86.h
+${PYSITELIB}/capstone/include/capstone/xcore.h
+${PYSITELIB}/capstone/lib/libcapstone.a
+${PYSITELIB}/capstone/lib/libcapstone.so
 ${PYSITELIB}/capstone/mips.py
 ${PYSITELIB}/capstone/mips.pyc
 ${PYSITELIB}/capstone/mips.pyo



Home | Main Index | Thread Index | Old Index