Subject: [bug#54337] [PATCH v2 2/3] gnu: Add boost-for-cryfs.

From: Brendan Tildesley <[email-masked]>
Date: Tue, 15 Mar 2022 14:07:47 +0100 (CET)

> On 03/15/2022 9:14 AM Ludovic Courtès <[email-masked]> wrote:
...
> Since this affect only cryfs, and since it’s just a missing include, I
> wonder if we could instead add “#include <algorithm>” in the cryfs
> source file(s) that include(s) Boost headers?  That way, we wouldn’t
> need an extra Boost build.
> 
> Thoughts?
> 
Happy to do that but I don't understand where to put the includes. can you see from this:

RandomDataBuffer.cpp
In file included from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/basic_cmd.hpp:14,
                 from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/args.hpp:33,
                 from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process.hpp:22,
                 from /tmp/guix-build-cryfs-0.11.2.drv-0/src/cpp-utils/process/subprocess.cpp:6:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::vector<std::__cxx11::basic_string<char> > >::conv(const std::vector<std::__cxx11::basic_string<char> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:150:14: error: ‘transform’ is not a member of ‘std’
  150 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::initializer_list<std::__cxx11::basic_string<char> > >::conv(const std::initializer_list<std::__cxx11::basic_string<char> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:165:14: error: ‘transform’ is not a member of ‘std’
  165 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::vector<char*> >::conv(const std::vector<char*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:180:14: error: ‘transform’ is not a member of ‘std’
  180 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::initializer_list<char*> >::conv(const std::initializer_list<char*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:197:14: error: ‘transform’ is not a member of ‘std’
  197 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::vector<std::__cxx11::basic_string<wchar_t> > >::conv(const std::vector<std::__cxx11::basic_string<wchar_t> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:214:14: error: ‘transform’ is not a member of ‘std’
  214 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::initializer_list<std::__cxx11::basic_string<wchar_t> > >::conv(const std::initializer_list<std::__cxx11::basic_string<wchar_t> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:229:14: error: ‘transform’ is not a member of ‘std’
  229 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::vector<wchar_t*> >::conv(const std::vector<wchar_t*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:244:14: error: ‘transform’ is not a member of ‘std’
  244 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::initializer_list<wchar_t*> >::conv(const std::initializer_list<wchar_t*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:261:14: error: ‘transform’ is not a member of ‘std’
  261 |         std::transform(in.begin(), in.end(), ret.begin(),
      |              ^~~~~~~~~
[ 36%] Building CXX object src/cpp-utils/CMakeFiles/cpp-utils.dir/random/RandomGenerator.cpp.o