From 6db9080ca3108a9dd2482aba4d26f9e465ff2569 Mon Sep 17 00:00:00 2001 From: Martin Wilke Date: Wed, 17 Jan 2007 20:47:29 +0000 Subject: diStorm is a binary stream disassembler. It's capable of disassembling 80x86 instructions in 64 bits (AMD64, X86-64) and both in 16 and 32 bits. In addition, it disassembles FPU, MMX, SSE, SSE2, SSE3, SSE4, 3DNow! (w/ extensions), new x86-64 instruction sets, VMX, and AMD's SVM! diStorm was written to decode quickly every instruction as accurately as possible. Robust decoding, while taking special care for valid or unused prefixes, is what makes this disassembler powerful, especially for research. Another benefit that might come in handy is that the module was written as multi-threaded, which means you could disassemble several streams or more simultaneously. WWW: http://www.ragestorm.net/distorm/ PR: ports/107977 Submitted by: Lutz Boehne --- devel/py-distorm/Makefile | 47 +++++++++++++++++++++++++++++++++++ devel/py-distorm/distinfo | 3 +++ devel/py-distorm/files/patch-Makefile | 22 ++++++++++++++++ devel/py-distorm/pkg-descr | 12 +++++++++ devel/py-distorm/pkg-plist | 6 +++++ 5 files changed, 90 insertions(+) create mode 100644 devel/py-distorm/Makefile create mode 100644 devel/py-distorm/distinfo create mode 100644 devel/py-distorm/files/patch-Makefile create mode 100644 devel/py-distorm/pkg-descr create mode 100644 devel/py-distorm/pkg-plist (limited to 'devel/py-distorm') diff --git a/devel/py-distorm/Makefile b/devel/py-distorm/Makefile new file mode 100644 index 000000000000..bbbccc3fe3a8 --- /dev/null +++ b/devel/py-distorm/Makefile @@ -0,0 +1,47 @@ +# New ports collection makefile for: py-distorm +# Date created: 1 December 2006 +# Whom: Lutz Boehne +# +# $FreeBSD$ +# + +PORTNAME= distorm +PORTVERSION= 1.5.17 +CATEGORIES= devel python +MASTER_SITES= http://www.ragestorm.net/distorm/ \ + http://www.damogran.de/ports/distorm/ +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME}-pkg${PORTVERSION} + +MAINTAINER= lboehne@damogran.de +COMMENT= Fast x86 and x86-64 disassembler library for python + +USE_BZIP2= yes +USE_PYTHON= yes + +WRKSRC= ${WRKDIR}/distorm/build/linux + +.include + +.if ${OSVERSION} < 500000 +BROKEN= Does not build on 4.x +.endif + +.if !defined(NOPORTDOCS) +DOCSDIR= ${PREFIX}/share/doc/py-distorm +DOCS= distorm.html qa.txt vol1.html vol2.html +.endif + +post-patch: + ${REINPLACE_CMD} -e s,XXPYTHON_LIBDIRXX,${PYTHON_LIBDIR}, ${WRKDIR}/distorm/build/linux/Makefile + ${REINPLACE_CMD} -e s,python2.4,${PYTHON_VERSION}, ${WRKDIR}/distorm/src/pydistorm.h + +.if !defined(NOPORTDOCS) +pre-install: + ${MKDIR} ${DOCSDIR} +.for f in ${DOCS} + ${INSTALL_DATA} ${WRKDIR}/distorm/doc/${f} ${DOCSDIR} +.endfor +.endif + +.include diff --git a/devel/py-distorm/distinfo b/devel/py-distorm/distinfo new file mode 100644 index 000000000000..9342f88a4374 --- /dev/null +++ b/devel/py-distorm/distinfo @@ -0,0 +1,3 @@ +MD5 (distorm-pkg1.5.17.tar.bz2) = 2d54713a335490755ffa2368b3c4ff98 +SHA256 (distorm-pkg1.5.17.tar.bz2) = 6d1f89fdf402b53d65c178010fca795c1780b02cd1979f85abacd67168c92fa9 +SIZE (distorm-pkg1.5.17.tar.bz2) = 82093 diff --git a/devel/py-distorm/files/patch-Makefile b/devel/py-distorm/files/patch-Makefile new file mode 100644 index 000000000000..851c2a237bc6 --- /dev/null +++ b/devel/py-distorm/files/patch-Makefile @@ -0,0 +1,22 @@ +--- Makefile.orig Sat Jun 3 19:24:48 2006 ++++ Makefile Wed Jan 10 12:45:23 2007 +@@ -5,8 +5,7 @@ + TARGET = libdistorm64.so + COBJS = ../../src/x86defs.o ../../src/wstring.o ../../src/textdefs.o ../../src/prefix.o ../../src/operands.o ../../src/insts.o ../../src/instructions.o ../../src/distorm.o ../../src/decoder.o + PYOBJS = ../../src/x86defs.o ../../src/wstring.o ../../src/textdefs.o ../../src/pydistorm.o ../../src/prefix.o ../../src/operands.o ../../src/insts.o ../../src/instructions.o ../../src/decoder.o +-CC = gcc +-CFLAGS = -O2 -Wall -fPIC ++CFLAGS+= -fPIC -I${LOCALBASE}/include + + all: clib py + +@@ -21,8 +20,7 @@ + ${CC} ${CFLAGS} ${VERSION} ${PYOBJS} -fPIC -shared -o ${TARGET} + + install: libdistorm64.so +- install -s ${TARGET} /usr/local/lib +- @echo "... running ldconfig might be smart ..." ++ ${INSTALL} -s libdistorm64.so XXPYTHON_LIBDIRXX/lib-dynload/distorm.so + + .c.o: + ${CC} ${CFLAGS} ${VERSION} -c $< -o $@ diff --git a/devel/py-distorm/pkg-descr b/devel/py-distorm/pkg-descr new file mode 100644 index 000000000000..13c3cbaf003d --- /dev/null +++ b/devel/py-distorm/pkg-descr @@ -0,0 +1,12 @@ +diStorm is a binary stream disassembler. It's capable of disassembling +80x86 instructions in 64 bits (AMD64, X86-64) and both in 16 and 32 bits. +In addition, it disassembles FPU, MMX, SSE, SSE2, SSE3, SSE4, 3DNow! (w/ +extensions), new x86-64 instruction sets, VMX, and AMD's SVM! diStorm was +written to decode quickly every instruction as accurately as possible. +Robust decoding, while taking special care for valid or unused prefixes, +is what makes this disassembler powerful, especially for research. +Another benefit that might come in handy is that the module was written +as multi-threaded, which means you could disassemble several streams or +more simultaneously. + +WWW: http://www.ragestorm.net/distorm/ diff --git a/devel/py-distorm/pkg-plist b/devel/py-distorm/pkg-plist new file mode 100644 index 000000000000..a0c8263fe334 --- /dev/null +++ b/devel/py-distorm/pkg-plist @@ -0,0 +1,6 @@ +%%PYTHON_LIBDIR%%/lib-dynload/distorm.so +%%PORTDOCS%%%%DOCSDIR%%/distorm.html +%%PORTDOCS%%%%DOCSDIR%%/qa.txt +%%PORTDOCS%%%%DOCSDIR%%/vol1.html +%%PORTDOCS%%%%DOCSDIR%%/vol2.html +%%PORTDOCS%%@dirrm %%DOCSDIR%% -- cgit v1.2.3