From b43812c7c4c44d7d6a6be34c79aa692cc2a886ae Mon Sep 17 00:00:00 2001
From: "Dr. Christian Tacke"
 <58549698+ChristianTackeGSI@users.noreply.github.com>
Date: Tue, 3 Mar 2020 02:48:07 +0100
Subject: [PATCH] boost: Add "container" library (#14878)

"container" is partly a misnomer, as it's realy
the extended allocators part of container.

But every part calls it container, so we do too.
---
 var/spack/repos/builtin/packages/boost/package.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 452ae99b8a..41be592a52 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -96,8 +96,12 @@ class Boost(Package):
     # mpi/python are not installed by default because they pull in many
     # dependencies and/or because there is a great deal of customization
     # possible (and it would be difficult to choose sensible defaults)
+    #
+    # Boost.Container can be both header-only and compiled. '+container'
+    # indicates the compiled version which requires Extended Allocator
+    # support. The header-only library is installed when no variant is given.
     default_noinstall_libs\
-        = set(['context', 'coroutine', 'fiber', 'mpi', 'python'])
+        = set(['container', 'context', 'coroutine', 'fiber', 'mpi', 'python'])
 
     all_libs = default_install_libs | default_noinstall_libs
 
@@ -174,6 +178,9 @@ def libs(self):
     conflicts('+taggedlayout', when='+versionedlayout')
     conflicts('+numpy', when='~python')
 
+    # Container's Extended Allocators were not added until 1.56.0
+    conflicts('+container', when='@:1.55.99')
+
     # Patch fix from https://svn.boost.org/trac/boost/ticket/11856
     patch('boost_11856.patch', when='@1.60.0%gcc@4.4.7')
 
-- 
GitLab