Subject: CVS commit: pkgsrc
From: Ryo ONODERA
Date: 2019-08-22 14:17:53
Message id: 20190822121753.645EFFBF4@cvs.NetBSD.org

Log Message:
Update to 1.71.0

Changelog:

New Libraries

    Variant2: A never-valueless, strong guarantee implementation of \ 
std::variant, from Peter Dimov.

Updated Libraries

    Align:
        Support for any integral type in the integral versions of align_up and \ 
align_down.
        Revised the implementation of aligned_allocator to no longer require a \ 
specialization for void.
        Define propagate_on_container_move_assignment and is_always_equal in \ 
aligned_allocator.
    Asio:
        Improved performance slightly by eliminating a redundant move \ 
construction when completed handlers are dispatched.
        Eliminated a compiler warning by annotating a case fall-through in the \ 
free function connect() implementation.
        Fixed the is_*_buffer_sequence detection traits for user-defined \ 
sequence types.
        Fixed some Windows-specific warnings about an incompatible pointer cast \ 
when obtaining the CancelIoEx entry point.
        Changed to automatically set the defaults when opening a serial port on \ 
Windows.
        Changed the serial port get_option() member function to be const.
        Fixed a name hiding issue with the WinRT stream-oriented socket \ 
backend's shutdown function.
        Applied a minor fix to the documentation for is_dynamic_buffer.
        Added some support for Haiku OS.
        Added wolfSSL compatability.
        Changed to require C++17 or later for coroutines TS support with clang.
        Fixed a doxygen generation problem in the tutorial.
        Ensured example programs are correctly incorporated into the documentation.
    Any:
        Static initialization of the default constructed boost::any is now possible.
        Fixed performance regression in assignment on a compilers without \ 
move-semantics.
        Maintenance work.
    Beast:
        This version consists mostly of bug fixes and performance improvements.
        Substantial work included for the split compilation mode, to reduce \ 
compile time when defining BOOST_BEAST_SEPARATE_COMPILATION.
        We'd love to know how you or your company use Beast, consider adding an \ 
item to the Companies and Individuals Using Beast list.
        See the full Release Notes for a complete list of changes.
    Circular Buffer:
        Correct doxygen generated reference to no longer show internal members. \ 
(Glen Fernandes)
        Eliminate ubsan warning on add and sub. (Glen Fernandes)
        Fix incorrect check in is_uninitialized. (Niklas Fejes)
    Container:
        Fixed bugs:
            GitHub #47: "added alignment specification for small_vector".
            GitHub #88: "Implement C++17 MoveAssignable requirements for \ 
self-move assignments".
            GitHub #107: "Alignment ignored in resource_adaptor".
            GitHub #109: "Get rid of integer overflow in copy_move_algo.hpp \ 
(-fsanitize=integer)".
            GitHub #110: "Avoid gcc 9 deprecated copy warnings in \ 
new_allocator.hpp".
            GitHub #112: "vector::resize() compilation error with \ 
msvc-10..12: data is not a member of boost::detail::aligned_storage".
            GitHub #114: "Fix small_vector noexcept specification".
            GitHub #116: "MSVC + boost 1.70 compilation error when \ 
windows.h is already included (detail/thread_mutex.hpp)".
            GitHub #117: "flat_map/map::insert_or_assign with hint has \ 
wrong return types".
            GitHub #118: "Non-unique inplace_set_difference used in in \ 
flat_tree_merge_unique and iterator invalidation in insert_unique".
            GitHub #122: "Fix has_trivial_destructor_after_move".
            GitHub #123: "With heterogeneous lookup, equal_range can result \ 
in a range with length greater than 1".
        deque can now have options, using deque_options. The block size/bytes \ 
can be be specified.
        static_vector can now have options, using static_vector_options. \ 
Alignment and throwing behaviour can be be specified.
        small_vector can now have options, using small_vector_options. Alignment \ 
and growth factor can be be specified.
    Context:
        Add support for RISC-V LP64D
        #72: Fix ABI violation on ppc64 ELFv2
        #99: cleanup of stack if creating ucontext fails
    Conversion:
        Maintenance work.
    Core:
        Added functions alloc_construct, alloc_construct_n, alloc_destroy, and \ 
alloc_destroy_n in <boost/core/alloc_construct.hpp> for allocator aware \ 
and exception safe construction and destruction of objects and arrays. (Glen \ 
Fernandes)
        Added constexpr functions first_scalar in \ 
<boost/core/first_scalar.hpp> for obtaining a pointer to the first scalar \ 
element of an array. Given a pointer of type T* they return a pointer of type \ 
remove_all_extents_t<T>*. (Glen Fernandes)
        Added class template noinit_adaptor in \ 
<boost/core/noinit_adaptor.hpp> which is an allocator adaptor that \ 
converts any allocator into one whose construct(ptr) performs default \ 
initialization via placement new, and whose destroy(ptr) invokes the value_type \ 
destructor directly. (Glen Fernandes)
        Added class template default_allocator in \ 
<boost/core/default_allocator.hpp>, which can serve as a minimal default \ 
allocator that has interface similar to C++20 std::allocator, supports \ 
configurations with disabled exceptions and does not have std as an associated \ 
namespace. The allocator uses operator new and operator delete for allocation. \ 
(Glen Fernandes)
        In <boost/core/uncaught_exceptions.hpp> header, added workarounds \ 
for better compatibility with QNX SDP 7.0 when libc++/libc++abi libraries are \ 
used. (Andrey Semashev, #59)
        The <boost/detail/sp_typeinfo.hpp> header is now marked as \ 
deprecated and will be removed in a future release. \ 
<boost/core/typeinfo.hpp> should be used instead. (Peter Dimov)
    Dynamic Bitset:
        Enabled hardware-assisted popcount on MSVC (#38).
        Added support for boost::hash and std::hash (#45).
        Support copy-initialization with default constructor (#48).
    Endian:
        Clarified requirements on the value type template parameter
        Added support for float and double
        Added endian_load, endian_store
        Updated endian_reverse to correctly support all non-bool integral types
        Moved deprecated names to the deprecated header endian.hpp
    Fiber:
        documentation for shared_work updated
    Filesystem:
        Fixed incorrect error_code returned from directory iterator increment \ 
when readdir_r is used.
        For path, fixed rvalue-aware operator/ return type to return an rvalue \ 
instead of rvalue reference. This fixes leaving a dangling reference in the \ 
user's code if the result of operator/ is bound to a const reference. (#110)
        Fixes for better compatibility with Windows CE. (#24)
        Added minimal support for CMake. (#106)
    Flyweight:
        Maintenance work.
    Histogram:
        New features:
            Support for thread-safe storages and new thread-safe accumulators
            Support for compiling without exceptions/RTTI (increases performance \ 
by 10-20 %) (with Glen Fernandes)
            Performance improvements for 1D and 2D histograms
            boost::histogram::indexed now returns forward iterator range instead \ 
of input iterator range
            boost::histogram::indexed_range::accessor is now non-copyable and \ 
acts like reference to cell value, making more algorithms from the C++ stdlib \ 
work
            boost::histogram::algorithm::reduce with new slice option and option \ 
fusion
            boost::histogram::algorithm::project accepts runtime indices for \ 
static histograms
        Bug Fixes:
            boost::histogram::algorithm::reduce also works on histograms that \ 
have some axis types without reduction support
            boost::histogram::axis::traits::update now works correctly for \ 
boost::histogram::axis::variant
        Other:
            100 % test coverage
            Reduced internal Boost dependencies
            Improved documentation and examples
            Guaranteed no-throw moves for all builtin axis types
            Compile cleanly at higher warning levels
        See changelog for more details.
    IoStreams:
        Fixed processing of multi-stream files (#87).
        Added support for multi-threaded LZMA (#95).
    Interprocess:
        GitHub #85 ("warning: Implicit conversion loses integer \ 
precision").
        GitHub #86 ("warning: Possible misuse of comma operator").
    Intrusive:
        GitHub #42: Documentation does not describe treap priority_of_value changes
        GitHub #43: Fix tests with BOOST_INTRUSIVE_VARIADIC_TEMPLATES enabled
        GitHub #45: Disable variadic templates for MSVC-12 to avoid ICEs
    LexicalCast:
        Added tests for boost::filesystem::path conversions #25.
        Maintenance work, including #28.
    Log:
        New features:
            Improved support for C++17 std::string_view in \ 
basic_formatting_ostream. The string view can now participate in character code \ 
conversion on output.
            Added auto_newline formatter and stream manipulator. It can be used \ 
to ensure that formatted output always ends with a newline while avoiding \ 
duplicate newlines.
            In the output stream, text file and text multi-file sink backends \ 
added support for configuring behavior with regard to appending a trailing \ 
newline to every formatted log record. Use auto_newline_mode named parameter of \ 
the backend constructor or call the set_auto_newline_mode method on the sink \ 
backend.
            Note: The default behavior with regard to trailing newlines added by \ 
sink backends has changed slightly compared to the previous Boost.Log releases. \ 
The backends will now only add a trailing newline if there isn't one in the \ 
formatted log message string already. In previous releases a newline was added \ 
unconditionally.
            Added support for passing arbitrary function objects in the filter \ 
and format named parameters to sink constructors and convenience functions for \ 
initializing sinks. For example, it is now possible to specify C++11 lambda \ 
functions directly in these parameters. (#63)
            In the default filter and formatter factories used in filter and \ 
formatter parsers, added support for severity level attribute values of type \ 
boost::log::trivial::severity_level. For filters, the support is limited to \ 
attributes with "Severity" name.
        Bug fixes:
            Fixed incorrect parsing of components of the rotated file names \ 
while scanning for files in the text file sink backend. If the file name pattern \ 
ended with a placeholder (for example, a file counter), the scan_for_files \ 
method would not find files matching that pattern in the target storage, leaving \ 
them unmanaged. In particular, such files would not be deleted to free target \ 
storage. (#78)
            Updated basic_formatting_ostream and basic_record_ostream to make it \ 
possible to overload stream output operators for pointers to user-defined types. \ 
User-defined operator<< overloads taking std::basic_ostream and a pointer \ 
argument should now be picked up by the compiler when the pointer is being \ 
written to one of Boost.Log streams. (#84)
        See changelog for more details.
    Math:
        New features:
            Catmull-Rom interpolator now works in C++11
            Cardinal quadratic B-spline interpolation
            Domain of elliptic integrals extended
            sin_pi and cos_pi performance improvements
            Forward-mode automatic differentiation
            Vector valued barycentric rational interpolation
            Ooura's method for evaluation of Fourier integrals
        Bug fixes:
            Multiple compatibility issues with Multiprecision fixed
            Lambert-W fixed on a rare architecture
    Metaparse:
        New features:
            In C++11 variadic template support for the following: sequence, \ 
one_of_c, one_of, repeated_one_of, repeated_one_of1, one_char_except_c, \ 
one_char_except.
        Bug fixes:
            BOOST_METAPARSE_STRING does not use out of range character values as \ 
template arguments.
            any_of_c<> does not create empty array in C++14.
    Move:
        Git Issue #26: "Invalid iterator increment/decrement in the last \ 
iteration of adaptive_sort_combine_blocks".
    Multi Array:
        Simplify allocator support by using new alloc_construct_n and \ 
alloc_destroy_n facilities from Core. (Glen Fernandes)
    Multi-index Containers:
        Added variants of const_mem_fun and mem_fun for differently qualified \ 
member functions (issue #24).
        Terse key specification syntax now correctly handles noexcept-specified \ 
member functions (issue #24).
    Outcome:
        Enhancements:
            #184 As per request from Boost release managers, relocated \ 
version.hpp and revision.hpp into detail, and added the Boost licence \ 
boilerplate to the top of every source file which was missing one (I think). \ 
Also took the opportunity to run the licence restamping script over all Outcome, \ 
so copyright dates are now up to date.
            #185 Add FAQ item explaining issue #185, and why we will do nothing \ 
to fix it right now.
            #189 Refactored the OUTCOME_TRY implementation to use more clarified \ 
customisation points capable of accepting very foreign inputs. Removed the \ 
std::experimental::expected<T, E> specialisations, as those are no longer \ 
necessary. Fixed the documentation for the customisation points which previously \ 
claimed that they are ADL discovered, which they are not. Added a recipe \ 
describing how to add in support for foreign input types.
            #183 Added a separate motivation/plug_error_code specifically for Boost.
        Bug fixes:
            OUTCOME_VERSION_MINOR hadn't been updated to 1.
            #181 Fix issue #181 where Outcome didn't actually implement the \ 
strong swap guarantee, despite being documented as doing so.
            #190 Fix issue #190 in Boost edition where unit test suite was not \ 
runnable from the Boost release distro.
            #182 Fix issue #182 where trait::is_exception_ptr_available<T> \ 
was always true, thus causing much weirdness, like not printing diagnostics and \ 
trying to feed everything to make_exception_ptr().
            #192 Fix issue #192 where the \ 
std::basic_outcome_failure_exception_from_error() was being defined twice for \ 
translation units which combine standalone and Boost Outcome's.
    Parameter:
        Upgraded keyword generation macro BOOST_PARAMETER_TEMPLATE_KEYWORD (#15).
        Moved keyword generation macro BOOST_PARAMETER_NESTED_KEYWORD from \ 
Accumulators to this library (#28).
        Added support for std::reference_wrapper and std::ref() (#16).
        Moved boost::parameter::required, boost::parameter::optional, and \ 
boost::parameter::deduced metafunction definitions to their own header files in \ 
directory boost/parameter (#18).
        Added support for Boost.Parameter-enabled function call operators (#20).
        Added support for parameter category qualifiers "forward", \ 
"consume", and "move_from" (current qualifiers are \ 
"in", "out", and "in_out") (#21) (#23) based on \ 
http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters. \ 
Added new usage syntax BOOST_PARAMETER_NAME((object-name), namespace-name) \ 
qualifier(tag-name)) and BOOST_PARAMETER_NAME(qualifier(name)). (Existing code \ 
that uses qualifiers directly and correctly with BOOST_PARAMETER_FUNCTION and \ 
other code generation macros should remain unaffected for now, so no breaking \ 
changes.) The reason for the change in usage is to enable applying of parameter \ 
category constraints to Boost.Parameter-enabled functions and constructors \ 
invoked through argument composition. (Otherwise, it is currently possible to \ 
use argument composition to bypass parameter category constraints applied in \ 
BOOST_PARAMETER_FUNCTION et. al.)
        Added support for perfect forwarding (#23) (#26), so that \ 
parameter::parameters::operator() can accept non-const rvalues. As a positive \ 
side effect, Boost.Parameter-enabled functions and constructors are no longer \ 
bound by BOOST_PARAMETER_MAX_ARITY on compilers that support perfect forwarding. \ 
User code can now check for this support by detecting the configuration macro \ 
BOOST_PARAMETER_HAS_PERFECT_FORWARDING, or manually turn off this support by \ 
defining the configuration macro BOOST_PARAMETER_DISABLE_PERFECT_FORWARDING.
        Added metafunctions boost::parameter::is_argument_pack (#27), \ 
boost::parameter::are_tagged_arguments (#52), and \ 
boost::parameter::result_of::compose (#75).
        Added variadic function template boost::parameter::compose() which takes \ 
in named arguments and returns them in an argument pack (#52). For compilers \ 
that do not support perfect forwarding, the configuration macro \ 
BOOST_PARAMETER_COMPOSE_MAX_ARITY determines the maximum number of arguments \ 
that boost::parameter::compose() can take in (#61).
        Added code generation macros \ 
BOOST_PARAMETER_BASIC_FUNCTION_CALL_OPERATOR, \ 
BOOST_PARAMETER_BASIC_CONST_FUNCTION_CALL_OPERATOR, \ 
BOOST_PARAMETER_NO_SPEC_FUNCTION, BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION, \ 
BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION, \ 
BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR, \ 
BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR, \ 
BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR, and \ 
BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR (#52).
        Added support for Boost.MP11 (#47) (#66) (#70). User code can now check \ 
for this support by detecting the configuration macro \ 
BOOST_PARAMETER_CAN_USE_MP11, or manually turn off this support by defining the \ 
configuration macro BOOST_PARAMETER_DISABLE_MP11_USAGE.
        Improved support for parameter-dependent return types via SFINAE (#73).
    PtrContainer:
        Fix a ptr_vector regression introduced in 1.66.0 (#24).
    PolyCollection:
        Maintenance work.
    SmartPtr:
        Added aliasing constructors to weak_ptr
        Added weak_ptr<T>::empty()
        Added enable_shared_from, shared_from, and weak_from
    Stacktrace:
        Fixed output of name(), source_location() and source_line() for the \ 
default constructed frame with thread sanitizer builds in C++98 mode.
        Fixed output of long strings from name() and source_location() on MSVC #78.
        Maintenance work.
    Test:
        Boost.test v3.11 see the Changes log for more details.
        Breaking changes:
            Boost.Test shows deprecation warnings if some very old headers as \ 
deprecated. If you encounter such warnings, please follow the indications: those \ 
headers will be removed in a future release.
        New feature:
            Now BOOST_TEST can be used to compare abstract types
        Bug fixes and pull requests:
            GitHub Issues: #209, #218
            GitHub Pull Requests: #219, #224
    Utility:
        Implemented function template ostream_string in \ 
<boost/utility/ostream_string.hpp> to optimally write any kind of string \ 
content to an output stream. It satisfies the requirements of \ 
[ostream.formatted.reqmts]. (Glen Fernandes)
        Optimized the stream output operators of basic_string_view and \ 
basic_string_ref to write directly to the rdbuf stream buffer. (Glen Fernandes)
    Uuid:
        Breaking change: MD5 name-based uuid generation was corrected to be \ 
identical on all endian systems. Define BOOST_UUID_COMPAT_PRE_1_71_MD5 to keep \ 
the result in a format compatible with 1.66 through 1.70. This does not affect \ 
the default name-based uuid generation which is based on SHA1. (#109)
    Variant:
        Fixed compilation of boost::apply_visitor with variants passed by non \ 
const reference in #68. Many thanks to Ed Catmur for providing the fix.
        Added support for std::hash (#49). Macro \ 
BOOST_VARIANT_DO_NOT_SPECIALIZE_STD_HASH could be defined to avoid those \ 
specializations.
        Added micro optimizations for binary size and performance by Nikita \ 
Kniazev in #63 and #66.
        Maintenance work, including #64 by Nikita Kniazev and #67 by Hans Dembinski.
    YAP:
        Added an example showing how to make self-evaluating YAP expressions \ 
(that is, expressions that don't need an explicit call to evaluate() or \ 
transform()).

Files:
RevisionActionfile
1.29modifypkgsrc/devel/boost-build/PLIST
1.42modifypkgsrc/devel/boost-build/buildlink3.mk
1.44modifypkgsrc/devel/boost-headers/PLIST
1.44modifypkgsrc/devel/boost-headers/buildlink3.mk
1.11modifypkgsrc/devel/boost-jam/Makefile
1.2modifypkgsrc/devel/boost-jam/PLIST
1.38modifypkgsrc/devel/boost-jam/buildlink3.mk
1.39modifypkgsrc/devel/boost-libs/PLIST
1.50modifypkgsrc/devel/boost-libs/buildlink3.mk
1.3modifypkgsrc/devel/boost-mpi/PLIST
1.6modifypkgsrc/devel/boost-mpi/buildlink3.mk
1.7modifypkgsrc/devel/py-boost/PLIST
1.15modifypkgsrc/devel/py-boost/buildlink3.mk
1.25modifypkgsrc/meta-pkgs/boost/Makefile
1.83modifypkgsrc/meta-pkgs/boost/Makefile.common
1.126modifypkgsrc/meta-pkgs/boost/distinfo
1.2removepkgsrc/meta-pkgs/boost/patches/patch-tools_build_src_engine_build.jam
1.1removepkgsrc/meta-pkgs/boost/patches/patch-tools_build_src_engine_build.sh