diff --git a/mingw-w64-boost/PKGBUILD b/mingw-w64-boost/PKGBUILD index 2578994da7..fa9d09a14d 100644 --- a/mingw-w64-boost/PKGBUILD +++ b/mingw-w64-boost/PKGBUILD @@ -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 diff --git a/mingw-w64-boost/boost-1.54.0-bootstrap.patch b/mingw-w64-boost/boost-1.54.0-bootstrap.patch deleted file mode 100644 index 7110d4417f..0000000000 --- a/mingw-w64-boost/boost-1.54.0-bootstrap.patch +++ /dev/null @@ -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" diff --git a/mingw-w64-boost/boost-1.57.0-spirit-unused_typedef.patch b/mingw-w64-boost/boost-1.57.0-spirit-unused_typedef.patch deleted file mode 100644 index 282962987c..0000000000 --- a/mingw-w64-boost/boost-1.57.0-spirit-unused_typedef.patch +++ /dev/null @@ -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 helper_base_t; - typedef grammar_helper_list 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 diff --git a/mingw-w64-boost/boost-1.60.0-mingw-context.patch b/mingw-w64-boost/boost-1.60.0-mingw-context.patch index 412fa312c7..1134e1952c 100644 --- a/mingw-w64-boost/boost-1.60.0-mingw-context.patch +++ b/mingw-w64-boost/boost-1.60.0-mingw-context.patch @@ -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 diff --git a/mingw-w64-boost/boost-1.60.0-shared_ptr_registration.patch b/mingw-w64-boost/boost-1.60.0-shared_ptr_registration.patch deleted file mode 100644 index 29788fde87..0000000000 --- a/mingw-w64-boost/boost-1.60.0-shared_ptr_registration.patch +++ /dev/null @@ -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 use_value_holder; -+ typedef mpl::bool_::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 -- , is_same -- , is_base_and_derived -+ typedef mpl::bool_< -+ mpl::or_< -+ has_back_reference -+ , is_same -+ , is_base_and_derived -+ >::value - > use_back_reference; - - // Select the holder. diff --git a/mingw-w64-boost/boost-1.61.0-fix-undefined-referense-to-codecvt.patch b/mingw-w64-boost/boost-1.61.0-fix-undefined-referense-to-codecvt.patch new file mode 100644 index 0000000000..f267fc221e --- /dev/null +++ b/mingw-w64-boost/boost-1.61.0-fix-undefined-referense-to-codecvt.patch @@ -0,0 +1,30 @@ +From aab8477eb1456896bf7311e913fb9b20b5f5e335 Mon Sep 17 00:00:00 2001 +From: xantares +Date: Sat, 14 May 2016 16:16:51 +0200 +Subject: [PATCH] Fix undefined reference to codecvt_null + +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 diff --git a/mingw-w64-boost/msys2-mingw-folders-bootstrap.patch b/mingw-w64-boost/msys2-mingw-folders-bootstrap.patch index e94744573b..a5c9dcee53 100644 --- a/mingw-w64-boost/msys2-mingw-folders-bootstrap.patch +++ b/mingw-w64-boost/msys2-mingw-folders-bootstrap.patch @@ -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