Skip to content

Conversation

@Flast
Copy link
Contributor

@Flast Flast commented May 3, 2015

Boost.Fusion has a regression (#11211) in 1.58 release: this PR publish a patch to fix it, including boostorg/fusion#70, boostorg/fusion#71 and boostorg/fusion#72.

CC: @djowel , @daminetreg

@daminetreg
Copy link
Contributor

That's a good idea @Flast I think it's nice so. 😄

@djowel
Copy link
Contributor

djowel commented May 3, 2015

I do not have write access here, so you'll probably have to ask the maintainers of boostorg master. It might be a good idea to ask the Boost List.

@danieljames danieljames merged commit 9e63fdd into boostorg:master May 3, 2015
@Flast
Copy link
Contributor Author

Flast commented May 4, 2015

Thank you, @djowel, @daminetreg and @danieljames !

@Arfrever
Copy link

The patch (http://www.boost.org/patches/1_58_0/0002-Fix-a-regression-with-non-constexpr-types.patch) is difficult to apply for anybody who would want to use it.

Paths in this patch (excluding a/ prefix):

include/boost/fusion/adapted/struct/detail/define_struct.hpp
include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
test/sequence/adapt_struct.cpp
test/sequence/define_struct.cpp
test/sequence/define_struct_inline.cpp

Paths existing in boost_1_58_0.tar.bz2:

boost/fusion/adapted/struct/detail/define_struct.hpp
boost/fusion/adapted/struct/detail/define_struct_inline.hpp
libs/fusion/test/sequence/adapt_struct.cpp
libs/fusion/test/sequence/define_struct.cpp
libs/fusion/test/sequence/define_struct_inline.cpp

No value of -p option of patch tool would allow to apply this patch.
Application of patch is impossible without manual modification of patch.

@daminetreg
Copy link
Contributor

Oh! It looks like the patch was generated for boost cloned out of github and not the zip distribution. This is bad indeed, I'll regenerate it and submit it here.

@daminetreg
Copy link
Contributor

@Arfrever the patch is to be executed prior the build in the subfolder libs/fusion. 😄 Then it will work.

@Arfrever
Copy link

No. It will not work, unless you claim that patch tool printing errors about non-findable files and returning with non-zero exit status can be treated as a patch working.

$ tar -xjf boost_1_58_0.tar.bz2
$ wget -q http://www.boost.org/patches/1_58_0/0002-Fix-a-regression-with-non-constexpr-types.patch
$ cd boost_1_58_0/libs/fusion
$ patch -p1 < ../../../0002-Fix-a-regression-with-non-constexpr-types.patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/boost/fusion/adapted/struct/detail/define_struct.hpp b/include/boost/fusion/adapted/struct/detail/define_struct.hpp
|index 2554292..ce3737e 100644
|--- a/include/boost/fusion/adapted/struct/detail/define_struct.hpp
|+++ b/include/boost/fusion/adapted/struct/detail/define_struct.hpp
--------------------------
File to patch: 
Skip this patch? [y] y
Skipping patch.
8 out of 8 hunks ignored
can't find file to patch at input line 81
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
|index a5a3ae0..a037ffe 100644
|--- a/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
|+++ b/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
--------------------------
File to patch: 
Skip this patch? [y] y
Skipping patch.
2 out of 2 hunks ignored
patching file test/sequence/adapt_struct.cpp
patching file test/sequence/define_struct.cpp
patching file test/sequence/define_struct_inline.cpp
$ echo $?
1
$ 
@daminetreg
Copy link
Contributor

Sorry I've been writing this too fast as I was too tired. Definitely I'll regenerate the patch on the right tree.

@daminetreg
Copy link
Contributor

A fixed patch appliable with git apply 0002-Fix-a-regression-with-non-constexpr-types.patch is proposed in #87

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

5 participants