summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/boost/boost_phoenix_1.81.0.patch32
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py3
2 files changed, 35 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/boost/boost_phoenix_1.81.0.patch b/var/spack/repos/builtin/packages/boost/boost_phoenix_1.81.0.patch
new file mode 100644
index 0000000000..f629b77661
--- /dev/null
+++ b/var/spack/repos/builtin/packages/boost/boost_phoenix_1.81.0.patch
@@ -0,0 +1,32 @@
+From cc9bc2387fe19d6cb130460defe52ee8ecefe968 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Tue, 29 Nov 2022 07:34:17 +0700
+Subject: [PATCH] stl/tuple: change uarg##N to internal linkage
+
+8b6a9c2 (std::tuple support (Resolving #103) (#104), 2021-03-11) put
+uarg##N in all translation units, which includes
+boost/phoenix/stl/tuple.hpp or boost/phoenix/stl.hpp, with external
+linkage. Thus, we'll run into below error:
+
+> multiple definition of `boost::phoenix::placeholders::uarg1'
+
+Change it to internal linkage.
+---
+ include/boost/phoenix/stl/tuple.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/boost/phoenix/stl/tuple.hpp b/include/boost/phoenix/stl/tuple.hpp
+index a83014ace9f78977c05a5ff145195c4fb8ebd76c..d04ad16e33a9d4cdfff2b4309cdfdfd8130d972a 100644
+--- a/include/boost/phoenix/stl/tuple.hpp
++++ b/include/boost/phoenix/stl/tuple.hpp
+@@ -110,7 +110,7 @@ namespace boost { namespace phoenix {
+ namespace placeholders {
+ #define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT)
+ #define BOOST_PP_LOCAL_MACRO(N) \
+- auto uarg##N = \
++ const auto uarg##N = \
+ boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1);
+ #include BOOST_PP_LOCAL_ITERATE()
+ }
+
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 49b56302f3..51d814dc16 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -396,6 +396,9 @@ class Boost(Package):
# https://www.intel.com/content/www/us/en/developer/articles/technical/building-boost-with-oneapi.html
patch("intel-oneapi-linux-jam.patch", when="@1.76: %oneapi")
+ # https://github.com/boostorg/phoenix/issues/111
+ patch("boost_phoenix_1.81.0.patch", level=2, when="@1.81.0")
+
def patch(self):
# Disable SSSE3 and AVX2 when using the NVIDIA compiler
if self.spec.satisfies("%nvhpc"):