1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-02-06 11:41:52 +00:00
Max Brazhnikov fd8350558d Disable pyste by default (depends on abandoned gccxml, which
brings in gcc34 for modern systems).
Bump PORTREVISION.

PR:		ports/138770
Submitted by:	Mel Flynn <mel at rachie.is-a-geek.net>
Approved by:	Alexander Churanov (maintainer)
2009-11-28 21:48:09 +00:00

123 lines
3.9 KiB
Makefile

# Ports collection makefile for: boost-python-libs
# Date Created: 18 March 2009
# Whom: Alexander Churanov <churanov.port.maintainer@gmail.com>
#
# $FreeBSD$
#
PORTNAME= boost-python-libs
PORTREVISION= 1
COMMENT= Framework for interfacing Python and C++
USE_BZIP2= yes
USE_PYTHON= 2.4+
OPTIONS= VERBOSE_BUILD "Show compiler messages" off \
DEBUG "Build debugging symbols" off \
OPTIMIZED_CFLAGS "Enable -O3 optimization" off
.include <bsd.port.pre.mk>
.include "${PORTSDIR}/devel/boost-all/common.mk"
.include "${PORTSDIR}/devel/boost-all/sites.mk"
.include "${PORTSDIR}/devel/boost-all/compiled.mk"
MAKE_ENV+= PYTHON_ROOT="${LOCALBASE}"\
PYTHON_VERSION="${PYTHON_VERSION}"\
PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\
PYTHON_LIB_PATH="${PYTHON_LIBDIR}"
RUN_DEPENDS+= ${LOCALBASE}/lib/libboost_thread.so.${BOOST_SHARED_LIB_VER}:${PORTSDIR}/devel/boost-libs
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/elementtree/ElementTree.py:${PORTSDIR}/devel/py-elementtree
.if defined(WITH_PYSTE)
RUN_DEPENDS+= gccxml:${PORTSDIR}/devel/gccxml
PLIST_SUB+= PYSTE=
.else
PLIST_SUB+= PYSTE="@comment "
.endif
BUILD_DEPENDS+= ${BJAM}:${PORTSDIR}/devel/boost-jam
BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/elementtree/ElementTree.py:${PORTSDIR}/devel/py-elementtree
ESCAPED_PREFIX != echo ${PREFIX} | sed 's/\//\\\//g'
RELATIVE_PYTHON_SITELIBDIR != echo ${PYTHON_SITELIBDIR} | sed "s/${ESCAPED_PREFIX}\///"
PLIST_SUB+= PYTHON_SITELIBDIR=${RELATIVE_PYTHON_SITELIBDIR}
PLIST_SUB+= PYTHON_VERSION=${PYTHON_VERSION:C/python//1}
post-patch: customize-boost-build
.if defined(WITH_PYSTE)
post-configure:
# Configure pyste, the Boost.Python code generator
@cd ${BUILD_WRKSRC}/libs/python/pyste/install && \
${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} \
config ${PYDISTUTILS_CONFIGUREARGS}
.endif
do-build:
# build the library
cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_OPTIONS} --prefix=${PREFIX}\
--toolset=${BOOST_TOOLS} --with-python
# Build pyste, the Boost.Python code generator
cd ${BUILD_WRKSRC}/libs/python/pyste/install && \
${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} \
build ${PYDISTUTILS_BUILDARGS}
# Remove non-python headers
cd ${WRKSRC} && \
${FIND} boost -not -path '*boost/python*' -delete
do-install:
# Install libraries
${FIND} ${WRKSRC}/bin.v2/libs/python -type f -name "*.a"\
-exec ${INSTALL_DATA} \{\} ${PREFIX}/lib \;
${FIND} -E ${WRKSRC}/bin.v2/libs/python -type f \
-regex '.*so' \
-exec ${INSTALL_DATA} \{\} ${PREFIX}/lib \;
# Create symlink for shared library
cd ${PREFIX}/lib/ && \
${MV} "libboost_python.so" "libboost_python.so.${BOOST_SHARED_LIB_VER}" && \
${LN} -fs "libboost_python.so.${BOOST_SHARED_LIB_VER}" "libboost_python.so"
# Install headers
cd ${WRKSRC} && \
${FIND} boost -type d -a \! -name "*.orig"\
-exec ${MKDIR} ${PREFIX}/include/\{\} \;
cd ${WRKSRC} && \
${FIND} boost -type f -a \! -name "*.orig"\
-exec ${INSTALL_DATA} \{\} ${PREFIX}/include/\{\} \;
.if defined(WITH_PYSTE)
# Install pyste, the Boost.Python code generator
cd ${WRKSRC}/libs/python/pyste/install && \
${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} \
install ${PYDISTUTILS_INSTALLARGS}
.endif
post-install:
# display pkg-message
@${TOUCH} ${PKGMESSAGE}
@${CAT} ${PKG_MESSAGE_FILE_THREADS} >> ${PKGMESSAGE}
@${ECHO_CMD} >> ${PKGMESSAGE}
@${CAT} ${PKG_MESSAGE_FILE_PYTHON} >> ${PKGMESSAGE}
@${ECHO_CMD} >> ${PKGMESSAGE}
@${REINPLACE_CMD} \
-e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
-e "s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g" \
-e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \
-e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \
-e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE}
@if [ -s ${PKGMESSAGE} ]; then \
${ECHO_CMD} ; \
${ECHO_CMD} "===============================================================================" ; \
${ECHO_CMD} ; \
${CAT} ${PKGMESSAGE}; \
${ECHO_CMD} "===============================================================================" ; \
${ECHO_CMD} ; \
fi
.include <bsd.port.post.mk>