[packages/boost] fix multiple definitions of uarg1; rel 2

atler atler at pld-linux.org
Sat Feb 18 15:52:36 CET 2023


commit 40d49ab001e31aa1a6decd83bc0f4f3895672dca
Author: Jan Palus <atler at pld-linux.org>
Date:   Sat Feb 18 15:51:40 2023 +0100

    fix multiple definitions of uarg1; rel 2
    
    see: https://github.com/boostorg/phoenix/issues/111
    fix from: https://github.com/boostorg/phoenix/pull/112

 boost.spec     |  4 +++-
 uarg-def.patch | 31 +++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 1 deletion(-)
---
diff --git a/boost.spec b/boost.spec
index 569f134..47a50c5 100644
--- a/boost.spec
+++ b/boost.spec
@@ -14,7 +14,7 @@ Summary:	The Boost C++ Libraries
 Summary(pl.UTF-8):	Biblioteki C++ "Boost"
 Name:		boost
 Version:	1.81.0
-Release:	1
+Release:	2
 License:	Boost Software License and others
 Group:		Libraries
 Source0:	https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{name}_%{fver}.tar.bz2
@@ -22,6 +22,7 @@ Source0:	https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{
 Patch0:		%{name}-link.patch
 Patch1:		%{name}-clean-gcc-flags.patch
 Patch2:		%{name}-fallthrough.patch
+Patch3:		uarg-def.patch
 # FC Patches:
 Patch201:	%{name}-python-abi_letters.patch
 # https://svn.boost.org/trac/boost/ticket/5637
@@ -511,6 +512,7 @@ Dokumentacja dla biblioteki Boost C++.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %patch201 -p1
 %patch203 -p0
diff --git a/uarg-def.patch b/uarg-def.patch
new file mode 100644
index 0000000..41a7c08
--- /dev/null
+++ b/uarg-def.patch
@@ -0,0 +1,31 @@
+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 at 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 a83014ac..d04ad16e 100644
+--- a/boost/phoenix/stl/tuple.hpp
++++ b/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()
+     }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/boost.git/commitdiff/40d49ab001e31aa1a6decd83bc0f4f3895672dca



More information about the pld-cvs-commit mailing list