Compare commits

...

43 Commits
f26 ... master

Author SHA1 Message Date
Jonathan Wakely c6c9a85f21 Add patch to fix build with Python 3.7 2018-06-19 18:15:55 +01:00
Jonathan Wakely 139c6b50e6 Remove ver.py file that was removed from sources recently 2018-06-19 17:53:12 +01:00
Miro Hrončok 1499fdf972 Rebuilt for Python 3.7 2018-06-19 10:40:35 +02:00
Jonathan Wakely 6534bae05f Add patch for Boost.Compute (#1585515) 2018-06-04 23:37:29 +01:00
Jonathan Wakely 3cee16030b Make Requires: for boost-container unconditional 2018-05-01 20:18:03 +01:00
Jonathan Wakely af66f9c00c Remove old Provides: and Obsoletes: tags for boost-devel-static 2018-05-01 20:18:03 +01:00
Jonathan Wakely 299d009cc0 Remove old Provides: and Obsoletes: tags for mpich2 packages 2018-05-01 20:18:03 +01:00
Jonathan Wakely 32555bac58 Remove old Provides: and Obsoletes: tags for odeint packages 2018-05-01 20:18:03 +01:00
Jonathan Wakely a4629aecca Fix Provides: and Obsoletes: tags for renamed python2 subpackages 2018-05-01 20:18:02 +01:00
Pete Walter e556fceb05 Rebuild for ICU 61.1 2018-04-30 09:45:38 +01:00
Jonathan Wakely 1a524340e6 Remove Requires: boost-openmpi-python from boost-openmpi-devel 2018-04-27 10:40:41 +01:00
Jonathan Wakely 9aae0c8a00 Drop ver.py source file and use python version macros
The %{python2_version} and %{python3_version} macros are pre-defined, so
we don't need to use ver.py to find the versions.

Use shell variable for Python 3 ABI flags instead of global macro. This
avoids errors when creating SRPMs or running rpmlint, because by
delaying the command until the %build stage we can rely on python3-devel
being installed.
2018-04-26 17:42:30 +01:00
Jonathan Wakely b4c96119f1 Remove main package dependency on boost-python and boost-numpy (#1569483)
Rename all subpackages using python2 from boost-xxx to boost-xxx2.
Split new subpackage boost-python2-devel out of boost-devel.
Split new subpackage boost-openmpi-python2-devel out of boost-openmpi-devel.
Split new subpackage boost-mpich-python2-devel out of boost-mpich-devel.
Enable conditional build for python2 packages.
2018-04-26 17:41:54 +01:00
Jonathan Wakely 3946a4a4b0 Ensure boost metapackage installs boost-container and boost-stacktrace. 2018-02-27 16:44:05 +00:00
Jonathan Wakely dc827b0935 Add boost-1.66.0-spirit-abs-overflow.patch file 2018-02-24 20:11:16 +00:00
Jonathan Wakely b59c4b6666 Add patch to fix integer overflow in Boost.Spirit absolute_value (#1545092) 2018-02-23 17:03:02 +00:00
Jonathan Wakely 4c456d525c Remove unnecessary Group tags and post/postun ldconfig scriptlets
The Group tag is not used by RPM.

In F28 the ldconfig %post and %postun scriptlets are done automatically
and so don't need to be explicit in the spec file.
2018-02-15 21:29:07 +00:00
Jonathan Wakely 47b8c9cad1 Add RPM_OPT_FLAGS and RPM_LD_FLAGS to build flags for bjam (#1541035) 2018-02-07 21:57:41 +00:00
Jonathan Wakely d50c552e84 Add RPM_LD_FLAGS to Jamfile and patch build.sh to use RPM flags (#1541035) 2018-02-05 17:53:53 +00:00
Jonathan Wakely 7387f7d55f Do not pass --without-coroutine2 to b2 2018-01-23 20:38:59 +00:00
Jonathan Wakely 90138276af Add new sources 2018-01-23 18:17:18 +00:00
Jonathan Wakely 747d6e8fe2 Rebase to 1.66.0
- Drop patches:
  boost-1.63.0-dual-python-build-v2.patch
  boost-1.64.0-mpi-get_data.patch
  boost-1.64.0-serialization-make_array.patch
  boost-1.64.0-icl-ttp-matching.patch
  boost-1.64.0-icl-undefined-shift.patch
2018-01-23 15:33:35 +00:00
Jonathan Wakely 1885d22687 Restore "Provides: boost-python" for boost-python2 2018-01-17 11:55:29 +00:00
Jonathan Wakely 5c4a0e07d3 Patch to fix #1516837 2017-12-07 14:37:10 +00:00
Pete Walter 9497c27f10 Rebuild for ICU 60.1 2017-11-30 20:19:32 +00:00
Jonathan Wakely 4c79bb2181 Fix spelling in boost-wave summary 2017-09-25 16:07:49 +01:00
Jonathan Wakely b634b3b0c8 Fix some rpmlint issues
- Remove Requires for libquadmath (explicit-lib-dependency)
- Remove executable bits on header files (spurious-executable-perm)
- Adjust boost.wave %%description (spelling-error)
2017-09-25 14:40:33 +01:00
Jonathan Wakely cc95da10da Rename python2-boost to boost-python2 2017-09-13 08:20:07 +01:00
Jonathan Wakely b9e2eb12e9 Patch to fix #1485641 2017-09-12 17:46:27 +01:00
Jonathan Wakely 91d3fad8f3 Fix descriptions 2017-09-06 16:47:40 +01:00
Zbigniew Jędrzejewski-Szmek 83bcf8daf2 Add Provides for the old name without %_isa 2017-08-20 09:18:07 -04:00
Zbigniew Jędrzejewski-Szmek d04833457b Python 2 binary package renamed to python2-boost 2017-08-19 09:38:07 -04:00
Fedora Release Engineering d185c08009 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 18:23:30 +00:00
Fedora Release Engineering efff732f4f - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 04:10:16 +00:00
Björn Esser 6e3f05c5de Drop obsolete patch for mpi serialization make_array
Purge unused patches from repo
2017-07-24 13:05:34 +02:00
Björn Esser c54b0a0c9e Add patch to fix make_array in serialization 2017-07-24 12:33:11 +02:00
Kalev Lember 91387222f5 Rebuild for std::__once_functor linking issue on ppc64le (#1470692)
This should hopefully fix linking with boost_context, which currently
fails on ppc64le with:

/usr/lib/gcc/ppc64le-redhat-linux/7/../../../../lib64/libboost_context.so:
undefined reference to `std::__once_functor@GLIBCXX_3.4.11'
2017-07-21 10:18:02 +02:00
Jonathan Wakely a4b6003a94 Update sources file 2017-07-17 15:45:49 +01:00
Jonathan Wakely 30150eaf49 Rebase to 1.64.0 2017-07-01 19:24:07 +01:00
Jonathan Wakely a919cdd969 Add numpy and numpy3 packages (#1451982) 2017-07-01 13:14:36 +01:00
Jonathan Wakely 7ace5f0128 Remove patch for boost::function strict aliasing problem (#1422456) 2017-07-01 12:08:54 +01:00
Jonathan Wakely 218cc61036 Rebuild for rpm-mpi-hooks fix (#1435690) 2017-04-25 10:46:17 +01:00
Jonathan Wakely 59415588c8 Patch boost::function to fix strict aliasing problem (#1422456)
Per packaging guidelines don't clean buildroot in %%install and %%clean.
2017-04-05 17:12:22 +01:00
17 changed files with 798 additions and 554 deletions

View File

@ -1,12 +0,0 @@
diff --git a/libs/math/config/has_long_double_support.cpp b/libs/math/config/has_long_double_support.cpp
index d314cf3..9022408 100644
--- a/libs/math/config/has_long_double_support.cpp
+++ b/libs/math/config/has_long_double_support.cpp
@@ -8,3 +8,7 @@
#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
#error "long double support is not supported by Boost.Math on this Plaform: the long double version of the TR1 library will not be built."
#endif
+
+int main(int argc, char *argv[]) {
+ return 0;
+}

View File

@ -1,57 +0,0 @@
--- boost_1_53_0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S.orig 2013-02-11 14:03:46.631005713 -0600
+++ boost_1_53_0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S 2013-02-11 14:06:52.704815403 -0600
@@ -87,12 +87,10 @@
subi %r0, %r3, 64 # reserve 64 bytes (linkage + parameter area), R4 % 16 == 0
stw %r0, 76(%r3) # save address in R3 as stack pointer for context function
- mflr %r0 # load LR
bl 1f # jump to label 1
1:
mflr %r4 # load LR into R4
addi %r4, %r4, finish - 1b # compute abs address of label finish
- mtlr %r0 # restore LR
stw %r4, 84(%r3) # save address of finish as return address for context function
# entered after context function returns
@@ -108,4 +106,5 @@
li %r3, 0 # exit code is zero
bl _exit@plt # exit application
+ .long 0 # We should never get here, so SIGILL if we do
.size make_fcontext, .-make_fcontext
--- boost_1_53_0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S.orig 2013-02-11 14:03:43.726849715 -0600
+++ boost_1_53_0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S 2013-02-11 14:22:48.202839078 -0600
@@ -99,21 +99,19 @@
# call align_stack, R3 contains address at 16 byte boundary after return
# == pointer to fcontext_t and address of context stack
- rlwinm %r3, %r3, 0, 0, 59
+ clrrdi %r3, %r3, 4
std %r0, 184(%r3) # save address of context stack (base) in fcontext_t
std %r4, 192(%r3) # save context stack size in fcontext_t
std %r5, 176(%r3) # save address of context function in fcontext_t
- subf %r0, %r3, 64 # 64 bytes on stack for parameter area (== 8 registers)
+ subi %r0, %r3, 64 # 64 bytes on stack for parameter area (== 8 registers)
std %r0, 152(%r3) # save the stack base
- mflr %r0 # load LR
bl 1f # jump to label 1
1:
mflr %r4 # load LR into R4
addi %r4, %r4, finish - 1b # compute abs address of label finish
- mtlr %r0 # restore LR
std %r4, 168(%r3) # save address of finish as return address for context function
# entered after context function returns
@@ -128,5 +126,7 @@
stwu %r1, -32(%r1) # allocate stack space, SP % 16 == 0
li %r3, 0 # set return value to zero
- bl _exit@plt # exit application
+ bl _exit # exit application
+ nop # nop is required by the linker
+ .long 0 # We should never get here, so SIGILL if we do
.size .make_fcontext, .-.make_fcontext

View File

@ -1,25 +0,0 @@
From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Wed, 2 Sep 2015 13:02:12 +0100
Subject: [PATCH] Python: Fix condition for make_setter overload.
This fixes the regression caused by 42e7d7b.
Fixes #39
---
include/boost/python/data_members.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp
index 139bde3..5d3309c 100644
--- a/include/boost/python/data_members.hpp
+++ b/include/boost/python/data_members.hpp
@@ -305,7 +305,7 @@ inline object make_setter(D& x)
return detail::make_setter(x, default_call_policies(), is_member_pointer<D>(), 0);
}
-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
template <class D>
inline object make_setter(D const& x)
{

View File

@ -1,106 +0,0 @@
From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001
From: Andrey Semashev <andrey.semashev@gmail.com>
Date: Sun, 23 Aug 2015 17:27:20 +0300
Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when
the operator right hand argument is not directly supported by
formatting_ostream. Fixed #11549.
---
diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp
index b3c58e2..c1e8059 100644
--- a/include/boost/log/sources/record_ostream.hpp
+++ b/include/boost/log/sources/record_ostream.hpp
@@ -39,6 +39,18 @@ namespace boost {
BOOST_LOG_OPEN_NAMESPACE
+template< typename CharT >
+class basic_record_ostream;
+
+namespace aux {
+
+template< typename StreamT, typename R >
+struct enable_if_record_ostream {};
+template< typename CharT, typename R >
+struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; };
+
+} // namespace aux
+
/*!
* \brief Logging record adapter with a streaming capability
*
@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ
typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging
#endif
+// Implementation note: these operators below should be the least attractive for the compiler
+// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
+// would be more preferred than the typical one written by users:
+//
+// record_ostream& operator<< (record_ostream& strm, my_type const& arg);
+//
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
+// if there is a perfect forwarding overload.
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT& strm, T const& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT& strm, T& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT&& strm, T const& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT&& strm, T& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
namespace aux {
//! Internal class that provides formatting streams for record pumps
diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp
index 4345206..744acc0 100644
--- a/include/boost/log/utility/formatting_ostream.hpp
+++ b/include/boost/log/utility/formatting_ostream.hpp
@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const
// Implementation note: these operators below should be the least attractive for the compiler
// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
+// would be more preferred than the typical one written by users:
+//
+// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg);
+//
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
+// if there is a perfect forwarding overload.
template< typename StreamT, typename T >
inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type
operator<< (StreamT& strm, T const& value)

View File

@ -0,0 +1,87 @@
--- boost_1_63_0/libs/mpi/build/Jamfile.v2 2016-12-22 06:33:17.000000000 -0600
+++ boost_1_63_0/libs/mpi/build/Jamfile.v2 2017-05-19 01:45:05.485563800 -0500
@@ -11,6 +11,7 @@
import mpi ;
import indirect ;
import python ;
+import feature ;
libraries = ;
@@ -53,18 +54,38 @@ lib boost_mpi
<library>../../serialization/build//boost_serialization
<library>/mpi//mpi [ mpi.extra-requirements ]
;
+
+rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
libraries += boost_mpi ;
+rule find-py3-version
+{
+ local versions = [ feature.values python ] ;
+ local py3ver ;
+ for local v in $(versions)
+ {
+ if $(v) >= 3.0
+ {
+ py3ver = $(v) ;
+ }
+ }
+ return $(py3ver) ;
+}
+
+py3-version = [ find-py3-version ] ;
if [ python.configured ]
{
- lib boost_mpi_python
+
+ rule lib_boost_mpi_python ( is-py3 ? ) {
+
+ lib [ cond $(is-py3) : boost_mpi_python3 : boost_mpi_python ]
: # Sources
python/serialize.cpp
: # Requirements
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
- <library>/boost/python//boost_python
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <library>/boost/python//boost_python ]
<link>shared:<define>BOOST_MPI_DYN_LINK=1
<link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
@@ -76,7 +97,6 @@ libraries += boost_mpi ;
: # Usage requirements
<library>/mpi//mpi [ mpi.extra-requirements ]
;
- libraries += boost_mpi_python ;
python-extension mpi
: # Sources
@@ -93,8 +113,8 @@ libraries += boost_mpi ;
python/status.cpp
python/py_timer.cpp
: # Requirements
- <library>/boost/python//boost_python
- <library>boost_mpi_python
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <library>/boost/python//boost_python ]
+ [ cond $(is-py3) : <library>boost_mpi_python3 : <library>boost_mpi_python ]
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
<link>shared:<define>BOOST_MPI_DYN_LINK=1
@@ -102,6 +122,16 @@ libraries += boost_mpi ;
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
<link>shared <runtime-link>shared
;
+ }
+
+ if $(py3-version) {
+ lib_boost_mpi_python yes ;
+ libraries += boost_mpi_python3 ;
+ } else {
+ lib_boost_mpi_python ;
+ libraries += boost_mpi_python ;
+ }
+
}
}
else if ! ( --without-mpi in [ modules.peek : ARGV ] )

View File

@ -1,46 +0,0 @@
--- boost_1_63_0/tools/build/src/tools/python.jam.orig 2017-02-16 18:51:14.005483084 +0000
+++ boost_1_63_0/tools/build/src/tools/python.jam 2017-02-16 18:51:24.912497496 +0000
@@ -926,27 +926,27 @@
# for a particular target OS as the default. This makes it so that we can
# select a python interpreter with only knowledge of the target OS. And hence
# can configure different Pythons based on the target OS only.
- local toolset-requirements = [ toolset.requirements ] ;
- local toolset-target-os-requirements
- = [ property.evaluate-conditionals-in-context
- [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
- if ! <python> in $(toolset-target-os-requirements:G)
- {
- toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
- }
+ #local toolset-requirements = [ toolset.requirements ] ;
+ #local toolset-target-os-requirements
+ # = [ property.evaluate-conditionals-in-context
+ # [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
+ #if ! <python> in $(toolset-target-os-requirements:G)
+ #{
+ # toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
+ #}
# We also set a default requirement that assigns the first python configured
# for a particular target OS as the default. This makes it so that we can
# select a python interpreter with only knowledge of the target OS. And hence
# can configure different Pythons based on the target OS only.
- local toolset-requirements = [ toolset.requirements ] ;
- local toolset-target-os-requirements
- = [ property.evaluate-conditionals-in-context
- [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
- if ! <python> in $(toolset-target-os-requirements:G)
- {
- toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
- }
+ #local toolset-requirements = [ toolset.requirements ] ;
+ #local toolset-target-os-requirements
+ # = [ property.evaluate-conditionals-in-context
+ # [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
+ #if ! <python> in $(toolset-target-os-requirements:G)
+ #{
+ # toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
+ #}
# Register the right suffix for extensions.
register-extension-suffix $(extension-suffix) : $(target-requirements) ;

View File

@ -1,8 +1,8 @@
--- boost_1_58_0/tools/build/src/tools/gcc.jam~ 2015-07-17 15:14:57.381636224 +0100
+++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-27 17:35:29.122264048 +0100
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:09:56.041685502 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:09:56.042685500 +0000
@@ -421,7 +421,9 @@
rule setup-address-model ( targets * : sources * : properties * )
rule set-address-model-options ( targets * : sources * : properties * )
{
- local model = [ feature.get-values address-model : $(properties) ] ;
+ # For RPM builds the address model flag is passed in %{optflags}.

View File

@ -0,0 +1,26 @@
--- boost_1_66_0/tools/build/src/engine/build.jam~ 2018-02-07 21:36:14.552201421 +0000
+++ boost_1_66_0/tools/build/src/engine/build.jam 2018-02-07 21:36:29.014173266 +0000
@@ -4,7 +4,7 @@
#~ http://www.boost.org/LICENSE_1_0.txt)
# Clean env vars of any "extra" empty values.
-for local v in ARGV CC CFLAGS LIBS
+for local v in ARGV CC CFLAGS LIBS RPM_OPT_FLAGS RPM_LD_FLAGS
{
local values ;
for local x in $($(v))
@@ -215,12 +215,12 @@
: -L$(--python-lib[1]) -l$(--python-lib[2]) ;
## GCC 2.x, 3.x, 4.x
toolset gcc gcc : "-o " : -D
- : -pedantic -fno-strict-aliasing
+ : -pedantic -fno-strict-aliasing $(RPM_OPT_FLAGS)
[ opt --release : [ opt --symbols : -g : -s ] -O3 ]
[ opt --debug : -g -O0 -fno-inline ]
[ opt --profile : -O3 -g -pg ]
-I$(--python-include) -I$(--extra-include) -Wno-long-long
- : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
+ : -L$(--python-lib[1]) -l$(--python-lib[2]) $(RPM_LD_FLAGS) ;
## GCC 2.x, 3.x on CYGWIN but without cygwin1.dll
toolset gcc-nocygwin gcc : "-o " : -D
: -s -O3 -mno-cygwin

View File

@ -1,33 +1,5 @@
diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam
--- ./tools/build/src/tools/gcc.jam~ 2015-02-09 15:01:04.850331626 +0100
+++ ./tools/build/src/tools/gcc.jam 2015-02-09 15:44:29.122307134 +0100
@@ -366,17 +366,17 @@ generators.override gcc.compile.c++.pch
toolset.flags gcc.compile PCH_FILE <pch>on : <pch-file> ;
# Declare flags and action for compilation.
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2017-12-13 23:56:50.000000000 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 12:48:26.264755316 +0000
@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc
actions compile.c++ bind PCH_FILE
@ -46,3 +18,32 @@ diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam
}
actions compile.c.preprocess bind PCH_FILE
@@ -755,17 +755,17 @@ actions compile.c.pch
###
# Declare flags and action for compilation.
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
-
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
-
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
+
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
+
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;

View File

@ -0,0 +1,23 @@
From fdbdb94db64e888fce90fe519be23c2a4396a82e Mon Sep 17 00:00:00 2001
From: pradeep <pradeep@arrayfire.com>
Date: Tue, 8 May 2018 14:53:38 +0530
Subject: [PATCH 1/2] Fix return var qualifier in svm_ptr::get_context
Lack of `const` qualifier is throwing errors with GCC 8.1
---
include/boost/compute/memory/svm_ptr.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/compute/memory/svm_ptr.hpp b/include/boost/compute/memory/svm_ptr.hpp
index c8753f5b..56cf1268 100644
--- a/include/boost/compute/memory/svm_ptr.hpp
+++ b/include/boost/compute/memory/svm_ptr.hpp
@@ -126,7 +126,7 @@ class svm_ptr
return m_ptr - other.m_ptr;
}
- context& get_context() const
+ const context& get_context() const
{
return m_context;
}

View File

@ -1,7 +1,6 @@
diff -up tools/build/src/tools/gcc.jam.rpath tools/build/src/tools/gcc.jam
--- tools/build/src/tools/gcc.jam.rpath 2016-05-27 13:30:01.092192721 -0500
+++ tools/build/src/tools/gcc.jam 2016-05-27 13:30:46.686987585 -0500
@@ -952,7 +952,7 @@ rule link ( targets * : sources * : prop
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:23:45.361330881 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:23:45.362330880 +0000
@@ -1191,7 +1191,7 @@ rule link ( targets * : sources * : prop
actions link bind LIBRARIES
{
@ -9,8 +8,8 @@ diff -up tools/build/src/tools/gcc.jam.rpath tools/build/src/tools/gcc.jam
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
@@ -1018,7 +1018,7 @@ rule link.dll ( targets * : sources * :
rule link.dll ( targets * : sources * : properties * )
@@ -1204,7 +1204,7 @@ rule link.dll ( targets * : sources * :
# Differs from 'link' above only by -shared.
actions link.dll bind LIBRARIES
{
@ -18,4 +17,4 @@ diff -up tools/build/src/tools/gcc.jam.rpath tools/build/src/tools/gcc.jam
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
rule setup-threading ( targets * : sources * : properties * )
###

View File

@ -49,8 +49,8 @@
extension-suffix ?= "" ;
+ abi-letters ?= "" ;
# Normalize and dissect any version number.
local major-minor ;
local cmds-to-try ;
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
}
else

View File

@ -0,0 +1,39 @@
From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
Date: Fri, 9 Feb 2018 18:20:30 +0100
Subject: [PATCH] Fix build with Python 3.7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Python 3.7 changes the return type of _PyUnicode_AsString()
from void* to const char* -- causing the build of boost-python
to fail.
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
---
src/converter/builtin_converters.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp
index 1c28af7fc..ee2d5b479 100644
--- a/libs/python/src/converter/builtin_converters.cpp
+++ b/libs/python/src/converter/builtin_converters.cpp
@@ -45,11 +45,16 @@ namespace
{
return PyString_Check(obj) ? PyString_AsString(obj) : 0;
}
-#else
+#elif PY_VERSION_HEX < 0x03070000
void* convert_to_cstring(PyObject* obj)
{
return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
}
+#else
+ void* convert_to_cstring(PyObject* obj)
+ {
+ return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
+ }
#endif
// Given a target type and a SlotPolicy describing how to perform a

View File

@ -0,0 +1,15 @@
--- boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp~ 2018-02-23 16:59:53.785141676 +0000
+++ boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp 2018-02-23 17:00:16.838092946 +0000
@@ -68,7 +68,11 @@
typedef unsignedtype type; \
static type call(signedtype n) \
{ \
- return static_cast<unsignedtype>((n >= 0) ? n : -n); \
+ if (n >= 0) \
+ return n; \
+ if (n == std::numeric_limits<signedtype>::min()) \
+ return (unsignedtype)n; \
+ return (unsignedtype)(-n); \
} \
} \
/**/

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
SHA512 (boost_1_63_0.tar.bz2) = c915c5f5778dee49b8e9d0a40f37f90f56fb1fdb1d8ce92d97bf48bc7bc462212487badfe4bbe30b06196d1149cfb221da12ac54e97499b0d4cb6466813bb4ad
SHA512 (boost_1_66_0.tar.bz2) = 0f34075d35391d66876e5189a01a11880a79428e1b267456348ee148dba9dc3abdc74d568f1853be631d20b584b1c804b42443c266f7622164acfc10be3dab8b

5
ver.py
View File

@ -1,5 +0,0 @@
import platform
import sys
sys.stdout.write (".".join (platform.python_version_tuple ()[:2]))
sys.stdout.write ("\n")