summaryrefslogtreecommitdiff
path: root/devel/boost-python
diff options
context:
space:
mode:
authorjmmv <jmmv>2008-01-04 19:58:39 +0000
committerjmmv <jmmv>2008-01-04 19:58:39 +0000
commitf8f2d9eb2aa334161c003cf1b4269301db7e8114 (patch)
tree9b9bd7d108a9bed0659b3ba8104a217cbf9c19d5 /devel/boost-python
parent14c8c133b06bb892c144e97e544d41614e56d349 (diff)
downloadpkgsrc-f8f2d9eb2aa334161c003cf1b4269301db7e8114.tar.gz
Update boost to 1.34.1. This is based on the patches provided by Brook Milligan
in PR pkg/36558. Committing it right after the freeze so that we have enough time to resolve the problems that this will surely cause. New Libraries * Foreach Library: BOOST_FOREACH macro for easily iterating over the elements of a sequence, from Eric Niebler. * Statechart Library: Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber. * TR1 Library: An implementation of the C++ Technical Report on Standard Library Extensions, from John Maddock. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1. Highlights include: Reference Wrappers, Smart Pointers, result_of, Function Object Binders, Polymorphic function wrappers, Type Traits, Random Number Generators and Distributions, Tuples, Fixed Size Array, Hash Function Objects, Regular Expressions and Complex Number Additional Algorithms. * Typeof Library: Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt. * Xpressive Library: Regular expressions that can be written as strings or as expression templates, and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler. Updated Libraries * Assign Library: o Support for ptr_map<key,T> via the new function ptr_map_insert() o Support for initialization of Pointer Containers when the containers hold pointers to an abstract base class. * Date_time library: o Support for new US/Canada timezone rules and other bug fixes. See Change History for details. * Filesystem Library: Major upgrade in preparation for submission to the C++ Standards Committee for TR2. Changes include: o Internationalization, provided by class templates basic_path, basic_filesystem_error, basic_directory_iterator and basic_directory_entry. o Simplification of the path interface by eliminating special constructors to identify native formats. o Rationalization of predicate function design, including the addition of several new functions. o Clearer specification by reference to POSIX, the ISO/IEEE Single Unix Standard, with provisions for Windows and other operating systems. o Preservation of existing user code whenever possible. o More efficient directory iteration. o Addition of a recursive directory iterator. * Function Library: Boost.Function now implements a small buffer optimization, which can drastically improve the performance when copying or constructing Boost.Function objects storing small function objects. For instance, bind(&X:foo, &x, _1, _2) requires no heap allocation when placed into a Boost.Function object. * Functional/Hash Library o Use declarations for standard classes, so that the library doesn't need to include all of their headers o Deprecated the <boost/functional/hash/*.hpp> headers. o Add support for the BOOST_HASH_NO_EXTENSIONS macro, which disables the extensions to TR1 o Minor improvements to the hash functions for floating point numbers. * Graph Library: o edmonds_maximum_cardinality_matching, from Aaron Windsor. o lengauer_tarjan_dominator_tree, from JongSoo Park. o compressed_sparse_row_graph, from Jeremiah Willcock and Douglas Gregor of Indiana University. o sorted_erdos_renyi_iterator, from Jeremiah Willcock of Indiana University. o biconnected_components now supports a visitor and named parameters, from Janusz Piwowarski. o adjacency_matrix now models the Bidirectional Graph concept. o dijkstra_shortest_paths now calls vis.initialize_vertex for each vertex during initialization. o Note: the name of the compiled library for the GraphViz reader has changed to boost_graph (from bgl-viz) to match Boost conventions. o See the complete revision history for more information. * MultiArray Library: Boost.MultiArray now by default provides range-checking for operator[]. Range checking can be disabled by defining the macro BOOST_DISABLE_ASSERTS before including multi_array.hpp. A bug in multi_array::resize() related to storage orders was fixed. * Multi-index Containers Library: o New random access indices. o Non key-based indices feature new rearrange facilities. o This version also includes a number of optimizations and usage improvements. For a complete list of changes, see the library release notes. * Optional Library: o boost::none_t and boost::none now added to Optional's documentation o Relational operators now directly support arguments of type 'T' and 'none_t' o operator->() now also works with reference types. o Helper functions make_optional(val), make_optional(cond,val) and get_optional_value_or(opt,alternative_value) added. o Constructor taking a boolean condition (as well as a value) added. o Member function get_value_or(alternative_value) added. o Incompatbility bug with mpl::apply<> fixed. o Converting assignment bug with uninitialized lvalues fixed. * Parameter Library: o Every ArgumentPack is now a valid MPL Forward Sequence. o Support for unnamed arguments (those whose keyword is deduced from their types) is added. o Support for named and unnamed template arguments is added. o New overload generation macros solve the forwarding problem directly. o See also the Python library changes, below. * Pointer Container Library: o Support for serialization via Boost.Serialization. o Exceptions can be disabled by defining the macro BOOST_PTR_CONTAINER_NO_EXCEPTIONS before including any header. This macro is defined by default if BOOST_NO_EXCEPTIONS is defined. o Additional std::auto_ptr<T> overloads added s.t. one can also pass std::auto_ptr<T> instead of only T* arguments to member functions. o transfer() now has weaker requirements s.t. one can transfer objects from ptr_container<Derived> to ptr_container<Base>, * Python Library: o Boost.Python now automatically appends C++ signatures to docstrings. The new docstring_options.hpp header is available to control the content of docstrings. o stl_input_iterator, for turning a Python iterable object into an STL input iterator, from Eric Niebler. o Support for void* conversions is added. o Integrated support for wrapping C++ functions built with the parameter library; keyword names are automatically known to docsstrings. o Enhancements to the API for better embedding support (boost::python::import(), boost::python::exec() and boost::python::exec_file()). * Signals Library: More improvements to signal invocation performance from Robert Zeh. * Smart Pointers Library: o Allocator support as proposed in N1851 (162 Kb PDF). o pointer_cast and pointer_to_other utilities to allow pointer-independent code, from Ion Gaztanaga. * String Algorithm Library: o lexicographical_compare o join o New comparison predicates is_less, is_not_greater. o Negative indexes support (like Perl) in various algorihtms (*_head/tail, *_nth). * Wave Library: o Wave now correctly recognizes pp-number tokens as mandated by the C++ Standard, which are converted to C++ tokens right before they are returned from the library. o Several new preprocessing hooks have been added. For a complete description please refer to the related documentation page: The Context Policy. o Shared library (dll) support has been added for the generated Wave libraries. o The overall error handling has been improved. It is now possible to recover and continue after an error or a warning was issued. o Support for optional comment and/or full whitespace preservation in the generated output stream has been added. o The Wave library now performs automatic include guard detection to avoid accessing header files more than once, if appropriate. o Full interactive mode has been added to the Wave tool. Now the Wave tool can be used just like Python or Perl for instance to interactively try out your BOOST_PP macros. Additionally it is now possible to load and save the current state of an interactive session (macro tables et.al.). o The overall performance has been improved by upto 40-60%, depending on the concrete files to process. o Support for new pragmas has been added allowing to control certain library features from inside the preprocessed sources (partial output redirection, control of generated whitespace and #line directives). o Optional support for #pragma message "..." has been added. o This version also includes a number of bug fixes and usage improvements. For a complete list of changes, see the libraries change log.
Diffstat (limited to 'devel/boost-python')
-rw-r--r--devel/boost-python/Makefile11
-rw-r--r--devel/boost-python/PLIST5
-rw-r--r--devel/boost-python/buildlink3.mk6
3 files changed, 13 insertions, 9 deletions
diff --git a/devel/boost-python/Makefile b/devel/boost-python/Makefile
index 2a86621e3b8..955be19cf64 100644
--- a/devel/boost-python/Makefile
+++ b/devel/boost-python/Makefile
@@ -1,20 +1,23 @@
-# $NetBSD: Makefile,v 1.7 2007/06/02 17:51:49 jmmv Exp $
+# $NetBSD: Makefile,v 1.8 2008/01/04 19:58:40 jmmv Exp $
#
BOOST_PACKAGE= python
BOOST_COMMENT= (Boost.Python binary library)
BOOST_CONFIG= installed
-PKGREVISION= 1
.include "../../meta-pkgs/boost/Makefile.common"
BJAM_ARGS+= --with-python
-BJAM_ARGS+= -sPYTHON_ROOT=${PREFIX}
-BJAM_ARGS+= -sPYTHON_VERSION=${PYVERSSUFFIX}
+MAKE_ENV+= HOME=${WRKSRC}
.include "../../devel/boost-jam/bjam.mk"
.include "../../lang/python/application.mk"
+post-configure:
+ echo 'using python : ${PYVERSSUFFIX} :' \
+ '${PREFIX}/bin/python${PYVERSSUFFIX} ;' \
+ >${WRKSRC}/user-config.jam
+
do-build: bjam-build
do-install: boost-install-libs
diff --git a/devel/boost-python/PLIST b/devel/boost-python/PLIST
index 914bbd8e094..ee6e88df676 100644
--- a/devel/boost-python/PLIST
+++ b/devel/boost-python/PLIST
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.3 2005/06/18 14:32:39 jmmv Exp $
+@comment $NetBSD: PLIST,v 1.4 2008/01/04 19:58:41 jmmv Exp $
+lib/libboost_python-mt-d.a
+lib/libboost_python-mt-d.so
lib/libboost_python-mt.a
lib/libboost_python-mt.so
-lib/libboost_python-mt.so.${PKGVERSION}
diff --git a/devel/boost-python/buildlink3.mk b/devel/boost-python/buildlink3.mk
index a264a65ba97..28d5086ecb1 100644
--- a/devel/boost-python/buildlink3.mk
+++ b/devel/boost-python/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.11 2006/07/08 23:10:41 jlam Exp $
+# $NetBSD: buildlink3.mk,v 1.12 2008/01/04 19:58:41 jmmv Exp $
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
BOOST_PYTHON_BUILDLINK3_MK:= ${BOOST_PYTHON_BUILDLINK3_MK}+
@@ -13,8 +13,8 @@ BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}boost-python
.if !empty(BOOST_PYTHON_BUILDLINK3_MK:M+)
# Use a dependency pattern that guarantees the proper ABI.
-BUILDLINK_API_DEPENDS.boost-python+= boost-python-1.33.*
-BUILDLINK_ABI_DEPENDS.boost-python?= boost-python>=1.33.1nb1
+BUILDLINK_API_DEPENDS.boost-python+= boost-python-1.34.*
+BUILDLINK_ABI_DEPENDS.boost-python?= boost-python>=1.34.*
BUILDLINK_PKGSRCDIR.boost-python?= ../../devel/boost-python
.endif