1
0
mirror of https://git.freebsd.org/ports.git synced 2026-06-02 11:08:52 +00:00
Files
Dimitry Andric b8cec75ffb textproc/lttoolbox: fix build with libc++ 21
With libc++ 21 textproc/lttoolbox fails to build, with errors similar to:

    In file included from /wrkdirs/usr/ports/textproc/lttoolbox/work/lttoolbox-3.8.0/lttoolbox/acx.cc:17:
    In file included from /wrkdirs/usr/ports/textproc/lttoolbox/work/lttoolbox-3.8.0/lttoolbox/acx.h:20:
    In file included from /wrkdirs/usr/ports/textproc/lttoolbox/work/lttoolbox-3.8.0/lttoolbox/sorted_vector.hpp:25:
    In file included from /usr/include/c++/v1/iterator:698:
    /usr/include/c++/v1/__iterator/ostream_iterator.h:62:20: error: invalid operands to binary expression ('ostream_type' (aka 'basic_ostream<char, std::char_traits<char>>') and 'const char')
       62 |     *__out_stream_ << __value;
          |     ~~~~~~~~~~~~~~ ^  ~~~~~~~
    /usr/local/include/utf8cpp/utf8/core.h:358:25: note: in instantiation of member function 'std::ostream_iterator<char>::operator=' requested here
      358 |             *(result++) = static_cast<octet_type>(cp);
          |                         ^
    /usr/local/include/utf8cpp/utf8/core.h:398:16: note: in instantiation of function template specialization 'utf8::internal::append<std::ostream_iterator<char>, char8_t>' requested here
      398 |         return append<octet_iterator, utfchar8_t>(cp, result);
          |                ^
    /usr/local/include/utf8cpp/utf8/checked.h:79:26: note: in instantiation of function template specialization 'utf8::internal::append<std::ostream_iterator<char>>' requested here
       79 |         return internal::append(cp, result);
          |                          ^
    /usr/local/include/utf8cpp/utf8/checked.h:248:28: note: in instantiation of function template specialization 'utf8::append<std::ostream_iterator<char>>' requested here
      248 |             result = utf8::append(cp, result);
          |                            ^
    /wrkdirs/usr/ports/textproc/lttoolbox/work/lttoolbox-3.8.0/lttoolbox/ustring.h:44:9: note: in instantiation of function template specialization 'utf8::utf16to8<char16_t *, std::ostream_iterator<char>>' requested here
       44 |   utf8::utf16to8(&c, &c+1, std::ostream_iterator<char>(ostr));
          |         ^

This is because ustring.h includes <iomanip> instead of <iostream>, and
libc++ 21 has reduced the number of transitive includes.

Replace <iomanip> with <iostream> to fix this.

PR:		293268
Approved by:	maintainer timeout (2 weeks)
MFH:		2026Q1
2026-03-13 09:28:22 +01:00
..