boost: Update to 1.62.0

This commit is contained in:
Alexey Pavlov
2016-10-09 11:51:09 +03:00
parent e1ae4aaf16
commit 0376489c78
7 changed files with 49 additions and 180 deletions

View File

@@ -3,9 +3,9 @@
_realname=boost
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.60.0
pkgver=1.62.0
_boostver=${pkgver//./_}
pkgrel=4
pkgrel=1
pkgdesc="Free peer-reviewed portable C++ source libraries (mingw-w64)"
arch=('any')
url="https://www.boost.org/"
@@ -22,44 +22,38 @@ source=(https://downloads.sourceforge.net/sourceforge/boost/boost_${_boostver}.t
boost-1.48.0-add-bjam-man-page.patch
boost-1.50.0-fix-non-utf8-files.patch
boost-1.58.0-pool.patch
boost-1.54.0-bootstrap.patch
boost-1.55.0-python-test-PyImport_AppendInittab.patch
boost-1.57.0-build-optflags.patch
boost-1.57.0-mpl-print.patch
boost-1.58.0-pool-test_linking.patch
boost-1.57.0-python-abi_letters.patch
boost-1.57.0-python-libpython_dep.patch
boost-1.57.0-spirit-unused_typedef.patch
boost-1.58.0-address-model.patch
boost-1.60.0-mingw-context.patch
boost-1.61.0-fix-undefined-referense-to-codecvt.patch
boost-include-intrin-h-on-mingw-w64.patch
using-mingw-w64-python.patch
msys2-mingw-folders-bootstrap.patch
boost-1.60.0-shared_ptr_registration.patch)
sha256sums=('686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b'
msys2-mingw-folders-bootstrap.patch)
sha256sums=('d583df22a4ffad0e8505580ffea67077a6416c2a126a80c221a2f7e6b4666880'
'c5eae6354693c6b4e6364d4cf6f06c6c3de4c28486bf812cbd291f4410126cf8'
'f32d189cc661e9b843cf0a3c1528de41aaf4f1ea69d6150b5bcd0a2525d36424'
'4551ba9edf64c8ccdab4f4890c20e2e8cf6d4ffa1169d251df11e30d25b886b8'
'68bee1f0cfe3073ef4414d415566dbded678611f6b3aacc0bd99d1fffcdfe084'
'16dc2c42d6e509299133ca6d2aa3f87678f8904a630160ea93aebf992066d31c'
'a9a95bdc25a1449c542c667c95bd128ca8a19c0f6282c53671137b2d1b74b0f4'
'd4be505bf6cd08b9da232d0311bfda2820dd75cf8911ed07b72eddc418c73614'
'b15743957aa1c7eb1e861dfe96247e50b7afd96258d960be403851ce62923c87'
'cf46e9b791b45937d5af26b0f35dcdfa416cd9b62ef6c29e3064464835634628'
'01758929643f92530512230d37df9793e6481cd6ce6310e3a79cee5ba287858c'
'4768e576f8dcb57e1a7d7dcf9922659dd386c4974142155f23aff0b508a2117d'
'6182b9cf28e069920a5e7bf9b7d4155df196fc6ee6a31385aaf17c36a91d55c7'
'cb4b080b68f2d1176c7c9e6302dd9263b8a81e3226b323745765f73c3dfaba6f'
'8bc4cc4b6cc704c55929860039106d9564c67d42686d01a5c59e25e958eb4b95'
'2d5a82277f271612421f05c3b1a1e55fe736a18b581920eea12b54767d74edad'
'9a269375b8eb262b93fb18ea6b2ac8c97b16fb71b8bab900faa4c2df2816f2eb'
'0dd6346d369850aad13bf8d9bc2f0abc16d4b0586e34d61fab11f65d3d7fa9d4'
'ff22cad312b49625cc54edf41b210f2fc697322403e074792c82b0b5f45c4060'
'd673f2df169c5a86dda8036a34da1a3f5c5787a25009d7f45c8b4c3615fd0950')
'81f74c2eafbe004bcbb863cc3cd74571adcffed1169dde86645db4441be236e1')
prepare() {
cd "${srcdir}/boost_${_boostver}"
patch -p1 -i ${srcdir}/boost-1.54.0-bootstrap.patch
# https://svn.boost.org/trac/boost/ticket/6150
patch -p1 -i ${srcdir}/boost-1.50.0-fix-non-utf8-files.patch
@@ -76,9 +70,6 @@ prepare() {
# https://svn.boost.org/trac/boost/ticket/5637
patch -p1 -i ${srcdir}/boost-1.57.0-mpl-print.patch
# https://svn.boost.org/trac/boost/ticket/8870
patch -p1 -i ${srcdir}/boost-1.57.0-spirit-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/9038
patch -p1 -i ${srcdir}/boost-1.58.0-pool-test_linking.patch
@@ -96,6 +87,9 @@ prepare() {
# https://svn.boost.org/trac/boost/ticket/7262
patch -p1 -i ${srcdir}/boost-1.60.0-mingw-context.patch
# https://svn.boost.org/trac/boost/ticket/12205
patch -p1 -i ${srcdir}/boost-1.61.0-fix-undefined-referense-to-codecvt.patch
# Fix FTBFS on recent mingw-w64 and also use intrinsics based
# versions of the Interlocked symbols which are better optimized
patch -p0 -i ${srcdir}/boost-include-intrin-h-on-mingw-w64.patch
@@ -104,9 +98,6 @@ prepare() {
patch -p1 -i ${srcdir}/using-mingw-w64-python.patch
patch -p1 -i ${srcdir}/msys2-mingw-folders-bootstrap.patch
# https://github.com/boostorg/python/issues/56
patch -p2 -i ${srcdir}/boost-1.60.0-shared_ptr_registration.patch
}
build() {
@@ -163,7 +154,7 @@ build() {
-sNO_ZLIB \
-sZLIB_BINARY=z \
-sZLIB_INCLUDE=${MINGW_PREFIX}/include \
-sZLIB_LIBPATH=${MINGW_PREFIX}/zlib \
-sZLIB_LIBPATH=${MINGW_PREFIX}/lib \
-d2
}
@@ -204,7 +195,7 @@ package() {
-sNO_ZLIB \
-sZLIB_BINARY=z \
-sZLIB_INCLUDE=${MINGW_PREFIX}/include \
-sZLIB_LIBPATH=${MINGW_PREFIX}/zlib \
-sZLIB_LIBPATH=${MINGW_PREFIX}/lib \
address-model=${_model} \
--layout=tagged install \
--without-mpi

View File

@@ -1,12 +0,0 @@
diff -aurN boost_1_54_0/bootstrap.sh boost_1_54_0-fixed/bootstrap.sh
--- boost_1_54_0/bootstrap.sh 2013-03-09 14:55:05 -0800
+++ boost_1_54_0-fixed/bootstrap.sh 2013-07-18 00:12:38 -0700
@@ -215,7 +215,7 @@
if test "x$BJAM" = x; then
echo -n "Building Boost.Build engine with toolset $TOOLSET... "
pwd=`pwd`
- (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1
+ (cd "$my_dir/tools/build/src/engine" && ./build.sh mingw) > bootstrap.log 2>&1
if [ $? -ne 0 ]; then
echo
echo "Failed to build Boost.Build build engine"

View File

@@ -1,19 +0,0 @@
diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
--- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200
+++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100
@@ -282,12 +282,12 @@ struct grammar_definition
#if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE)
typedef impl::grammar_helper_base<GrammarT> helper_base_t;
typedef grammar_helper_list<GrammarT> helper_list_t;
- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
helper_list_t& helpers =
grammartract_helper_list::do_(self);
# if defined(BOOST_INTEL_CXX_VERSION)
+ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
(*i)->undefine(self);
# else
Diff finished. Tue Jan 20 13:25:53 2015

View File

@@ -5,12 +5,8 @@ Subject: [PATCH] boost::context segfault fix on x86_64/Windows
---
libs/context/build/Jamfile.v2 | 18 ++++++++++--------
libs/context/src/asm/jump_i386_ms_pe_gas.asm | 3 +++
libs/context/src/asm/jump_x86_64_ms_pe_gas.asm | 7 +++++--
libs/context/src/asm/make_i386_ms_pe_gas.asm | 3 +++
libs/context/src/asm/make_x86_64_ms_pe_gas.asm | 9 ++++++---
libs/thread/build/Jamfile.v2 | 3 ++-
6 files changed, 29 insertions(+), 14 deletions(-)
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/libs/context/build/Jamfile.v2 b/libs/context/build/Jamfile.v2
index 63c6984..cba6dce 100644
@@ -48,93 +44,6 @@ index 63c6984..cba6dce 100644
return $(tmp) ;
}
diff --git a/libs/context/src/asm/jump_i386_ms_pe_gas.asm b/libs/context/src/asm/jump_i386_ms_pe_gas.asm
index b55b772..f83bc8b 100644
--- a/libs/context/src/asm/jump_i386_ms_pe_gas.asm
+++ b/libs/context/src/asm/jump_i386_ms_pe_gas.asm
@@ -138,3 +138,6 @@ _jump_fcontext:
/* indirect jump to context */
jmp *%edx
+
+.section .drectve
+.ascii " -export:\"jump_fcontext\""
diff --git a/libs/context/src/asm/jump_x86_64_ms_pe_gas.asm b/libs/context/src/asm/jump_x86_64_ms_pe_gas.asm
index c4706ef..06f37f7 100644
--- a/libs/context/src/asm/jump_x86_64_ms_pe_gas.asm
+++ b/libs/context/src/asm/jump_x86_64_ms_pe_gas.asm
@@ -176,13 +176,13 @@ jump_fcontext:
2:
/* set offset of stack */
- movq 0xa8, %rcx
+ movq $0xa8, %rcx
/* test for indicator */
testq %r10, %r10
je 3f
- addq 0x8, %rcx
+ addq $0x8, %rcx
3:
/* prepare stack for FPU */
@@ -223,3 +223,6 @@ jump_fcontext:
/* indirect jump to context */
jmp *%r10
.seh_endproc
+
+.section .drectve
+.ascii " -export:\"jump_fcontext\""
diff --git a/libs/context/src/asm/make_i386_ms_pe_gas.asm b/libs/context/src/asm/make_i386_ms_pe_gas.asm
index 881b3c8..f025e46 100644
--- a/libs/context/src/asm/make_i386_ms_pe_gas.asm
+++ b/libs/context/src/asm/make_i386_ms_pe_gas.asm
@@ -122,3 +122,6 @@ finish:
hlt
.def __exit; .scl 2; .type 32; .endef /* standard C library function */
+
+.section .drectve
+.ascii " -export:\"make_fcontext\""
diff --git a/libs/context/src/asm/make_x86_64_ms_pe_gas.asm b/libs/context/src/asm/make_x86_64_ms_pe_gas.asm
index 31dd566..1d139f6 100644
--- a/libs/context/src/asm/make_x86_64_ms_pe_gas.asm
+++ b/libs/context/src/asm/make_x86_64_ms_pe_gas.asm
@@ -94,7 +94,7 @@ make_fcontext:
movq %rcx, %rax
/* reserve 32byte shadow-space for context-function */
- leaq -0x28(%rax), %rax
+ subq $0x28, %rax
/* shift address in RAX to lower 16 byte boundary */
/* == pointer to fcontext_t and address of context stack */
@@ -103,7 +103,7 @@ make_fcontext:
/* reserve space for context-data on context-stack */
/* size for fc_mxcsr .. RIP + return-address for context-function */
/* on context-function entry: (RSP -0x8) % 16 == 0 */
- leaq -0x128(%rax), %rax
+ subq $0x128, %rax
/* third arg of make_fcontext() == address of context-function */
movq %r8, 0x118(%rax)
@@ -133,7 +133,7 @@ make_fcontext:
movq %rcx, 0x120(%rax)
/* set indicator */
- movq 1, %rcx
+ mov $0x1, %rcx
movq %rcx, (%rax)
ret /* return pointer to context-data */
@@ -149,3 +149,6 @@ finish:
.seh_endproc
.def _exit; .scl 2; .type 32; .endef /* standard C library function */
+
+.section .drectve
+.ascii " -export:\"make_fcontext\""
diff --git a/libs/thread/build/Jamfile.v2 b/libs/thread/build/Jamfile.v2
index 6a46030..394c04a 100644
--- a/libs/thread/build/Jamfile.v2

View File

@@ -1,28 +0,0 @@
--- a/include/boost/python/object/class_metadata.hpp
+++ b/include/boost/python/object/class_metadata.hpp
@@ -164,7 +164,7 @@ struct class_metadata
>::type held_type;
// Determine if the object will be held by value
- typedef is_convertible<held_type*,T*> use_value_holder;
+ typedef mpl::bool_<is_convertible<held_type*,T*>::value> use_value_holder;
// Compute the "wrapped type", that is, if held_type is a smart
// pointer, we're talking about the pointee.
@@ -175,10 +175,12 @@ struct class_metadata
>::type wrapped;
// Determine whether to use a "back-reference holder"
- typedef mpl::or_<
- has_back_reference<T>
- , is_same<held_type_arg,T>
- , is_base_and_derived<T,wrapped>
+ typedef mpl::bool_<
+ mpl::or_<
+ has_back_reference<T>
+ , is_same<held_type_arg,T>
+ , is_base_and_derived<T,wrapped>
+ >::value
> use_back_reference;
// Select the holder.

View File

@@ -0,0 +1,30 @@
From aab8477eb1456896bf7311e913fb9b20b5f5e335 Mon Sep 17 00:00:00 2001
From: xantares <xantares09@hotmail.com>
Date: Sat, 14 May 2016 16:16:51 +0200
Subject: [PATCH] Fix undefined reference to codecvt_null<wchar_t>
See https://svn.boost.org/trac/boost/ticket/12205
---
libs/serialization/build/Jamfile.v2 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/serialization/build/Jamfile.v2 b/libs/serialization/build/Jamfile.v2
index 8fd92e6..cb17dd5 100644
--- a/libs/serialization/build/Jamfile.v2
+++ b/libs/serialization/build/Jamfile.v2
@@ -80,7 +80,6 @@ SOURCES =
xml_iarchive
xml_oarchive
xml_archive_exception
- codecvt_null
utf8_codecvt_facet
singleton
;
@@ -93,6 +92,7 @@ WSOURCES =
xml_wgrammar
xml_wiarchive
xml_woarchive
+ codecvt_null
;
lib boost_serialization

View File

@@ -1,6 +1,6 @@
--- a/tools/build/src/engine/build.sh 2015-07-07 09:46:25.813659600 +0300
+++ b/tools/build/src/engine/build.sh 2015-07-07 09:47:50.111229000 +0300
@@ -58,13 +58,26 @@
@@ -58,11 +58,24 @@
test `uname` = $*
fi
}
@@ -15,15 +15,13 @@
# Try and guess the toolset to bootstrap the build with...
Guess_Toolset ()
{
if test -r /mingw/bin/gcc ; then
BOOST_JAM_TOOLSET=mingw
BOOST_JAM_TOOLSET_ROOT=/mingw/
if test_uname Darwin ; then BOOST_JAM_TOOLSET=darwin
+ elif test_msystem MINGW32 ; then
+ BOOST_JAM_TOOLSET=mingw
+ BOOST_JAM_TOOLSET=gcc
+ BOOST_JAM_TOOLSET_ROOT=/mingw32/
+ elif test_msystem MINGW64 ; then
+ BOOST_JAM_TOOLSET=mingw
+ BOOST_JAM_TOOLSET=gcc
+ BOOST_JAM_TOOLSET_ROOT=/mingw64/
elif test_uname Darwin ; then BOOST_JAM_TOOLSET=darwin
elif test_uname IRIX ; then BOOST_JAM_TOOLSET=mipspro
elif test_uname IRIX64 ; then BOOST_JAM_TOOLSET=mipspro
elif test_uname OSF1 ; then BOOST_JAM_TOOLSET=tru64cxx