Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Aug 2009 13:53:55 -0800
From:      Mel Flynn <mel.flynn+fbsd.ports@mailing.thruhere.net>
To:        freebsd-ports@freebsd.org
Cc:        kde-freebsd@kde.org, Alexander Churanov <alexanderchuranov@gmail.com>
Subject:   Re: devel/boost: new patch for testing update to 1.39
Message-ID:  <200908031353.56154.mel.flynn%2Bfbsd.ports@mailing.thruhere.net>
In-Reply-To: <3cb459ed0907310529r611cc1b1lb8a5c47b6722f6b6@mail.gmail.com>
References:  <3cb459ed0906290644x86ac44cu48fd8bba52d024f9@mail.gmail.com> <200907300819.44453.mel.flynn%2Bfbsd.ports@mailing.thruhere.net> <3cb459ed0907310529r611cc1b1lb8a5c47b6722f6b6@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908031353.56154.mel.flynn%2Bfbsd.ports>