./devel/boost-build, Free, peer-reviewed portable C++ source libraries (Boost.Build framework)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.67.0, Package name: boost-build-1.67.0, Maintainer: pkgsrc-users

Boost is a set of free, peer-reviewed, C++ libraries. The emphasis is on
portable libraries which work well with the ISO C++ Standard Library.

This package provides the Boost.Build module, which includes bjam. This
is the tool used to build Boost itself, and is based on Perforce Jam.


Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 694ae3f4f899d1a80eb7a3b31b33be73c423c1ae
RMD160: d5bf97b8a953b87c08e367556856204a05346315
Filesize: 85289.615 KB

Version history: (Expand)


CVS history: (Expand)


   2018-04-29 22:41:12 by Adam Ciarcinski | Files touched by this commit (24) | Package updated
Log message:
boost: updated to 1.67.0

Version 1.67.0:
New Libraries:
- Contract: Contract programming for C++.
- HOF: Higher-order functions for C++.

Updated Libraries:
- Asio:
Added missing const qualifier to basic_socket_acceptor::get_option.
Worked around a parsing error that occurs with some versions of gcc.
Fixed broken code samples in tutorial.
Added new experimental features. (Note that "experimental" features \ 
may be changed without notice in subsequent releases.)
Added experimental::detached completion token.
Added experimental::redirect_error completion token.
Added experimental::co_spawn facility for integration with the coroutines \ 
technical specification.
Updated timeout examples to use latest features.
Used asio::steady_timer rather than asio::deadline_timer.
Used asio::dynamic_buffer rather than asio::streambuf.
Used timed asio::io_context::run_for() function for blocking clients.
Added example showing a custom completion token for blocking with timeouts.
Fixed unit tests to compile when BOOST_ASIO_NO_DEPRECATED is defined.
Changed socket iostreams to use chrono by default, to fix compatibility with the \ 
Networking TS. Define BOOST_ASIO_USE_BOOST_DATE_TIME_FOR_SOCKET_IOSTREAM to \ 
enable the old Boost.Date_Time interface in basic_socket_streambuf and \ 
basic_socket_iostream.
Updated examples to use chrono rather than Boost.Date_Time.
Fixed an incorrect member function detector in the is_dynamic_buffer trait.
Fixed an async_result incompatibility with deprecated handler_type.
Added a missing move optimisation in the SSL stream implementation.
Fixed incorrect basic_resolver_results::value_type typedef.
Fixed a compile error with some OpenSSL versions when SSL_OP_NO_COMPRESSION is \ 
defined.
Changed add_certificate_authority to process multiple certificates in a bundle.
Eliminated deprecation warning with MSVC by using std::invoke_result rather than \ 
std::result_of.
Changed to use std::string_view for C++17 or later, and \ 
std::experimental::string_view for C++14. Define the preprocessor macro \ 
BOOST_ASIO_DISABLE_STD_STRING_VIEW to force the use of \ 
std::experimental::string_view (assuming it is available) when compiling in \ 
C++17 mode.
Ensured DynamicBuffer template arguments are decayed before using in enable_if tests.
Changed documentation to distinguish legacy completion handlers (which are still \ 
required to be CopyConstructible) from new MoveConstructible handlers.
Suppressed a discarded return value warning in the buffer debugging support.
Fixed basic_yield_context to work with completion signatures containing \ 
reference parameters.
Ensured that stackful coroutines launched using spawn() correctly store decayed \ 
copies of their function and handler arguments.
Fixed some compatibility issues with Android.
Added cross-compilation support to Jamfiles.
Fixed some minor portability issues in examples.

- Atomic:
Breaking change: Changed the result of the (op)_and_test operations added in \ 
Boost 1.66 to the opposite - the functions now return true if the operation \ 
result is non-zero. This is consistent with other test methods in Boost.Atomic \ 
and the C++ standard library. Users can define \ 
BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST when compiling their code to emit \ 
warnings on every use of the changed functions. This way users can locate the \ 
code that needs to be updated.
Update for C++2a. On C++11 compilers that support scoped enums, the memory_order \ 
enumeration is now scoped and contains constants with shorter names like \ 
acquire, release or seq_cst (i.e. users can use memory_order::acquire instead of \ 
memory_order_acquire). The old constants are also provided for backward \ 
compatibility. (P0439R0)
Update for C++2a. Added experimental support for atomic operations on floating \ 
point types. In addition to general operations, add, sub, negate operations and \ 
their fetch_(op) and opaque_(op) versions are supported. Lock-free property can \ 
be tested with the new macros BOOST_ATOMIC_FLOAT/DOUBLE/LONG_DOUBLE_LOCK_FREE. \ 
The support for floating point types is optional and can be disabled by defining \ 
BOOST_ATOMIC_NO_FLOATING_POINT. (P0020R6)
Added new experimental operations:
negate_and_test and complement_and_test which perform negation or bitwise \ 
complement and return true if the result is not zero.
add, sub, negate, bitwise_and, bitwise_or, bitwise_xor, bitwise_complement \ 
operations which perform the operation and return its result.
For generic atomic<T> specialization, the default constructor is now \ 
trivial if T's default constructor is.
The internal implementation of atomic<T> has been updated to avoid \ 
undefined behavior that stems from signed integer overflows. As required by the \ 
C++ standard, the library uses two's complement representation of signed \ 
integers internally and accroding rules of overflow. Currently, the library \ 
requires the native signed integer types to also use two's complement \ 
representation (but no defined overflow semantics).
Improved Clang support. In particular, fixed DCAS not being lock-free and fixed \ 
possible incorrect code generated on 32-bit x86.
Improved MinGW support. For gcc versions up to 4.6, fixed compilation of DCAS on x86.
In x86 PIE code, asm blocks now preserve ebx value.

- Beast:
This version fixes significant defects in websocket::stream which can lead to \ 
asserts or undefined behavior. Users are encouraged to update to the latest \ 
Boost release.
For a complete list of changes, please view the official Release Notes.

- ContainerHash:
Extracted from the functional module to break a dependency cycle.
Moved headers to new location to reflect name change, the old include paths will \ 
still work.
Added support for std::string_view, std::error_code, std::error_condition, \ 
std::optional, std::variant, std::monostate where available.
Added explicit support for vector<bool>, so that it will work with libc++.
More detail in the library change log.

- Context:
fix i386/macho routines to correctly return transfer_t in EAX/EDX
__sanitizer_finish_switch_fiber should be called directly after context switch
Clang on Windows : error: No best alternative for libs/context/build/asm_sources
fixing C2492 for execution_context (v1)
known bug: including all.hpp + <context-impl>ucontext/winfib causes error \ 
'forced_unwind: is not a member of boost::context::detail'

More info https://www.boost.org/users/history/version_1_67_0.html
   2018-01-13 17:09:59 by Jonathan Perkin | Files touched by this commit (1)
Log message:
boost-build: Fix API depends pattern.
   2018-01-01 21:36:09 by Adam Ciarcinski | Files touched by this commit (10) | Package updated
Log message:
boost: updated to 1.66.0

1.66.0:
New Libraries
Beast:
Portable HTTP, WebSocket, and network operations using only C++11 and \ 
Boost.Asio, from Vinnie Falco.

CallableTraits:
A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a \ 
header-only C++11 library for the compile-time inspection and manipulation of \ 
all 'callable' types. Additional support for C++17 features, from Barrett Adair.

Mp11:
A C++11 metaprogramming library, from Peter Dimov.
   2017-08-24 21:31:32 by Adam Ciarcinski | Files touched by this commit (30) | Package updated
Log message:
Version 1.65.0
New Libraries: PolyCollection, Stacktrace. Updated Libraries: Asio, Context, \ 
Config, Core, Coroutine2, DLL, Fiber, Fusion, Geometry, Hash, Log, Phoenix, \ 
Predef, Program Options, Python, Smart Pointers, Test, TypeIndex, Unordered, \ 
Utility, Variant.
   2017-04-29 20:31:42 by Adam Ciarcinski | Files touched by this commit (11)
Log message:
Changes 1.64.0:
New Libraries
Process library by Klemens D. Morgenstern, that provides cross platorm ways to \ 
allows you to:
* create child processes
* setup streams for child processes
* communicate with child processes through streams (synchronously or asynchronously)
* wait for processes to exit (synchronously or asynchronously)
* terminate processes
   2017-01-01 16:32:47 by Adam Ciarcinski | Files touched by this commit (12) | Package updated
Log message:
Changes 1.63.0:

Atomic:
* Added the static constant atomic<T>::is_always_lock_free for conformance \ 
with C++17. The constant indicates that the given specialization always provides \ 
lock-free implementation of atomic operations.
* Improved support of Oracle Studio on x86 targets.

Container:
* Fixed bugs

Context:
* 11687 Xcode (Apple clang) and thread_local
* 12114 context does not preserve fpu context on ios arm64 devices (fixed for \ 
other architecturs too)
* 12411 fpu registers not preserved with O2 optimizations in Visual Studio \ 
(fixed for other architecturs too)
* 12551 building boost on arm64 causes error: unknown directive
* reduced signatur for ontop-functions
* unit-test for private fcontext-API
* performance-test for ucontext and fcontext fixed

Fiber:
* unbounded_channel and bounded_channel marked as deprecated
* new classes buffered_channel and unbuffered_channel
* performance improved

Fusion:
* Fixed fusion::vector buggy constructors (Thanks to Lee Clagett).
* BOOST_FUSION_ADAPT* and BOOST_FUSION_DEFINE* now allow empty structures. (6592)
* BOOST_FUSION_DEFINE* allows move constructor and assignment. (10099)
* Adaptor for std::array (Thanks to Mateusz Łoskot). (8241)
* Fixed returning temporary variable warnings on MSVC.

Geometry:
* Intersection: take care that output is valid (work in progres, not yet \ 
finished - but more is valid)
* 12289 Avoid warning/compilation error for std::cout
* 12412 Invalid result of covered_by() with geographic Points and Boxes
* 12413 rtree::remove() not working properly with geographic Points

Hash:
* Fixed some warnings.

Interprocess:
* Fixed bugs

Intrusive:
* Fixed bugs

Lexical Cast:
* Fixed issue found by -fsanitize=undefined 21

Log:
* Removed the previously deprecated type_info_wrapper.
* Added a way to access the current file name from the text file sink backend. \ 
The file name can be obtained with the get_current_file_name method.
* Bug fixes

Metaparse:
* Improved the implementation of BOOST_METAPARSE_STRING

Move:
* Improved experimental adaptive sort algorithm performance
* Activate BOOST_MOVE_FORCEINLINE

Optional:
* Added two new in-place constructors. They work similarly to emplace() \ 
functions: they initialize the contained value by perfect-forwarding the \ 
obtained arguments. One constructor always initializes the contained value, the \ 
other based on a boolean condition.
* Syntax o = {} now correctly un-initializes an optional, just like in std::optional.
* Fixed optional<optional<T>&> initialization. (12203)
* Optional constructors are sfinae-friendly. This fixes interaction with \ 
std::tuple. (12563)

Phoenix:
* Most of modules now support C++11 variadic templates.
* Fixed type deduction failure with result type.
* Suppress unused warnings.
* Fixed too few arguments error on binary math functions.
* Added workarounds for older compiler.

Python:
* Added (basic) support for C++11 (std::shared_ptr, std::unique_ptr)
* Incorporated an extension API to wrap NumPy
* Removed obsolete bits and pieces

Test:
* Boost.test v3.4 see the Change log section for more details.
* New feature: per_element and lexicographic modifiers of BOOST_TEST can also be \ 
applied to string comparison
* Breaking change: colons that appear in test case names are replaced with \ 
underscores
* Bug fixes

TypeIndex:
* Added runtime_cast to the library as an emulation of dynamic_cast. Thanks to \ 
Chris Glover for the implementation. See runtime_cast reference for more info.
* Internals of the CTTI were made more platform independant, due to change of \ 
the std::size_t type to unsigned int.

Units:
* Fix inspection warnings
* updated physico-chemical constants to CODATA 2014 values
* define biot correctly as 10 Ampere

Unordered:
* Fix an exception safety issue in assignment.
* Use std::allocator_traits where available, and support modern style rebind (12459).
* Add some allocator aware constructors.
* Use the hint iterator in emplace_hint.
* Fixed some warnings.
   2016-10-07 19:51:11 by Adam Ciarcinski | Files touched by this commit (12) | Package updated
Log message:
Changes 1.62.0:
New Libraries
-------------
Fiber:
* Framework for userland-threads/fibers, from Oliver Kowalke.
QVM:
* Boost QVM is a generic library for working with quaternions, vectors and \ 
matrices of static size with the emphasis on 2, 3 and 4-dimensional operations \ 
needed in graphics, video games and simulation applications, from Emil \ 
Dotchevski.

Updated Libraries
-----------------
Atomic:
* Improved support for Oracle Studio and SPARC. The library now provides native \ 
atomic operations on SPARCv8+.

Chrono:
* 11330 boost::chrono::duration default constructor doesn't initialize rep_
* 11618 Chrono IO V2 doc ios_state.hpp does not exist
* 11631 boost chrono io v2 does not let you support custom clocks

Circular Buffer:
* Debug implementation is no longer used by default in debug mode. Debug \ 
implementation does not have the same thread safety guarantees as the normal \ 
(release) implementation or other containers. As a result of this change \ 
BOOST_CB_DISABLE_DEBUG macro is no longer used. BOOST_CB_ENABLE_DEBUG=1 should \ 
be defined instead to enable debug support.

Container:
* Fixed bugs:
Trac 9481: "Minor comment typo in Boost.Container".
Trac 9689: "Add piecewise_construct to boost::container".
Trac 11170: "Doc slip for index_of".
Trac 11802: "Incorrect ordering after using insert() with ordered_range_t \ 
on a flat_multiset with a non-default sort order".
Trac 12117: "flat_set constructor with ordered_unique_range".
Trac 12177: "vector::priv_merge uses unqualified uintptr_t".
Trac 12183: "GCC 6.1 thinks boost::container::string violates strict \ 
aliasing".
Trac 12256: "set<std::pair<int,int>>::insert cause compilation \ 
error in debug configuration in Visual Studio 2012".
Trac 12273: "static_vector max_size() and capacity() should be constant \ 
expressions". Added constant static_vector<>::static_capacity to use \ 
the configured capacity in constant expressions.
Trac 12286: "PMR flat_map from Boost Container does not compile".
Trac 12296: "{deque,string} combine for a memory leak".
Trac 12319: "flat_set should be nothrow move constructible".
* Revised noexcept expressions of default and move constructors in all containers.
* Implemented C++17 insert_or_assign/try_emplace for map and flat_map.
* Implemented C++17 extract/insert(node) for map, multimap, set, multiset.

Context:
* 12215 all stack corrupted on Windows using default fixedsize_stack
* 12242 build issue with Intel C++ compiler for MacOS
* fix stack unwinding for execution_context_v1

Coroutine:
* deprecated in favour of Coroutine2

Coroutine2:
* 12221 coroutine<>::push_type function starts without pushing
* do not swallow exceptions thrown at coroutine<>::push_type construction

DLL:
* Mangled symbols and classes loading was implemented by Klemens Morgenstern
* Suppress a 'unused parameter' warning in detail::aggressive_ptr_cast pull-request 9
* Allowed to query non-existant sections pull-request 32
* More tests and docs

Functional/Forward:
* Fix C++11 compile error.

Interprocess:
* Fixed bug GitHub Pull 27 ("Fix undefined behavior").

Intrusive:
* Fixed bugs:
Boost Trac 11476: has_member_function_callable_with.hpp is massively broken with \ 
BOOST_NO_CXX11_DECLTYPE
Boost Trac 11994: Support intrusive container key extractors that return the key \ 
by value
Boost Trac 12184: clang -Wdocumentation warning
Boost Trac 12190: Intrusive List + Flat Map combination crashes
Boost Trac 12229: intrusive::unordered_set<T>::rehash() broken
Boost Trac 12245: bstree uses a shared static size_traits for \ 
constant_time_size<false>

Lexical Cast:
* Fix incorrect static assertion 11759

Log:
* New features:
Added new tools for inter-process logging on a local machine. The implementation \ 
includes a resource name wrapper, an inter-process message queue and a sink \ 
backend.
Added a new character decorator called max_size_decor. The new decorator allows \ 
to limit the output of its adopted formatter up to the specified length.
* Bug fixes:
Fixed that logging streams could retain formatting settings across different log \ 
records. (12178)
See changelog for more details.

Math:
* New Features:
Enabled all the special function code to work correctly with types whose \ 
precision can change at runtime: for example type mpfr_float from \ 
Boost.Multiprecision.
* Patches:
Fix tgamma_delta_ratio for cases where the delta is small compared to the base.
Fix misc GCC-4.4 test failures.

Optional:
* Fixed Trac 12179.

Phoenix:
* Fix compilation for MSVC 10. pull-request 18
* Remove unused preprocessed files. pull-request 28
* Fix erroneous doc for switch_ statement. 8156
* Cleanup config unordered. pull-request 33
* Suppress unused placeholder warnings.
* Fix too few arguments error on binary math functions.

Regex:
* Fix buffer over-run error when parsing certain invalid regexes, see 12222.
* Fix detection of ICU in library build, see 12152.
* Fix bug in case sensitivity change, see 11940.
* Allow types wider than int in \x{} expressions (for char32_t etc), see 11988.

Test:
* Boost.test v3.3 see the Change log section for more details.
* New features
dataset driven test-cases have now a unique name and all sample tests of a \ 
dataset live inside the same test suite
Boost.test learned a new command line switch, --logger for setting a test logger \ 
as well as its parameter in one command
Boost.test learned to have several loggers at the same time, each of which \ 
having their own log level and output stream
Boost.test learned a new logger, JUNIT, that is able to output Junit/xUnit \ 
compatible streams
It is now possible to specify several test filters through the environment \ 
variable BOOST_TEST_RUN_FILTERS
* Bug fixes
Trac tickets 8707, 8834, 11128, 11845, 11859, 12024,
Trac tickets 12093, 12103, 12224, 12241, 12257, 12378

Thread:
* 12102 condition_variable_fwd.hpp fails to compile when \ 
BOOST_THREAD_PROVIDES_INTERRUPTIONS is disabled
* 12120 Performance improvement in thread/barrier.hpp
* 12146 make_exceptional_future is not mentioned in the docs
* 12202 shared_lock should be in shared_mutex header
* 12371 boost thread/future.hpp fails to build
* 88 fix typos in boost::upgrade_lock
* 89 fix a bug in upgrade_to_unique_lock<>::operator=()
* 90 fix a bug in try_lock_wrapper<>::operator=()
* 91 Add shared_lock_guard to the included lock types
* 92 Fixed compilation with MSVC-8.
* 93 Fix variable shadowing warnings (Clang)
* 94 fix bugs in boost::barrier
* 95 fix a mistake in boost::completion_latch
* 96 rename async_func.hpp to invoker.hpp.
* 97 fix a mistake in sync_timed_queue<>::pull_until()

TypeIndex:
* ctti_type_index was made constexpr in C++14. Now it is possible to retrieve \ 
actual name of the type as const char* at compile time. So we can do a lot of \ 
interesting things at compile time: check namespace of a type, sort types \ 
according to their lexical representation, check that type is a template type \ 
and so on... A few examples were provided.
* Fixed issue with noexcept on MSVC in type names and issue with space in type \ 
name (pulled from klemens-morgenstern/develop)
* Fixed typos pull-request 7
* Improved CI testing

Unordered:
* Remove use of deprecated boost::iterator.
* Fixed an exception safety issue in assignment of unordered_multiset and \ 
unordered_multimap.
* See the changelog for more details.

Variant:
* Fixed variant construction from classes derived from variant 7120, 10278, 12155
* Variant constructors and assignment operators now do not participate in \ 
overload resolutions if variant can not hold the input type 5871, 11602
* Fixed the issue with implicit conversion operator in C++11 8555
* Fixed comparisons when variant holds non-const reference 11751
* Fixed noexcept for variant's move-assignment 11696
* Fixed double quotes in includes 12057
* Dropped BOOST_VARIANT_NO_REFERENCE_SUPPORT macro and dropped support for \ 
compilers without SFINAE 12250
* Suppress implicit instantiation of MPL end iterator
* Multiple minor fixes (typos, missing includes)
   2016-05-13 22:47:32 by Adam Ciarcinski | Files touched by this commit (15)
Log message:
Changes 1.61.0:
New Libraries:
--------------
Compute:
  Parallel/GPU-computing library
DLL:
  Library for comfortable work with DLL and DSO. Library provides a portable \ 
across platforms way to:
* load libraries
* import any native functions and variables
* make alias names for C++ mangled functions and symbols
* query libraries for sections and exported symbols
* self loading and self querying
* getting program and module location by exported symbol
Hana:
  A modern C++ metaprogramming library. It provides high level algorithms to \ 
manipulate heterogeneous sequences, allows writing type-level computations with \ 
a natural syntax, provides tools to introspect user-defined types and much more.
  Metaparse:
A library for generating compile time parsers parsing embedded DSL code as part \ 
of the C++ compilation process. The library is similar to Spirit, however while \ 
parsers built with Spirit parse at run-time, parsers built with Metaparse parse \ 
at compile-time.