summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Gimenez <gimenez1@llnl.gov>2016-01-22 13:02:18 -0800
committerAlfredo Gimenez <gimenez1@llnl.gov>2016-01-22 13:02:18 -0800
commit10de5a3ec76fbf1244c43a843ae26a67fc879ddb (patch)
tree0bcdfd627e46a97e6cbd198b3ec419e9900e65b6
parent04a8439c39e674abb89d7a3f8dea82810c7ca682 (diff)
downloadspack-10de5a3ec76fbf1244c43a843ae26a67fc879ddb.tar.gz
spack-10de5a3ec76fbf1244c43a843ae26a67fc879ddb.tar.bz2
spack-10de5a3ec76fbf1244c43a843ae26a67fc879ddb.tar.xz
spack-10de5a3ec76fbf1244c43a843ae26a67fc879ddb.zip
Patch fix for boost@1.60.0%gcc@4.4.7
-rw-r--r--var/spack/repos/builtin/packages/boost/boost_11856.patch34
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py3
2 files changed, 37 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/boost/boost_11856.patch b/var/spack/repos/builtin/packages/boost/boost_11856.patch
new file mode 100644
index 0000000000..3b4052ca18
--- /dev/null
+++ b/var/spack/repos/builtin/packages/boost/boost_11856.patch
@@ -0,0 +1,34 @@
+--- a/libs/container/src/pool_resource.cpp 2015-11-06 12:49:55.000000000 -0800
++++ b/libs/container/src/pool_resource.cpp 2015-12-22 07:54:36.202131121 -0800
+@@ -32,11 +32,11 @@
+ class pool_data_t
+ : public block_slist_base<>
+ {
+- typedef block_slist_base<> block_slist_base;
++ typedef block_slist_base<> block_slist_base_t;
+
+ public:
+ explicit pool_data_t(std::size_t initial_blocks_per_chunk)
+- : block_slist_base(), next_blocks_per_chunk(initial_blocks_per_chunk)
++ : block_slist_base_t(), next_blocks_per_chunk(initial_blocks_per_chunk)
+ { slist_algo::init_header(&free_slist); }
+
+ void *allocate_block() BOOST_NOEXCEPT
+@@ -59,7 +59,7 @@
+ void release(memory_resource &upstream)
+ {
+ slist_algo::init_header(&free_slist);
+- this->block_slist_base::release(upstream);
++ this->block_slist_base_t::release(upstream);
+ next_blocks_per_chunk = pool_options_minimum_max_blocks_per_chunk;
+ }
+
+@@ -72,7 +72,7 @@
+
+ //Minimum block size is at least max_align, so all pools allocate sizes that are multiple of max_align,
+ //meaning that all blocks are max_align-aligned.
+- char *p = static_cast<char *>(block_slist_base::allocate(blocks_per_chunk*pool_block, mr));
++ char *p = static_cast<char *>(block_slist_base_t::allocate(blocks_per_chunk*pool_block, mr));
+
+ //Create header types. This is no-throw
+ for(std::size_t i = 0, max = blocks_per_chunk; i != max; ++i){
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 3427b74ad6..e3fb516be9 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -54,6 +54,9 @@ class Boost(Package):
depends_on('bzip2', when='+compression')
depends_on('zlib', when='+compression')
+ # Patch fix from https://svn.boost.org/trac/boost/ticket/11856
+ patch('boost_11856.patch', when='@1.60.0%gcc@4.4.7')
+
def url_for_version(self, version):
"""Handle Boost's weird URLs, which write the version two different ways."""
parts = [str(p) for p in Version(version)]