freebsd-ports/devel/py-keystone-engine/Makefile
Rene Ladan 3d9a815d9c all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.

Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.

finance/quickfix: mark BROKEN with PYTHON

libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++ -DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable -Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi -Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings -Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x -MT _quickfix_la-QuickfixPython.lo -MD -MP -MF .deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp  -fPIC -DPIC -o .libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
          ^~~~~~~~~~
1 warning and 1 error generated.

Reviewed by:	portmgr, vishwin, yuri
Differential Revision:	<https://reviews.freebsd.org/D40568>
2023-06-27 21:34:34 +02:00

47 lines
1.8 KiB
Makefile

PORTNAME= keystone-engine
DISTVERSION= 0.9.1-3
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
BROKEN_FreeBSD_12_powerpc64= fails to install: /wrkdirs/usr/ports/devel/py-keystone-engine/work-py36/keystone-engine-0.9.1-3/src/build/llvm/lib/libkeystone.so: No such file or directory
BUILD_DEPENDS= cmake:devel/cmake-core
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 <bsd.port.mk>