diff --git a/devel/Makefile b/devel/Makefile index fdcc8cc2d502..cdd82788a079 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -4594,6 +4594,7 @@ SUBDIR += py-kaptan SUBDIR += py-kayako SUBDIR += py-kazoo + SUBDIR += py-keystone-engine SUBDIR += py-keystoneauth1 SUBDIR += py-keystonemiddleware SUBDIR += py-kid diff --git a/devel/py-keystone-engine/Makefile b/devel/py-keystone-engine/Makefile new file mode 100644 index 000000000000..9d256c91c360 --- /dev/null +++ b/devel/py-keystone-engine/Makefile @@ -0,0 +1,46 @@ +# $FreeBSD$ + +PORTNAME= keystone-engine +DISTVERSION= 0.9.1-3 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= freebsd_ports@k-worx.org +COMMENT= Keystone Assembler Engine with Python bindings + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.TXT + +BUILD_DEPENDS= cmake:devel/cmake + +USES= pkgconfig python +USE_PYTHON= distutils autoplist + +# setup.py loses track of its cwd when it switches over to the CMake build +# process and searches in ${WRKSRC}/src/build/lib instead of ${WRKSRC}/build/lib +# for the Python packages that were built before the CMake build process. +pre-install: + @${CP} -r ${WRKSRC}/build/lib ${WRKSRC}/src/build/lib + +# Next problem: The compiled library is not installed automatically by setup.py +# so it needs to be manually installed and stripped to the appropriate +# directory. +post-install: + ${INSTALL_LIB} ${WRKSRC}/src/build/llvm/lib/libkeystone.so \ + ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/keystone + +# Even without the both fixes (or hacks?) that were applied beforehand the +# .PLIST.pymodtmp has only the EGG files as a whole. Therefore the +# .PLIST.pymodtmp has to be regenerated in some way - it's a rather "dirty" +# hack to pass the stage-qa target. +# +# Another solution would a static pkg-plist but then the package has to be +# bound to a specific Python version or multiple package must be created for +# specific Python versions. +post-stage: + @${FIND} ${STAGEDIR} -type f -o -type l | \ + ${SORT} | ${SED} -e 's|${STAGEDIR}||' \ + > ${WRKDIR}/.PLIST.pymodtmp + +.include diff --git a/devel/py-keystone-engine/distinfo b/devel/py-keystone-engine/distinfo new file mode 100644 index 000000000000..2682cee205f4 --- /dev/null +++ b/devel/py-keystone-engine/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1523113145 +SHA256 (keystone-engine-0.9.1-3.tar.gz) = 0c415d1ae0c9c902188a09aea70e1985f1920ada4122a0e5017aca1a1cb35045 +SIZE (keystone-engine-0.9.1-3.tar.gz) = 2765503 diff --git a/devel/py-keystone-engine/pkg-descr b/devel/py-keystone-engine/pkg-descr new file mode 100644 index 000000000000..889f588a60e9 --- /dev/null +++ b/devel/py-keystone-engine/pkg-descr @@ -0,0 +1,13 @@ +Keystone is a lightweight multi-platform, multi-architecture assembler +framework. + +Highlight features: + +- Multi-architecture, with support for Arm, Arm64 (AArch64/Armv8), + Ethereum Virtual Machine, Hexagon, Mips, PowerPC, Sparc, SystemZ, & X86 + (include 16/32/64bit). +- Clean/simple/lightweight/intuitive architecture-neutral API. +- Thread-safe by design +- Implemented in C/C++ languages, with bindings for Python + +WWW: http://www.keystone-engine.org