summaryrefslogtreecommitdiff
path: root/devel/boost-libs/files
diff options
context:
space:
mode:
Diffstat (limited to 'devel/boost-libs/files')
-rw-r--r--devel/boost-libs/files/patch-boost_asio_ssl_impl_context.ipp50
-rw-r--r--devel/boost-libs/files/patch-boost_config_compiler_clang.hpp34
-rw-r--r--devel/boost-libs/files/patch-boost_math_tools_config.hpp11
-rw-r--r--devel/boost-libs/files/patch-clang-as33
-rw-r--r--devel/boost-libs/files/patch-tools_build_src_tools_clang-linux.jam92
-rw-r--r--devel/boost-libs/files/patch-tools_build_src_tools_gcc.jam32
6 files changed, 252 insertions, 0 deletions
diff --git a/devel/boost-libs/files/patch-boost_asio_ssl_impl_context.ipp b/devel/boost-libs/files/patch-boost_asio_ssl_impl_context.ipp
new file mode 100644
index 000000000000..4b7a654ed1f7
--- /dev/null
+++ b/devel/boost-libs/files/patch-boost_asio_ssl_impl_context.ipp
@@ -0,0 +1,50 @@
+Ticket #12575 fix compilation of software using libressl and boost asio
+https://svn.boost.org/trac/boost/ticket/12575
+
+--- boost/asio/ssl/impl/context.ipp.orig 2016-09-21 14:33:21 UTC
++++ boost/asio/ssl/impl/context.ipp
+@@ -228,7 +228,7 @@ context::~context()
+ {
+ if (handle_)
+ {
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+ void* cb_userdata = handle_->default_passwd_callback_userdata;
+@@ -578,7 +578,7 @@ boost::system::error_code context::use_c
+ bio_cleanup bio = { make_buffer_bio(chain) };
+ if (bio.p)
+ {
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+ pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -682,7 +682,7 @@ boost::system::error_code context::use_p
+ {
+ ::ERR_clear_error();
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+ pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -749,7 +749,7 @@ boost::system::error_code context::use_r
+ {
+ ::ERR_clear_error();
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+ pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -988,7 +988,7 @@ int context::verify_callback_function(in
+ boost::system::error_code context::do_set_password_callback(
+ detail::password_callback_base* callback, boost::system::error_code& ec)
+ {
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+ void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ ::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
diff --git a/devel/boost-libs/files/patch-boost_config_compiler_clang.hpp b/devel/boost-libs/files/patch-boost_config_compiler_clang.hpp
new file mode 100644
index 000000000000..ed9ad4e0c569
--- /dev/null
+++ b/devel/boost-libs/files/patch-boost_config_compiler_clang.hpp
@@ -0,0 +1,34 @@
+--- boost/config/compiler/clang.hpp.orig 2016-09-21 14:33:21 UTC
++++ boost/config/compiler/clang.hpp
+@@ -110,6 +110,16 @@
+ # endif
+ #endif
+
++//
++// Pick up _LIBCPP_VERSION definition if we are using libc++
++// If _LIBCPP_VERSION is not defined, then we will assume that
++// we are compiling on FreeBSD 9.x and using ancient libstdc++
++// from base gcc 4.2 with limited c++11 support.
++//
++#ifdef __cplusplus
++# include <ciso646>
++#endif
++
+ #if !__has_feature(cxx_auto_type)
+ # define BOOST_NO_CXX11_AUTO_DECLARATIONS
+ # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+@@ -192,7 +202,13 @@
+ # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+ #endif
+
+-#if !__has_feature(cxx_rvalue_references)
++//
++// clang on FreeBSD 9.x uses libstdc++ from base GCC 4.2.1 which
++// does not support std::forward which this feature requires.
++// Assume that the lack of a _LIBCPP_VERSION definition indicates
++// that is our environment.
++//
++#if !__has_feature(cxx_rvalue_references) || !defined(_LIBCPP_VERSION)
+ # define BOOST_NO_CXX11_RVALUE_REFERENCES
+ #endif
+
diff --git a/devel/boost-libs/files/patch-boost_math_tools_config.hpp b/devel/boost-libs/files/patch-boost_math_tools_config.hpp
new file mode 100644
index 000000000000..a94db67b4a64
--- /dev/null
+++ b/devel/boost-libs/files/patch-boost_math_tools_config.hpp
@@ -0,0 +1,11 @@
+--- boost/math/tools/config.hpp.orig 2016-09-21 14:33:24 UTC
++++ boost/math/tools/config.hpp
+@@ -28,7 +28,7 @@
+
+ #include <boost/math/tools/user.hpp>
+
+-#if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \
++#if (defined(__CYGWIN__) || defined(__NetBSD__) \
+ || (defined(__hppa) && !defined(__OpenBSD__)) || (defined(__NO_LONG_DOUBLE_MATH) && (DBL_MANT_DIG != LDBL_MANT_DIG))) \
+ && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+ # define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
diff --git a/devel/boost-libs/files/patch-clang-as b/devel/boost-libs/files/patch-clang-as
new file mode 100644
index 000000000000..569df677eb7a
--- /dev/null
+++ b/devel/boost-libs/files/patch-clang-as
@@ -0,0 +1,33 @@
+https://svn.boost.org/trac/boost/ticket/12551
+https://github.com/boostorg/context/commit/26b61a67cf1d
+
+--- libs/context/src/asm/jump_arm64_aapcs_elf_gas.S.orig 2016-09-21 14:33:22 UTC
++++ libs/context/src/asm/jump_arm64_aapcs_elf_gas.S
+@@ -37,7 +37,6 @@
+ * *
+ *******************************************************/
+
+-.cpu generic+fp+simd
+ .text
+ .align 2
+ .global jump_fcontext
+--- libs/context/src/asm/make_arm64_aapcs_elf_gas.S.orig 2016-09-21 14:33:22 UTC
++++ libs/context/src/asm/make_arm64_aapcs_elf_gas.S
+@@ -37,7 +37,6 @@
+ * *
+ *******************************************************/
+
+-.cpu generic+fp+simd
+ .text
+ .align 2
+ .global make_fcontext
+--- libs/context/src/asm/ontop_arm64_aapcs_elf_gas.S.orig 2016-09-21 14:33:22 UTC
++++ libs/context/src/asm/ontop_arm64_aapcs_elf_gas.S
+@@ -37,7 +37,6 @@
+ * *
+ *******************************************************/
+
+-.cpu generic+fp+simd
+ .text
+ .align 2
+ .global ontop_fcontext
diff --git a/devel/boost-libs/files/patch-tools_build_src_tools_clang-linux.jam b/devel/boost-libs/files/patch-tools_build_src_tools_clang-linux.jam
new file mode 100644
index 000000000000..5f25fd3e5823
--- /dev/null
+++ b/devel/boost-libs/files/patch-tools_build_src_tools_clang-linux.jam
@@ -0,0 +1,92 @@
+--- tools/build/src/tools/clang-linux.jam.orig 2016-09-21 14:33:28 UTC
++++ tools/build/src/tools/clang-linux.jam
+@@ -31,7 +31,7 @@ generators.override clang-linux.compile.
+ generators.override clang-linux.compile.c++.pch : pch.default-cpp-pch-generator ;
+
+ type.set-generated-target-suffix PCH
+- : <toolset>clang <toolset-clang:platform>linux : pth ;
++ : <toolset>clang <toolset-clang:platform>linux : pch ;
+
+ toolset.inherit-rules clang-linux : gcc ;
+ toolset.inherit-flags clang-linux : gcc
+@@ -96,24 +96,24 @@ rule compile.c++ ( targets * : sources *
+ gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
+ gcc.setup-address-model $(targets) : $(sources) : $(properties) ;
+
+- local pth-file = [ on $(<) return $(PCH_FILE) ] ;
++ local pch-file = [ on $(<) return $(PCH_FILE) ] ;
+
+- if $(pth-file) {
+- DEPENDS $(<) : $(pth-file) ;
++ if $(pch-file) {
++ DEPENDS $(<) : $(pch-file) ;
+ clang-linux.compile.c++.with-pch $(targets) : $(sources) ;
+ }
+ else {
+- clang-linux.compile.c++.without-pth $(targets) : $(sources) ;
++ clang-linux.compile.c++.without-pch $(targets) : $(sources) ;
+ }
+ }
+
+-actions compile.c++.without-pth {
++actions compile.c++.without-pch {
+ "$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -o "$(<)" "$(>)"
+ }
+
+ actions compile.c++.with-pch bind PCH_FILE
+ {
+- "$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pth -Xclang "$(PCH_FILE)" -o "$(<)" "$(>)"
++ "$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pch -Xclang "$(PCH_FILE)" -o "$(<)" "$(>)"
+ }
+
+ rule compile.c ( targets * : sources * : properties * )
+@@ -122,25 +122,25 @@ rule compile.c ( targets * : sources * :
+ gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
+ gcc.setup-address-model $(targets) : $(sources) : $(properties) ;
+
+- local pth-file = [ on $(<) return $(PCH_FILE) ] ;
++ local pch-file = [ on $(<) return $(PCH_FILE) ] ;
+
+- if $(pth-file) {
+- DEPENDS $(<) : $(pth-file) ;
++ if $(pch-file) {
++ DEPENDS $(<) : $(pch-file) ;
+ clang-linux.compile.c.with-pch $(targets) : $(sources) ;
+ }
+ else {
+- clang-linux.compile.c.without-pth $(targets) : $(sources) ;
++ clang-linux.compile.c.without-pch $(targets) : $(sources) ;
+ }
+ }
+
+-actions compile.c.without-pth
++actions compile.c.without-pch
+ {
+ "$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
+ }
+
+ actions compile.c.with-pch bind PCH_FILE
+ {
+- "$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pth -Xclang "$(PCH_FILE)" -c -o "$(<)" "$(>)"
++ "$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pch -Xclang "$(PCH_FILE)" -c -o "$(<)" "$(>)"
+ }
+
+ ###############################################################################
+@@ -153,7 +153,7 @@ rule compile.c++.pch ( targets * : sourc
+ }
+
+ actions compile.c++.pch {
+- rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pth -o "$(<)" "$(>)"
++ rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pch -o "$(<)" "$(>)"
+ }
+
+ rule compile.c.pch ( targets * : sources * : properties * ) {
+@@ -164,7 +164,7 @@ rule compile.c.pch ( targets * : sources
+
+ actions compile.c.pch
+ {
+- rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pth -o "$(<)" "$(>)"
++ rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pch -o "$(<)" "$(>)"
+ }
+
+ ###############################################################################
diff --git a/devel/boost-libs/files/patch-tools_build_src_tools_gcc.jam b/devel/boost-libs/files/patch-tools_build_src_tools_gcc.jam
new file mode 100644
index 000000000000..1c3345c6ad14
--- /dev/null
+++ b/devel/boost-libs/files/patch-tools_build_src_tools_gcc.jam
@@ -0,0 +1,32 @@
+Adding /usr/lib32 to LD_LIBRARY_PATH may be poisonous if /usr/lib64
+doesn't exist while /usr/lib only constains .so but not .so.SOVERSION
+files. Besides, LD_LIBRARY_PATH + -Wl,-rpath-link is same as -Wl,-rpath
+that USE_GCC already passes.
+
+--- tools/build/src/tools/gcc.jam.orig 2016-09-21 14:33:28 UTC
++++ tools/build/src/tools/gcc.jam
+@@ -210,24 +210,6 @@ rule init ( version ? : command * : opti
+ }
+ init-link-flags gcc $(linker) $(condition) ;
+
+- # If gcc is installed in a non-standard location, we would need to add
+- # LD_LIBRARY_PATH when running programs created with it (for unit-test/run
+- # rules).
+- if $(command)
+- {
+- # On multilib 64-bit boxes, there are both 32-bit and 64-bit libraries
+- # and all must be added to LD_LIBRARY_PATH. The linker will pick the
+- # right onces. Note that we do not provide a clean way to build a 32-bit
+- # binary using a 64-bit compiler, but user can always pass -m32
+- # manually.
+- local lib_path = $(root)/bin $(root)/lib $(root)/lib32 $(root)/lib64 ;
+- if $(.debug-configuration)
+- {
+- ECHO notice: using gcc libraries :: $(condition) :: $(lib_path) ;
+- }
+- toolset.flags gcc.link RUN_PATH $(condition) : $(lib_path) ;
+- }
+-
+ # If we are not using a system gcc installation we should adjust the various
+ # programs as needed to prefer using their installation specific versions.
+ # This is essential for correct use of MinGW and for cross-compiling.