summaryrefslogtreecommitdiff
path: root/devel/boost-libs
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2018-04-29 20:41:11 +0000
committeradam <adam@pkgsrc.org>2018-04-29 20:41:11 +0000
commite4a56fc38f498e7ab2e7ad7b8d97e94627991e50 (patch)
tree23493b1f884e7e4ba26657abba3b00fe6e2e2a56 /devel/boost-libs
parent4e86b7241f8c6ca747a962d24fc551c56a3101ea (diff)
downloadpkgsrc-e4a56fc38f498e7ab2e7ad7b8d97e94627991e50.tar.gz
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
Diffstat (limited to 'devel/boost-libs')
-rw-r--r--devel/boost-libs/Makefile26
-rw-r--r--devel/boost-libs/PLIST20
-rw-r--r--devel/boost-libs/PLIST.Linux4
-rw-r--r--devel/boost-libs/buildlink3.mk6
4 files changed, 26 insertions, 30 deletions
diff --git a/devel/boost-libs/Makefile b/devel/boost-libs/Makefile
index 3999746c02e..5424a8ad0ea 100644
--- a/devel/boost-libs/Makefile
+++ b/devel/boost-libs/Makefile
@@ -1,17 +1,16 @@
-# $NetBSD: Makefile,v 1.63 2018/04/14 07:34:15 adam Exp $
+# $NetBSD: Makefile,v 1.64 2018/04/29 20:41:11 adam Exp $
BOOST_PACKAGE= libs
BOOST_COMMENT= (binary libraries)
BOOST_CONFIG= installed
BOOST_INSTALL_LIBS= yes
-PKGREVISION= 1
.include "../../meta-pkgs/boost/Makefile.common"
INSTALLATION_DIRS+= lib
BJAM_ARGS+= --without-python
-PLIST_VARS+= backtrace context fiber log
+PLIST_VARS+= backtrace context fiber log longdbl
.if ${OPSYS} == "NetBSD" && ((${MACHINE_ARCH} == "i386") || (!empty(MACHINE_ARCH:Mearm*) && !empty(PKGSRC_COMPILER:Mgcc)))
BJAM_ARGS+= pch=off
@@ -21,8 +20,10 @@ BJAM_ARGS+= pch=off
BJAM_ARGS+= --without-context
BJAM_ARGS+= --without-coroutine
BJAM_ARGS+= --without-coroutine2
+BJAM_ARGS+= --without-fiber
.else
PLIST.context= yes
+PLIST.fiber= yes
.endif
# Darwin GCC is unable to build Boost.Log
@@ -32,6 +33,12 @@ BJAM_ARGS+= --without-log
PLIST.log= yes
.endif
+# FIXME: other systems might also not support 'long double'
+# see patch-boost_math_tools_config.hpp
+.if ${OPSYS} != "FreeBSD"
+PLIST.longdbl= yes
+.endif
+
# libboost_stacktrace_backtrace requires libbacktrace.
# FIXME: The condition needs to be refined for non-Debian/Ubuntu
# platforms shipped with libbacktrace.
@@ -39,19 +46,6 @@ PLIST.log= yes
PLIST.backtrace= yes
.endif
-# XXX boost1.64 fiber not building even on netbsd7.99 + gcc5.4
-# fiber requires context, so also disable it where context cannot be built
-# Additionally fiber checks std::timed_mutex.
-#.if ((${OPSYS} == "Darwin" && ${OS_VERSION:R} < 14) || \
-# !empty(MACHINE_PLATFORM:MNetBSD-[0-7]*-*)) || \
-# !empty(MACHINE_ARCH:Malpha) || !empty(MACHINE_ARCH:Mm68k) || \
-# !empty(MACHINE_ARCH:Msparc64) || \
-# (${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang))
-BJAM_ARGS+= --without-fiber
-#.else
-#PLIST.fiber= yes
-#.endif
-
UNLIMIT_RESOURCES+= stacksize
MAKE_ENV+= BZIP2_INCLUDE=${BUILDLINK_PREFIX.bzip2}/include
diff --git a/devel/boost-libs/PLIST b/devel/boost-libs/PLIST
index 1a3bd43a254..7228a1bd1ab 100644
--- a/devel/boost-libs/PLIST
+++ b/devel/boost-libs/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.35 2017/08/24 19:31:32 adam Exp $
+@comment $NetBSD: PLIST,v 1.36 2018/04/29 20:41:11 adam Exp $
lib/libboost_atomic.a
lib/libboost_atomic.so
lib/libboost_atomic.so.${BOOST_VERSION}
@@ -11,6 +11,9 @@ lib/libboost_container.so.${BOOST_VERSION}
${PLIST.context}lib/libboost_context.a
${PLIST.context}lib/libboost_context.so
${PLIST.context}lib/libboost_context.so.${BOOST_VERSION}
+lib/libboost_contract.a
+lib/libboost_contract.so
+lib/libboost_contract.so.${BOOST_VERSION}
${PLIST.context}lib/libboost_coroutine.a
${PLIST.context}lib/libboost_coroutine.so
${PLIST.context}lib/libboost_coroutine.so.${BOOST_VERSION}
@@ -45,18 +48,18 @@ lib/libboost_math_c99.so.${BOOST_VERSION}
lib/libboost_math_c99f.a
lib/libboost_math_c99f.so
lib/libboost_math_c99f.so.${BOOST_VERSION}
-lib/libboost_math_c99l.a
-lib/libboost_math_c99l.so
-lib/libboost_math_c99l.so.${BOOST_VERSION}
+${PLIST.longdbl}lib/libboost_math_c99l.a
+${PLIST.longdbl}lib/libboost_math_c99l.so
+${PLIST.longdbl}lib/libboost_math_c99l.so.${BOOST_VERSION}
lib/libboost_math_tr1.a
lib/libboost_math_tr1.so
lib/libboost_math_tr1.so.${BOOST_VERSION}
lib/libboost_math_tr1f.a
lib/libboost_math_tr1f.so
lib/libboost_math_tr1f.so.${BOOST_VERSION}
-lib/libboost_math_tr1l.a
-lib/libboost_math_tr1l.so
-lib/libboost_math_tr1l.so.${BOOST_VERSION}
+${PLIST.longdbl}lib/libboost_math_tr1l.a
+${PLIST.longdbl}lib/libboost_math_tr1l.so
+${PLIST.longdbl}lib/libboost_math_tr1l.so.${BOOST_VERSION}
lib/libboost_prg_exec_monitor.a
lib/libboost_prg_exec_monitor.so
lib/libboost_prg_exec_monitor.so.${BOOST_VERSION}
@@ -78,6 +81,9 @@ lib/libboost_signals.so.${BOOST_VERSION}
lib/libboost_stacktrace_addr2line.a
lib/libboost_stacktrace_addr2line.so
lib/libboost_stacktrace_addr2line.so.${BOOST_VERSION}
+${PLIST.backtrace}lib/libboost_stacktrace_backtrace.a
+${PLIST.backtrace}lib/libboost_stacktrace_backtrace.so
+${PLIST.backtrace}lib/libboost_stacktrace_backtrace.so.${BOOST_VERSION}
lib/libboost_stacktrace_basic.a
lib/libboost_stacktrace_basic.so
lib/libboost_stacktrace_basic.so.${BOOST_VERSION}
diff --git a/devel/boost-libs/PLIST.Linux b/devel/boost-libs/PLIST.Linux
deleted file mode 100644
index 08fc43c051b..00000000000
--- a/devel/boost-libs/PLIST.Linux
+++ /dev/null
@@ -1,4 +0,0 @@
-@comment $NetBSD: PLIST.Linux,v 1.5 2017/12/28 02:18:42 minskim Exp $
-${PLIST.backtrace}lib/libboost_stacktrace_backtrace.a
-${PLIST.backtrace}lib/libboost_stacktrace_backtrace.so
-${PLIST.backtrace}lib/libboost_stacktrace_backtrace.so.${BOOST_VERSION}
diff --git a/devel/boost-libs/buildlink3.mk b/devel/boost-libs/buildlink3.mk
index e96bca5f919..82cc74efdde 100644
--- a/devel/boost-libs/buildlink3.mk
+++ b/devel/boost-libs/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.45 2018/01/01 20:36:09 adam Exp $
+# $NetBSD: buildlink3.mk,v 1.46 2018/04/29 20:41:11 adam Exp $
BUILDLINK_TREE+= boost-libs
@@ -6,8 +6,8 @@ BUILDLINK_TREE+= boost-libs
BOOST_LIBS_BUILDLINK3_MK:=
# Use a dependency pattern that guarantees the proper ABI.
-BUILDLINK_API_DEPENDS.boost-libs+= boost-libs-1.66.*
-BUILDLINK_ABI_DEPENDS.boost-libs?= boost-libs>=1.66.0
+BUILDLINK_API_DEPENDS.boost-libs+= boost-libs-1.67.*
+BUILDLINK_ABI_DEPENDS.boost-libs?= boost-libs>=1.67.0
BUILDLINK_PKGSRCDIR.boost-libs?= ../../devel/boost-libs
.include "../../mk/bsd.fast.prefs.mk"