ports/devel/py-keystone-engine/Makefile
Charlie Li 06a08e69f3
python: bump all USE_PYTHON=distutils consumers after RUN_DEPENDS removal
Any missed ports, feel free to bump.

Any ports that need setuptools at runtime can have the devel/py-setuptools
manually added back to RUN_DEPENDS, but understand that this practice
is deprecated; see CHANGES for details.
2025-03-07 23:05:21 -05:00

44 lines
1.6 KiB
Makefile

PORTNAME= keystone-engine
DISTVERSION= 0.9.1-3
PORTREVISION= 1
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= kai@FreeBSD.org
COMMENT= Keystone Assembler Engine with Python bindings
WWW= https://www.keystone-engine.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.TXT
USES= cmake:indirect 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 <bsd.port.mk>