From owner-freebsd-ports@FreeBSD.ORG Mon Aug 3 21:53:58 2009 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BDF51106566B for ; Mon, 3 Aug 2009 21:53:58 +0000 (UTC) (envelope-from mel.flynn+fbsd.ports@mailing.thruhere.net) Received: from mailhub.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id 32B808FC18 for ; Mon, 3 Aug 2009 21:53:57 +0000 (UTC) (envelope-from mel.flynn+fbsd.ports@mailing.thruhere.net) Received: from smoochies.rachie.is-a-geek.net (mailhub.lan.rachie.is-a-geek.net [192.168.2.11]) by mailhub.rachie.is-a-geek.net (Postfix) with ESMTP id 0FF6E7E82C; Mon, 3 Aug 2009 13:53:57 -0800 (AKDT) From: Mel Flynn To: freebsd-ports@freebsd.org Date: Mon, 3 Aug 2009 13:53:55 -0800 User-Agent: KMail/1.11.4 (FreeBSD/8.0-BETA2; KDE/4.2.4; i386; ; ) References: <3cb459ed0906290644x86ac44cu48fd8bba52d024f9@mail.gmail.com> <200907300819.44453.mel.flynn+fbsd.ports@mailing.thruhere.net> <3cb459ed0907310529r611cc1b1lb8a5c47b6722f6b6@mail.gmail.com> In-Reply-To: <3cb459ed0907310529r611cc1b1lb8a5c47b6722f6b6@mail.gmail.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_0x1dKNFZ+aQQms2" Message-Id: <200908031353.56154.mel.flynn+fbsd.ports@mailing.thruhere.net> Cc: kde-freebsd@kde.org, Alexander Churanov Subject: Re: devel/boost: new patch for testing update to 1.39 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Aug 2009 21:53:59 -0000 --Boundary-00=_0x1dKNFZ+aQQms2 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Friday 31 July 2009 04:29:06 Alexander Churanov wrote: > Now It's clear. Thank you for explanation. > The WITH_PYSTE was not in the options framework, that's why I've > missed this part of work. > > I see two possible solutions: > > 1) Put the WITH_PYSTE variable back. > 2) Create a separate port like devel/boost-pyste. > > The first is easy, however leads to dependeny issues like 'let's > verify that boost-python-libs is installed with PYSTE support'. > Provided that Pyste is actually used by someone, this may re-introduce > bug ports/123927 (see > http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/123927). > > The second is much more robust, but requires more work. This is also > harder because I am not a user of Boost.Pyste. Thus, correctness > verification would be expensive. I think for the time being PySTE support should be off by default, because it pulls in a second libc and databases/akonadi plus kdeedu[34] use boost-python and because gccxml looks like a dead project. I've attached a patch that does exactly this and also fixes WITH_DEBUG building. There's one issue commented in the Makefile that I'm unable to relate to anything I did, but am assuming it's from WITH_DEBUG as well. ports/123927 could be solved/prevented by using a WANT_BOOST_PYSTE in dependent ports that rely on boost having PYSTE and using PKGNAMESUFFIX plus pkg_info to verify if boost-python-libs is boost-python-pyste-libs - as a stop-gap. -- Mel --Boundary-00=_0x1dKNFZ+aQQms2 Content-Type: text/x-patch; charset="ISO-8859-1"; name="boost.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="boost.diff" --- Makefile.orig 2009-07-28 03:44:50.000000000 -0800 +++ Makefile 2009-08-03 00:55:34.000000000 -0800 @@ -25,9 +25,23 @@ PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\ PYTHON_LIB_PATH="${PYTHON_LIBDIR}" -RUN_DEPENDS+= ${PREFIX}/lib/libboost_thread.so.${BOOST_SHARED_LIB_VER}:${PORTSDIR}/devel/boost-libs -RUN_DEPENDS+= gccxml:${PORTSDIR}/devel/gccxml \ - ${PYTHON_SITELIBDIR}/elementtree/ElementTree.py:${PORTSDIR}/devel/py-elementtree +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 + +.if defined(WITH_DEBUG) +BOOST_BUILD= debug +# No idea how this gets enabled, but I'm getting it +OPTIM_SPEED= optimization-speed/ +.else +OPTIM_SPEED= / +BOOST_BUILD= release +.endif BUILD_DEPENDS+= ${BJAM}:${PORTSDIR}/devel/boost-jam BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/elementtree/ElementTree.py:${PORTSDIR}/devel/py-elementtree @@ -39,12 +53,13 @@ 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 @@ -52,19 +67,20 @@ ${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_OPTIONS} --prefix=${PREFIX}\ --toolset=${BOOST_TOOLS} --with-python +.if defined(WITH_PYSTE) # Build pyste, the Boost.Python code generator cd ${BUILD_WRKSRC}/libs/python/pyste/install && \ ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} \ build ${PYDISTUTILS_BUILDARGS} - +.endif # Remove non-python headers cd ${WRKSRC} && \ ${FIND} boost -not -path '*python*' -delete do-install: # Install libraries - ${INSTALL_DATA} ${WRKSRC}/bin.v2/libs/python/build/gcc-4.2.1/release/link-static/threading-multi/libboost_python.a ${PREFIX}/lib - ${INSTALL_DATA} ${WRKSRC}/bin.v2/libs/python/build/gcc-4.2.1/release/threading-multi/libboost_python.so.${PORTVERSION} ${PREFIX}/lib/libboost_python.so.${BOOST_SHARED_LIB_VER} + ${INSTALL_DATA} ${WRKSRC}/bin.v2/libs/python/build/gcc-4.2.1/${BOOST_BUILD}/link-static/${OPTIM_SPEED}threading-multi/libboost_python.a ${PREFIX}/lib + ${INSTALL_DATA} ${WRKSRC}/bin.v2/libs/python/build/gcc-4.2.1/${BOOST_BUILD}/${OPTIM_SPEED}threading-multi/libboost_python.so.${PORTVERSION} ${PREFIX}/lib/libboost_python.so.${BOOST_SHARED_LIB_VER} # Create symlink for shared library cd ${PREFIX}/lib/ && \ @@ -79,10 +95,12 @@ ${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 --- pkg-plist.orig 2009-07-28 03:44:50.000000000 -0800 +++ pkg-plist 2009-08-02 12:29:56.000000000 -0800 @@ -1,4 +1,4 @@ -bin/pyste.py +%%PYSTE%%bin/pyste.py include/boost/python.hpp include/boost/python/arg_from_python.hpp include/boost/python/args.hpp @@ -213,71 +213,71 @@ lib/libboost_python.a lib/libboost_python.so lib/libboost_python.so.%%BOOST_SHARED_LIB_VER%% -%%PYTHON_SITELIBDIR%%/Pyste-0.9.10-py%%PYTHON_VERSION%%.egg-info -%%PYTHON_SITELIBDIR%%/Pyste/ClassExporter.py -%%PYTHON_SITELIBDIR%%/Pyste/ClassExporter.pyc -%%PYTHON_SITELIBDIR%%/Pyste/ClassExporter.pyo -%%PYTHON_SITELIBDIR%%/Pyste/CodeExporter.py -%%PYTHON_SITELIBDIR%%/Pyste/CodeExporter.pyc -%%PYTHON_SITELIBDIR%%/Pyste/CodeExporter.pyo -%%PYTHON_SITELIBDIR%%/Pyste/CppParser.py -%%PYTHON_SITELIBDIR%%/Pyste/CppParser.pyc -%%PYTHON_SITELIBDIR%%/Pyste/CppParser.pyo -%%PYTHON_SITELIBDIR%%/Pyste/EnumExporter.py -%%PYTHON_SITELIBDIR%%/Pyste/EnumExporter.pyc -%%PYTHON_SITELIBDIR%%/Pyste/EnumExporter.pyo -%%PYTHON_SITELIBDIR%%/Pyste/Exporter.py -%%PYTHON_SITELIBDIR%%/Pyste/Exporter.pyc -%%PYTHON_SITELIBDIR%%/Pyste/Exporter.pyo -%%PYTHON_SITELIBDIR%%/Pyste/FunctionExporter.py -%%PYTHON_SITELIBDIR%%/Pyste/FunctionExporter.pyc -%%PYTHON_SITELIBDIR%%/Pyste/FunctionExporter.pyo -%%PYTHON_SITELIBDIR%%/Pyste/GCCXMLParser.py -%%PYTHON_SITELIBDIR%%/Pyste/GCCXMLParser.pyc -%%PYTHON_SITELIBDIR%%/Pyste/GCCXMLParser.pyo -%%PYTHON_SITELIBDIR%%/Pyste/HeaderExporter.py -%%PYTHON_SITELIBDIR%%/Pyste/HeaderExporter.pyc -%%PYTHON_SITELIBDIR%%/Pyste/HeaderExporter.pyo -%%PYTHON_SITELIBDIR%%/Pyste/MultipleCodeUnit.py -%%PYTHON_SITELIBDIR%%/Pyste/MultipleCodeUnit.pyc -%%PYTHON_SITELIBDIR%%/Pyste/MultipleCodeUnit.pyo -%%PYTHON_SITELIBDIR%%/Pyste/SingleCodeUnit.py -%%PYTHON_SITELIBDIR%%/Pyste/SingleCodeUnit.pyc -%%PYTHON_SITELIBDIR%%/Pyste/SingleCodeUnit.pyo -%%PYTHON_SITELIBDIR%%/Pyste/SmartFile.py -%%PYTHON_SITELIBDIR%%/Pyste/SmartFile.pyc -%%PYTHON_SITELIBDIR%%/Pyste/SmartFile.pyo -%%PYTHON_SITELIBDIR%%/Pyste/VarExporter.py -%%PYTHON_SITELIBDIR%%/Pyste/VarExporter.pyc -%%PYTHON_SITELIBDIR%%/Pyste/VarExporter.pyo -%%PYTHON_SITELIBDIR%%/Pyste/__init__.py -%%PYTHON_SITELIBDIR%%/Pyste/__init__.pyc -%%PYTHON_SITELIBDIR%%/Pyste/__init__.pyo -%%PYTHON_SITELIBDIR%%/Pyste/declarations.py -%%PYTHON_SITELIBDIR%%/Pyste/declarations.pyc -%%PYTHON_SITELIBDIR%%/Pyste/declarations.pyo -%%PYTHON_SITELIBDIR%%/Pyste/exporters.py -%%PYTHON_SITELIBDIR%%/Pyste/exporters.pyc -%%PYTHON_SITELIBDIR%%/Pyste/exporters.pyo -%%PYTHON_SITELIBDIR%%/Pyste/exporterutils.py -%%PYTHON_SITELIBDIR%%/Pyste/exporterutils.pyc -%%PYTHON_SITELIBDIR%%/Pyste/exporterutils.pyo -%%PYTHON_SITELIBDIR%%/Pyste/infos.py -%%PYTHON_SITELIBDIR%%/Pyste/infos.pyc -%%PYTHON_SITELIBDIR%%/Pyste/infos.pyo -%%PYTHON_SITELIBDIR%%/Pyste/policies.py -%%PYTHON_SITELIBDIR%%/Pyste/policies.pyc -%%PYTHON_SITELIBDIR%%/Pyste/policies.pyo -%%PYTHON_SITELIBDIR%%/Pyste/pyste.py -%%PYTHON_SITELIBDIR%%/Pyste/pyste.pyc -%%PYTHON_SITELIBDIR%%/Pyste/pyste.pyo -%%PYTHON_SITELIBDIR%%/Pyste/settings.py -%%PYTHON_SITELIBDIR%%/Pyste/settings.pyc -%%PYTHON_SITELIBDIR%%/Pyste/settings.pyo -%%PYTHON_SITELIBDIR%%/Pyste/utils.py -%%PYTHON_SITELIBDIR%%/Pyste/utils.pyc -%%PYTHON_SITELIBDIR%%/Pyste/utils.pyo -@dirrm %%PYTHON_SITELIBDIR%%/Pyste +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste-0.9.10-py%%PYTHON_VERSION%%.egg-info +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/ClassExporter.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/ClassExporter.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/ClassExporter.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/CodeExporter.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/CodeExporter.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/CodeExporter.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/CppParser.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/CppParser.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/CppParser.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/EnumExporter.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/EnumExporter.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/EnumExporter.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/Exporter.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/Exporter.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/Exporter.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/FunctionExporter.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/FunctionExporter.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/FunctionExporter.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/GCCXMLParser.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/GCCXMLParser.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/GCCXMLParser.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/HeaderExporter.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/HeaderExporter.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/HeaderExporter.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/MultipleCodeUnit.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/MultipleCodeUnit.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/MultipleCodeUnit.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/SingleCodeUnit.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/SingleCodeUnit.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/SingleCodeUnit.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/SmartFile.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/SmartFile.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/SmartFile.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/VarExporter.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/VarExporter.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/VarExporter.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/__init__.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/__init__.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/__init__.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/declarations.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/declarations.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/declarations.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/exporters.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/exporters.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/exporters.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/exporterutils.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/exporterutils.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/exporterutils.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/infos.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/infos.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/infos.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/policies.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/policies.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/policies.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/pyste.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/pyste.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/pyste.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/settings.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/settings.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/settings.pyo +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/utils.py +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/utils.pyc +%%PYSTE%%%%PYTHON_SITELIBDIR%%/Pyste/utils.pyo +%%PYSTE%%@dirrm %%PYTHON_SITELIBDIR%%/Pyste @dirrm include/boost/python/suite/indexing/detail @dirrm include/boost/python/suite/indexing @dirrm include/boost/python/suite --Boundary-00=_0x1dKNFZ+aQQms2--