nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix

boost-1.55: fix build with gcc-5 by upstream patch

Our higher versions have fix integrated upstream.

(cherry picked from commit 4e8da0747c88375c221bf1b0f060183a863c6851)

+65 -1
+1 -1
pkgs/development/libraries/boost/1.55.nix
··· 3 3 callPackage ./generic.nix (args // rec { 4 4 version = "1.55.0"; 5 5 6 - patches = [ ./clang-math.patch ./clang-math-2.patch ]; 6 + patches = [ ./clang-math.patch ./clang-math-2.patch ./gcc-5.patch ]; 7 7 8 8 src = fetchurl { 9 9 url = "mirror://sourceforge/boost/boost_1_55_0.tar.bz2";
+64
pkgs/development/libraries/boost/gcc-5.patch
··· 1 + https://svn.boost.org/trac/boost/ticket/10125 2 + 3 + boost/thread/pthread/once.hpp | 6 +++--- 4 + boost/thread/pthread/once_atomic.hpp | 2 +- 5 + boost/thread/win32/once.hpp | 2 +- 6 + 3 files changed, 5 insertions(+), 5 deletions(-) 7 + 8 + diff --git a/boost/thread/pthread/once.hpp b/boost/thread/pthread/once.hpp 9 + index ccfb051..0bef038 100644 10 + --- a/boost/thread/pthread/once.hpp 11 + +++ b/boost/thread/pthread/once.hpp 12 + @@ -42,7 +42,7 @@ namespace boost 13 + } 14 + 15 + #ifdef BOOST_THREAD_PROVIDES_ONCE_CXX11 16 + -#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES 17 + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 18 + template<typename Function, class ...ArgTypes> 19 + inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args); 20 + #else 21 + @@ -65,7 +65,7 @@ namespace boost 22 + private: 23 + volatile thread_detail::uintmax_atomic_t epoch; 24 + 25 + -#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES 26 + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 27 + template<typename Function, class ...ArgTypes> 28 + friend void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args); 29 + #else 30 + @@ -118,7 +118,7 @@ namespace boost 31 + // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2444.html 32 + 33 + 34 + -#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES 35 + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 36 + 37 + 38 + template<typename Function, class ...ArgTypes> 39 + diff --git a/boost/thread/pthread/once_atomic.hpp b/boost/thread/pthread/once_atomic.hpp 40 + index 9e2f876..923f07b 100644 41 + --- a/boost/thread/pthread/once_atomic.hpp 42 + +++ b/boost/thread/pthread/once_atomic.hpp 43 + @@ -115,7 +115,7 @@ namespace boost 44 + #endif 45 + 46 + 47 + -#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES 48 + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 49 + 50 + template<typename Function, class ...ArgTypes> 51 + inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args) 52 + diff --git a/boost/thread/win32/once.hpp b/boost/thread/win32/once.hpp 53 + index cafcfd4..9b37b31 100644 54 + --- a/boost/thread/win32/once.hpp 55 + +++ b/boost/thread/win32/once.hpp 56 + @@ -227,7 +227,7 @@ namespace boost 57 + } 58 + } 59 + 60 + -#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES 61 + +#if !defined BOOST_NO_CXX11_VARIADIC_TEMPLATES && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 62 + //#if defined(BOOST_THREAD_RVALUE_REFERENCES_DONT_MATCH_FUNTION_PTR) 63 + inline void call_once(once_flag& flag, void (*f)()) 64 + {