1PORTNAME=	boost-libs
2PORTREVISION=	1
3PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
4
5PATCHDIR=	${.CURDIR}/../boost-libs/files
6
7COMMENT=	Framework for interfacing Python and C++
8WWW=		https://www.boost.org/
9
10LICENSE=	BSL-1.0
11LICENSE_FILE=	${WRKSRC}/LICENSE_1_0.txt
12
13BUILD_DEPENDS=	bjam:devel/boost-jam \
14		${PYNUMPY}
15LIB_DEPENDS=	libboost_thread.so:devel/boost-libs
16
17USES=		python:3.9-3.11
18USE_PYTHON=	flavors
19
20OPTIONS_DEFINE=	DEBUG OPTIMIZED_CFLAGS
21
22.include "${.CURDIR}/../boost-all/common.mk"
23
24.include "${.CURDIR}/../boost-all/compiled.mk"
25
26MAKE_ENV+=	PYTHON_ROOT="${LOCALBASE}"\
27		PYTHON_VERSION="${PYTHON_VERSION}"\
28		PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\
29		PYTHON_LIB_PATH="${PYTHON_LIBDIR}"
30
31MAKE_ARGS+=	--with-python
32ALL_TARGET=	stage
33
34.include <bsd.port.pre.mk>
35
36.if ${PYTHON_VER} == ${PYTHON_DEFAULT}
37PLIST_SUB+=	PY_DEFAULT_ONLY=""
38.else
39PLIST_SUB+=	PY_DEFAULT_ONLY="@comment "
40.endif
41
42pre-build:
43	@${ECHO_CMD} "using python : " ${PYTHON_VER} " : " ${PYTHON_CMD} " : " ${PYTHON_INCLUDEDIR} ";" >> ${WRKSRC}/tools/build/src/site-config.jam
44
45do-install:
46	@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p libboost* ${PREFIX}/lib
47# For some reasons BJAM forget about the links
48	@cd ${WRKSRC}/stage/ && ${FIND} lib -type l | ${PAX} -rw -p p ${PREFIX}
49# CMake part
50	@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_numpy*/*-py${PYTHON_VER}.cmake ${PREFIX}/lib
51	@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_python*/*-py${PYTHON_VER}.cmake ${PREFIX}/lib
52.if ${PYTHON_VER} == ${PYTHON_DEFAULT}
53	@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_numpy*/*-config*.cmake ${PREFIX}/lib
54	@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_python*/*-config*.cmake ${PREFIX}/lib
55.endif
56	@${FIND} ${PREFIX}/lib/cmake -type f -exec \
57		${REINPLACE_CMD} -i '' -e 's,${FAKE_DESTDIR},,' {} +
58
59post-install:
60# display pkg-message
61	@${TOUCH} ${PKGMESSAGE}
62	@${CAT} ${PKG_MESSAGE_FILE_THREADS} >> ${PKGMESSAGE}
63	@${ECHO_CMD} >> ${PKGMESSAGE}
64	@${CAT} ${PKG_MESSAGE_FILE_PYTHON} >> ${PKGMESSAGE}
65	@${ECHO_CMD} >> ${PKGMESSAGE}
66	@${REINPLACE_CMD} \
67		-e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
68		-e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \
69		-e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \
70		-e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE}
71	@${STRIP_CMD} ${PREFIX}/lib/libboost_python*.so.${PORTVERSION}
72
73.include <bsd.port.post.mk>
74