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
--- 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
+%%pyst...@dirrm %%PYTHON_SITELIBDIR%%/Pyste
@dirrm include/boost/python/suite/indexing/detail
@dirrm include/boost/python/suite/indexing
@dirrm include/boost/python/suite
_______________________________________________
kde-freebsd mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-freebsd
See also http://freebsd.kde.org/ for latest information