[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