ports/173575: Fix devel/boost-python-libs with python-3.2

Shane Ambler FreeBSD at ShaneWare.Biz
Thu Feb 7 03:10:01 UTC 2013


The following reply was made to PR ports/173575; it has been noted by GNATS.

From: Shane Ambler <FreeBSD at ShaneWare.Biz>
To: bug-followup at FreeBSD.org, root at dhcp175-40-red.yandex.net
Cc:  
Subject: Re: ports/173575: Fix devel/boost-python-libs with python-3.2
Date: Thu, 07 Feb 2013 13:33:26 +1030

 This is a multi-part message in MIME format.
 --------------040503090307070403010804
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 
 
 While manually building devel/boost-python-libs against python 3.x can 
 be done there are two things to consider. First is that when 
 boost-python-libs is built against py3.x more lib files are generated 
 that aren't taken into account, they are libboost_python3 with .a .so 
 and .so.%%BOOST_SHARED_LIB_VER%% suffixes.
 
 The second issue is that when another port brings in boost-python-libs 
 as a dependency I don't see a way to make it build against python 3.x. 
 The only way I have found to make this work is to create another port 
 that only builds against python 3.x
 
 While blender did start using this for a while they have dropped it but 
 I thought I would still send this in.
 
 The attached patch is a duplicate of boost-python-libs v1.52 that is 
 adjusted to handle libboost_python3
 
 
 --------------040503090307070403010804
 Content-Type: text/plain; charset=UTF-8;
  name="boost-python3-libs.shar.txt"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="boost-python3-libs.shar.txt"
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	boost-python3-libs
 #	boost-python3-libs/pkg-descr
 #	boost-python3-libs/Makefile
 #	boost-python3-libs/pkg-plist
 #	boost-python3-libs/distinfo
 #
 echo c - boost-python3-libs
 mkdir -p boost-python3-libs > /dev/null 2>&1
 echo x - boost-python3-libs/pkg-descr
 sed 's/^X//' >boost-python3-libs/pkg-descr << 'b550f8a9c78fdc672b8482188f0f8fbe'
 XThe Boost Python Library is a framework for interfacing Python and
 XC++. It allows you to quickly and seamlessly expose C++ classes
 Xfunctions and objects to Python, and vice-versa, using no special
 Xtools -- just your C++ compiler.
 X
 XThe Boost.Pyste code generator resides in a separate port: devel/boost-pyste 
 X
 XWWW:  http://www.boost.org/
 b550f8a9c78fdc672b8482188f0f8fbe
 echo x - boost-python3-libs/Makefile
 sed 's/^X//' >boost-python3-libs/Makefile << '1cf62454427ea52f320dcde5970d8fa6'
 X# Created by: Shane Ambler FreeBSD at Shaneware.biz
 X# $FreeBSD$
 X
 XPORTNAME=	boost-python3-libs
 XCOMMENT=	Framework for interfacing Python and C++
 X
 XUSE_PYTHON=	3.3
 X
 XOPTIONS_DEFINE=	VERBOSE_BUILD DEBUG OPTIMIZED_CFLAGS
 XVERBOSE_BUILD_DESC=	Show compiler messages
 X
 X.include "${.CURDIR}/../boost-all/common.mk"
 X
 X.include <bsd.port.pre.mk>
 X.include "${PORTSDIR}/devel/boost-all/compiled.mk"
 X
 X.if ${ARCH} == "sparc64"
 XCXXFLAGS=	-O0
 X.endif
 X
 XMAKE_ENV+=	PYTHON_ROOT="${LOCALBASE}"\
 X		PYTHON_VERSION="${PYTHON_VERSION}"\
 X		PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\
 X		PYTHON_LIB_PATH="${PYTHON_LIBDIR}"
 X
 XRUN_DEPENDS+=	${LOCALBASE}/lib/libboost_thread.so.${BOOST_SHARED_LIB_VER}:${PORTSDIR}/devel/boost-libs
 X
 XBUILD_DEPENDS+=	${BJAM}:${PORTSDIR}/devel/boost-jam
 X
 Xdo-build:
 X	@${ECHO_CMD} "using python : " ${PYTHON_VER} " : " ${PYTHON_CMD} " : " ${PYTHON_INCLUDEDIR} ";" >> ${WRKSRC}/tools/build/v2/site-config.jam
 X# build the library
 X	@cd ${WRKSRC} && \
 X		${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_ARGS} --with-python stage
 X	@cd ${WRKSRC}/stage/lib && \
 X		( for l in lib*.so.*; do ${LN} -sf $${l} $${l%.*}; done )
 X
 Xdo-install:
 X	@cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p libboost_python3* ${PREFIX}/lib
 X# For some reasons BJAM forget about the links
 X	@cd ${WRKSRC}/stage/ && ${FIND} lib -type l -and -name "*python3*"| ${PAX} -rw -p p ${PREFIX}
 X
 Xpost-install:
 X# display pkg-message
 X	@${TOUCH} ${PKGMESSAGE}
 X	@${CAT} ${PKG_MESSAGE_FILE_THREADS} >> ${PKGMESSAGE}
 X	@${ECHO_CMD} >> ${PKGMESSAGE}
 X	@${CAT} ${PKG_MESSAGE_FILE_PYTHON} >> ${PKGMESSAGE}
 X	@${ECHO_CMD} >> ${PKGMESSAGE}
 X	@${REINPLACE_CMD} \
 X		-e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
 X		-e "s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g" \
 X		-e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \
 X		-e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \
 X		-e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" \
 X		-e "s|lboost_python|lboost_python3|g" ${PKGMESSAGE}
 X	@if [ -s ${PKGMESSAGE} ]; then \
 X		${CAT} ${PKGMESSAGE}; \
 X	fi
 X
 X.include <bsd.port.post.mk>
 1cf62454427ea52f320dcde5970d8fa6
 echo x - boost-python3-libs/pkg-plist
 sed 's/^X//' >boost-python3-libs/pkg-plist << 'fa9d78f602cdb42842893b3ad646b8c9'
 Xlib/libboost_python3.a
 Xlib/libboost_python3.so
 Xlib/libboost_python3.so.%%BOOST_SHARED_LIB_VER%%
 fa9d78f602cdb42842893b3ad646b8c9
 echo x - boost-python3-libs/distinfo
 sed 's/^X//' >boost-python3-libs/distinfo << '68befd15b5e213e21138162c83e9f83e'
 XSHA256 (boost_1_52_0.tar.bz2) = 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92
 XSIZE (boost_1_52_0.tar.bz2) = 54421709
 68befd15b5e213e21138162c83e9f83e
 exit
 
 
 --------------040503090307070403010804--


More information about the freebsd-office mailing list