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