]> git.pld-linux.org Git - packages/boost.git/commitdiff
fix multiple definitions of uarg1; rel 2 auto/th/boost-1.81.0-2
authorJan Palus <atler@pld-linux.org>
Sat, 18 Feb 2023 14:51:40 +0000 (15:51 +0100)
committerJan Palus <atler@pld-linux.org>
Sat, 18 Feb 2023 14:51:40 +0000 (15:51 +0100)
see: https://github.com/boostorg/phoenix/issues/111
fix from: https://github.com/boostorg/phoenix/pull/112

boost.spec
uarg-def.patch [new file with mode: 0644]

index 569f134484f64f827e8b72cc4fbc63ea7acb2a9e..47a50c5ca5ea56fe0c84d916b51088224455e6ae 100644 (file)
@@ -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 (file)
index 0000000..41a7c08
--- /dev/null
@@ -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@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()
+     }
This page took 0.135916 seconds and 4 git commands to generate.