diff options
author | jmmv <jmmv@pkgsrc.org> | 2008-01-04 19:58:39 +0000 |
---|---|---|
committer | jmmv <jmmv@pkgsrc.org> | 2008-01-04 19:58:39 +0000 |
commit | 106f6e10a540663e81edcf0839ada919bf2d150b (patch) | |
tree | 9b9bd7d108a9bed0659b3ba8104a217cbf9c19d5 /devel/boost-libs | |
parent | f3ff9a627fcbd371c3969c7770e0ae8ee559c394 (diff) | |
download | pkgsrc-106f6e10a540663e81edcf0839ada919bf2d150b.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-libs')
-rw-r--r-- | devel/boost-libs/Makefile | 3 | ||||
-rw-r--r-- | devel/boost-libs/PLIST | 47 | ||||
-rw-r--r-- | devel/boost-libs/buildlink3.mk | 4 | ||||
-rw-r--r-- | devel/boost-libs/hacks.mk | 7 |
4 files changed, 38 insertions, 23 deletions
diff --git a/devel/boost-libs/Makefile b/devel/boost-libs/Makefile index 9dc06010a7a..2a46d171216 100644 --- a/devel/boost-libs/Makefile +++ b/devel/boost-libs/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2007/06/02 17:51:48 jmmv Exp $ +# $NetBSD: Makefile,v 1.8 2008/01/04 19:58:40 jmmv Exp $ # BOOST_PACKAGE= libs @@ -9,7 +9,6 @@ BOOST_INSTALL_LIBS= yes .include "../../meta-pkgs/boost/Makefile.common" BJAM_ARGS+= --without-python -BJAM_ARGS+= --without-serialization # Requires wide I/O .include "../../devel/boost-jam/bjam.mk" diff --git a/devel/boost-libs/PLIST b/devel/boost-libs/PLIST index 6daa9cc2951..54c3e784b22 100644 --- a/devel/boost-libs/PLIST +++ b/devel/boost-libs/PLIST @@ -1,32 +1,55 @@ -@comment $NetBSD: PLIST,v 1.3 2005/08/12 20:58:45 jmmv Exp $ +@comment $NetBSD: PLIST,v 1.4 2008/01/04 19:58:40 jmmv Exp $ +lib/libboost_date_time-mt-d.a +lib/libboost_date_time-mt-d.so lib/libboost_date_time-mt.a lib/libboost_date_time-mt.so -lib/libboost_date_time-mt.so.${PKGVERSION} +lib/libboost_filesystem-mt-d.a +lib/libboost_filesystem-mt-d.so lib/libboost_filesystem-mt.a lib/libboost_filesystem-mt.so -lib/libboost_filesystem-mt.so.${PKGVERSION} +lib/libboost_graph-mt-d.a +lib/libboost_graph-mt-d.so +lib/libboost_graph-mt.a +lib/libboost_graph-mt.so +lib/libboost_iostreams-mt-d.a +lib/libboost_iostreams-mt-d.so lib/libboost_iostreams-mt.a lib/libboost_iostreams-mt.so -lib/libboost_iostreams-mt.so.${PKGVERSION} +lib/libboost_prg_exec_monitor-mt-d.a +lib/libboost_prg_exec_monitor-mt-d.so lib/libboost_prg_exec_monitor-mt.a lib/libboost_prg_exec_monitor-mt.so -lib/libboost_prg_exec_monitor-mt.so.${PKGVERSION} +lib/libboost_program_options-mt-d.a +lib/libboost_program_options-mt-d.so lib/libboost_program_options-mt.a lib/libboost_program_options-mt.so -lib/libboost_program_options-mt.so.${PKGVERSION} +lib/libboost_regex-mt-d.a +lib/libboost_regex-mt-d.so lib/libboost_regex-mt.a lib/libboost_regex-mt.so -lib/libboost_regex-mt.so.${PKGVERSION} +lib/libboost_serialization-mt-d.a +lib/libboost_serialization-mt-d.so +lib/libboost_serialization-mt.a +lib/libboost_serialization-mt.so +lib/libboost_signals-mt-d.a +lib/libboost_signals-mt-d.so lib/libboost_signals-mt.a lib/libboost_signals-mt.so -lib/libboost_signals-mt.so.${PKGVERSION} +lib/libboost_test_exec_monitor-mt-d.a lib/libboost_test_exec_monitor-mt.a -lib/libboost_test_exec_monitor-mt.so -lib/libboost_test_exec_monitor-mt.so.${PKGVERSION} +lib/libboost_thread-mt-d.a +lib/libboost_thread-mt-d.so lib/libboost_thread-mt.a lib/libboost_thread-mt.so -lib/libboost_thread-mt.so.${PKGVERSION} +lib/libboost_unit_test_framework-mt-d.a +lib/libboost_unit_test_framework-mt-d.so lib/libboost_unit_test_framework-mt.a lib/libboost_unit_test_framework-mt.so -lib/libboost_unit_test_framework-mt.so.${PKGVERSION} +lib/libboost_wave-mt-d.a +lib/libboost_wave-mt-d.so lib/libboost_wave-mt.a +lib/libboost_wave-mt.so +lib/libboost_wserialization-mt-d.a +lib/libboost_wserialization-mt-d.so +lib/libboost_wserialization-mt.a +lib/libboost_wserialization-mt.so diff --git a/devel/boost-libs/buildlink3.mk b/devel/boost-libs/buildlink3.mk index e92f5ea06fe..48c88ee726e 100644 --- a/devel/boost-libs/buildlink3.mk +++ b/devel/boost-libs/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.8 2006/07/08 23:10:41 jlam Exp $ +# $NetBSD: buildlink3.mk,v 1.9 2008/01/04 19:58:40 jmmv Exp $ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ BOOST_LIBS_BUILDLINK3_MK:= ${BOOST_LIBS_BUILDLINK3_MK}+ @@ -13,7 +13,7 @@ BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}boost-libs .if !empty(BOOST_LIBS_BUILDLINK3_MK:M+) # Use a dependency pattern that guarantees the proper ABI. -BUILDLINK_API_DEPENDS.boost-libs+= boost-libs-1.33.* +BUILDLINK_API_DEPENDS.boost-libs+= boost-libs-1.34.* BUILDLINK_PKGSRCDIR.boost-libs?= ../../devel/boost-libs .endif # BOOST_LIBS_BUILDLINK3_MK diff --git a/devel/boost-libs/hacks.mk b/devel/boost-libs/hacks.mk deleted file mode 100644 index c0c4046edac..00000000000 --- a/devel/boost-libs/hacks.mk +++ /dev/null @@ -1,7 +0,0 @@ -# $NetBSD: hacks.mk,v 1.1 2006/08/23 08:52:54 jmmv Exp $ - -# GCC 3.3.3 enters an infinite loop under NetBSD/amd64 in Boost.Wave's -# insantiate_cpp_literalgrs.cpp source file. Avoid compiling it. -# To make things simple, apply the hack to all the platforms so that the -# builds are consistent. -BJAM_BUILD+= <define>BOOST_WAVE_SEPARATE_GRAMMAR_INSTANTIATION=0 |