New port: security/py-pyvex
PyVEX provides an interface that translates binary code into the VEX intermediate represenation (IR). WWW: https://github.com/angr/pyvex PR: 244562
This commit is contained in:
parent
f4ac01ef68
commit
eec85f9b32
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=527657
42
security/py-pyvex/Makefile
Normal file
42
security/py-pyvex/Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= pyvex
|
||||
PORTVERSION= 8.20.1.7
|
||||
CATEGORIES= security devel python
|
||||
MASTER_SITES= CHEESESHOP
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
||||
MAINTAINER= 0mp@FreeBSD.org
|
||||
COMMENT= Python interface to libVEX and VEX IR
|
||||
|
||||
LICENSE= BSD2CLAUSE GPLv2+ GPLv3
|
||||
LICENSE_COMB= multi
|
||||
LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/LICENSE
|
||||
LICENSE_FILE_GPLv2+ = ${WRKSRC}/vex/LICENSE.GPL
|
||||
LICENSE_FILE_GPLv3= ${WRKSRC}/pyvex_c/LICENSE
|
||||
|
||||
BUILD_DEPENDS= ${_MY_DEPENDS}
|
||||
RUN_DEPENDS= ${_MY_DEPENDS} \
|
||||
${PYTHON_PKGNAMEPREFIX}archinfo>0:devel/py-archinfo@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}future>0:devel/py-future@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pycparser>0:devel/py-pycparser@${PY_FLAVOR}
|
||||
|
||||
USES= gmake localbase python:3.5+
|
||||
USE_CSTD= c99
|
||||
USE_PYTHON= autoplist distutils
|
||||
|
||||
MAKE_ENV= EXTRA_CFLAGS="${CFLAGS}"
|
||||
|
||||
_MY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.0.3:devel/py-cffi@${PY_FLAVOR}
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%CFLAGS%%|${CFLAGS}|g' \
|
||||
-e 's|%%LDFLAGS%%|${LDFLAGS}|g' \
|
||||
${WRKSRC}/pyvex_c/Makefile
|
||||
@${REINPLACE_CMD} -e 's|%%MAKE_JOBS_NUMBER%%|${MAKE_JOBS_NUMBER}|g' \
|
||||
${WRKSRC}/setup.py
|
||||
|
||||
post-install:
|
||||
@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME}/lib/lib${PORTNAME}.so
|
||||
|
||||
.include <bsd.port.mk>
|
3
security/py-pyvex/distinfo
Normal file
3
security/py-pyvex/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1583168013
|
||||
SHA256 (pyvex-8.20.1.7.tar.gz) = 16d84ffb61d70d735861599d9f8cb21c33a22cbc9852de4acaa6569991a2e1ce
|
||||
SIZE (pyvex-8.20.1.7.tar.gz) = 1729320
|
28
security/py-pyvex/files/patch-pyvex__c_Makefile
Normal file
28
security/py-pyvex/files/patch-pyvex__c_Makefile
Normal file
@ -0,0 +1,28 @@
|
||||
--- pyvex_c/Makefile.orig 2019-04-16 21:08:49 UTC
|
||||
+++ pyvex_c/Makefile
|
||||
@@ -4,6 +4,11 @@ ifeq ($(UNAME), Darwin)
|
||||
STATIC_LIBRARY_FILE=libpyvex.a
|
||||
LDFLAGS=-Wl,-install_name,$(LIBRARY_FILE)
|
||||
endif
|
||||
+ifeq ($(UNAME), FreeBSD)
|
||||
+ LIBRARY_FILE=libpyvex.so
|
||||
+ STATIC_LIBRARY_FILE=libpyvex.a
|
||||
+ LDFLAGS=-Wl,-soname,$(LIBRARY_FILE) %%LDFLAGS%%
|
||||
+endif
|
||||
ifeq ($(UNAME), Linux)
|
||||
LIBRARY_FILE=libpyvex.so
|
||||
STATIC_LIBRARY_FILE=libpyvex.a
|
||||
@@ -27,10 +32,10 @@ sp +=
|
||||
qs = $(subst ?,$(sp),$1)
|
||||
sq = $(subst $(sp),?,$1)
|
||||
|
||||
-CC=gcc
|
||||
-AR=ar
|
||||
+CC?=gcc
|
||||
+AR?=ar
|
||||
INCFLAGS=-I "$(VEX_INCLUDE_PATH)"
|
||||
-CFLAGS=-g -O2 -Wall -shared -fPIC -std=c99 $(INCFLAGS)
|
||||
+CFLAGS=-g %%CFLAGS%% -Wall -shared -fPIC $(INCFLAGS)
|
||||
|
||||
OBJECTS=pyvex.o logging.o analysis.o postprocess.o
|
||||
HEADERS=pyvex.h
|
28
security/py-pyvex/files/patch-setup.py
Normal file
28
security/py-pyvex/files/patch-setup.py
Normal file
@ -0,0 +1,28 @@
|
||||
--- setup.py.orig 2020-01-08 00:58:26 UTC
|
||||
+++ setup.py
|
||||
@@ -73,10 +73,8 @@ def _build_vex():
|
||||
e['MULTIARCH'] = '1'
|
||||
e['DEBUG'] = '1'
|
||||
|
||||
- cmd1 = ['nmake', '/f', 'Makefile-msvc', 'all']
|
||||
- cmd2 = ['make', '-f', 'Makefile-gcc', '-j', str(multiprocessing.cpu_count()), 'all']
|
||||
- cmd3 = ['gmake', '-f', 'Makefile-gcc', '-j', str(multiprocessing.cpu_count()), 'all']
|
||||
- for cmd in (cmd1, cmd2, cmd3):
|
||||
+ cmd3 = ['gmake', '-f', 'Makefile-gcc', '-j', '%%MAKE_JOBS_NUMBER%%', 'all']
|
||||
+ for cmd in (cmd3,):
|
||||
try:
|
||||
if subprocess.call(cmd, cwd=VEX_PATH, env=e) == 0:
|
||||
break
|
||||
@@ -91,10 +89,8 @@ def _build_pyvex():
|
||||
e['VEX_INCLUDE_PATH'] = os.path.join(VEX_PATH, 'pub')
|
||||
e['VEX_LIB_FILE'] = os.path.join(VEX_PATH, 'libvex.lib')
|
||||
|
||||
- cmd1 = ['nmake', '/f', 'Makefile-msvc']
|
||||
- cmd2 = ['make', '-j', str(multiprocessing.cpu_count())]
|
||||
- cmd3 = ['gmake', '-j', str(multiprocessing.cpu_count())]
|
||||
- for cmd in (cmd1, cmd2, cmd3):
|
||||
+ cmd3 = ['gmake', '-j', '%%MAKE_JOBS_NUMBER%%']
|
||||
+ for cmd in (cmd3,):
|
||||
try:
|
||||
if subprocess.call(cmd, cwd='pyvex_c', env=e) == 0:
|
||||
break
|
11
security/py-pyvex/files/patch-vex_Makefile-gcc
Normal file
11
security/py-pyvex/files/patch-vex_Makefile-gcc
Normal file
@ -0,0 +1,11 @@
|
||||
--- vex/Makefile-gcc.orig 2020-03-02 17:34:06 UTC
|
||||
+++ vex/Makefile-gcc
|
||||
@@ -44,7 +44,7 @@ CFLAGS := -Ipub -Ipriv \
|
||||
ifeq ($(DEBUG),1)
|
||||
CFLAGS += -g
|
||||
else
|
||||
-CFLAGS += -O2
|
||||
+#CFLAGS += -O2
|
||||
endif
|
||||
|
||||
# These are a separate set of defines that compile for parallel environments
|
4
security/py-pyvex/pkg-descr
Normal file
4
security/py-pyvex/pkg-descr
Normal file
@ -0,0 +1,4 @@
|
||||
PyVEX provides an interface that translates binary code into the VEX
|
||||
intermediate represenation (IR).
|
||||
|
||||
WWW: https://github.com/angr/pyvex
|
Loading…
Reference in New Issue
Block a user