./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.68.0, Package name: boost-build-1.68.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:

Master sites:

SHA1: 18863a7cae4d58ae85eb63d400f774f60a383411
RMD160: 39c7f40eafd4de2c12c639534ef07df8bb520df0
Filesize: 89995.425 KB

Version history: (Expand)

CVS history: (Expand)

   2018-08-16 17:58:32 by Adam Ciarcinski | Files touched by this commit (16) | Package updated
Log message:
boost: updated to 1.68.0

New Libraries
An expression template library for C++14 and later, from Zach Laine.

Updated Libraries
This version fixes a missing executor work guard in all composed operations used \ 
in the implementation. Users who are experiencing crashes related to \ 
asynchronous completion handlers are encouraged to upgrade.
For a complete list of changes, please view the official Release Notes.
78: Linker error with context-impl=ucontext: multiple definition of \ 
14: crash while stack unwinding
18: some guidance on why to use coroutine2
20: failes to compile test in due to the error C2039
22: undefined behaviour documentation
170: buffered_channel::try_push has incorrect documentation
172: WIN64: 'invalid conversion from 'HANDLE' to \ 
'std::thread::native_handle_type' errors for builds using mingw-w64
175: throw exception "Operation not permitted"
NUMA support moved to extra library (fiber-numa); enabled via property numa (numa=on)
Added a workaround for ambiguous call of fusion::deque constructor on GCC 4.4/c++0x
Fixed a bug with C-style array
Fixed a fusion::for_each signature to take functor by value
This may break existing code with non-copyable (non-movable) functor, but the \ 
implementation wasn't correct for a long time; the documantation was correct \ 
from the first. So, please make sure your usage.
Fixed unintentional MPL placeholder substituion bug on fusion::transform.
Moved description, how to conform Fusion sequence as MPL sequence, to mpl section.
Added notes regarding IO facility for adapted type.
469 Horizontal grid shift (nadgrids) in SRS transformations (undocumented for \ 
now due to potential interface changes).
478 Box-Segment distance for spherical and geographic coordinate systems.
487 Missing combinations of geometries in distance for spherical and geographic cs
489 Additional direct geodesic problem formulas for internal use
Solved issues
470 Assertion failure with short spherical and geographic segments.
471 Invalid envelope of spherical polygon
498 Unexpected results with expand() and make_inverse() for spherical and \ 
geographic CS
488 Handle non-true-references in closing_iterator and ever_circling_range_iterator
495 VxWorks 7 cross-compilation issue.
The I/O extensions have been entirely rewritten.
The library now requires a C++11-compliant compiler.
Documentation has been reformatted and updated.
Conditionally replace deprecated/removed C++98 std::bind1st by std::bind, \ 
std::auto_ptr by std::unique_ptr, and std::random_shuffle by std::shuffle.
Fix compiler error with release builds on VS2015
Fix the Stanford GraphBase examples
Fix friend declarations for iterator_core_access
Add missing <boost/iterator.hpp> include
Avoid an unused variable warning
Fix some typos in documentation
Fix some issues in tests and examples
Lexical Cast:
Fixes for clang-tidy warnings 12092
Improved support for VxWorks.
Save and restore ebx register on x86 PIE targets in the dump stream manipulator \ 
Support for arbitrary precision complex valued quadrature and hence contour \ 
Improve performance of polynomial addition
Continue to improve numerical integration routines, and in particular add \ 
support for contour integrals.
Improve accuracy of erfc function's rational approximations.
Multi-index Containers:
Containers of moveable but non-copyable elements can now be serialized (ticket \ 
13478). Thanks to Sébastien Paris for the report.
multi_index_container's default constructor is no longer explicit (ticket 13518).
Support for multiprecision complex numbers
Support added for complex multiprecision numbers.
Changed conversion to unsigned integer types to be truncating to match standard \ 
defined behaviour.
Correct bug in MPFR string formatting.
Fix undefined behaviour in cpp_dec_float conversion from long long.
Add support for Eigen interoperability.
float128.hpp: Fix Intel on Windows build.
Fix type used in temporaries when expanding expression templates containing \ 
mixed expressions.
Fix infinite loop in gmp_float to fixed-point string conversion.
Update the expression templates to issue static_asserts with better error \ 
messages when you try and do something unsupported.
Fix bug in cpp_int where incrementing to zero doesn't set the sign correctly.
Remove erroneous use of std::move, and rely on NVRO instead.
Fix up support for changes to MPIR-3.0.
Fix various conversion errors in cpp_bin_float when the exponent type is a long \ 
long, or else we're converting to an integer that is wider than we are.
Fix compatibility issue with GCC-8 caused by the introduction of std::byte.
Added member function has_value() for compatibility with std::optional (issue 52).
Added member function map() for transforming optional<T> into \ 
optional<U> using a function of type T -> U.
Added member function flat_map() for transforming optional<T> into \ 
optional<U> using a function of type T -> optonal<U>.
Add support for __ARM_ARCH macro.
Add detection for PTX architecture.
Add nvcc compiler detection.
Add support for detecting CUDA.
Remove reference to obsolete BOOST_ARCH_AMD64.
Program Options:
Support for multiple long names for an option, thanks to Eyal Rozenberg
Bug fixes to correct autolink support (Windows)
Fixed undefined behavior in normalize()
Add constexpr to error_code and error_condition members under C++14 and above
Removal Notice: Boost.Signals will be removed in the next release. Boost.Signals \ 
was deprecated in version 1.54.0. Transition to Boost.Signals2 now to avoid \ 
Fixed compilation on Solaris and other platforms that do qualify address as \ 
const in dladdr function (github 54).
Dropped dependency on Boost.LexicalCast.
Boost.test v3.8 see the Changes log for more details.
Breaking changes
The master_test_suite_t object is no more copyable
New feature:
Dataset test case can now use command line parameters
Dropped dependency on Boost.MPL.
Breaking change: sha1 detail namespace header redirection for backwards \ 
compatibility was removed
Added support for std::hash
Added support for move semantics on random generators
Properly handle EINTR when acquiring entropy
Use getrandom(2) instead of getentropy(3) on linux
   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 \ 
enable the old Boost.Date_Time interface in basic_socket_streambuf and \ 
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 \ 
Changed add_certificate_authority to process multiple certificates in a bundle.
Eliminated deprecation warning with MSVC by using std::invoke_result rather than \ 
Changed to use std::string_view for C++17 or later, and \ 
std::experimental::string_view for C++14. Define the preprocessor macro \ 
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 \ 
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

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

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.

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:

* 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.

* Fixed bugs

* 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

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

* 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.

* 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

* Fixed some warnings.

* Fixed bugs

* Fixed bugs

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

* 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

* Improved the implementation of BOOST_METAPARSE_STRING

* Improved experimental adaptive sort algorithm performance

* 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)

* 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.

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

* 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 \ 
* Bug fixes

* 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.

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

* 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
* Framework for userland-threads/fibers, from Oliver Kowalke.
* 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 \ 

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

* 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.

* 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 \ 
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.

* 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

* deprecated in favour of Coroutine2

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

* 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

* Fix C++11 compile error.

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

* Fixed bugs:
Boost Trac 11476: has_member_function_callable_with.hpp is massively broken with \ 
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 \ 

Lexical Cast:
* Fix incorrect static assertion 11759

* 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 \ 
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.

* 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 \ 
* Patches:
Fix tgamma_delta_ratio for cases where the delta is small compared to the base.
Fix misc GCC-4.4 test failures.

* Fixed Trac 12179.

* 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.

* 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.

* 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 \ 
* Bug fixes
Trac tickets 8707, 8834, 11128, 11845, 11859, 12024,
Trac tickets 12093, 12103, 12224, 12241, 12257, 12378

* 12102 condition_variable_fwd.hpp fails to compile when \ 
* 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()

* 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

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

* 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)