Here is the directly libcxx22-related breakage of my first bulk.
There may be a few more because mono got stuck with a weird error. And
I did not try to build the V8 monsters: codex, deno, chromiums and a few
others because my machine isn't beefy enough. I don't think anything
super important is directly affected or hiding behind those. So as far
as ports are concerned, I think we can land libcxx22 whenever we want:
audio/ncmpcpp
audio/rubberband
cad/freecad
databases/mongodb/44
games/cataclysm-dda
games/dxx-rebirth
games/flightgear/base
games/keeperrl
mail/kopano/core
misc/subsurface
shells/fish/v3
textproc/lttoolbox
There are basically two main classes of failures: comparison operators
and locale things and a few odd ones like fish/v3 and
audio/ncmpcpp
/usr/include/c++/v1/__algorithm/sift_down.h:49:39: error: no matching function
for call to object of type 'LocaleBasedSorting'
49 | } else if ((__child + 1) < __len && __comp(__first[__child],
__first[__child + 1])) {
| ^~~~~~
audio/rubberband
../rubberband-4.0.0/src/common/mathmisc.h:58:1: error: unknown type name
'size_t'; did you mean 'std::size_t'?
58 | size_t roundUp(size_t value); // to nearest power of two
| ^~~~~~
| std::size_t
cad/freecad
/usr/include/c++/v1/__utility/lazy_synth_three_way_comparator.h:45:21: error:
no matching function for call to object of type 'const std::less<void>'
45 | bool __result = __comp_(__lhs_, __rhs_);
| ^~~~~~~
databases/mongodb/44
/usr/include/c++/v1/__utility/lazy_synth_three_way_comparator.h:45:21: error:
no matching function for call to object of type 'const std::less<void>'
45 | bool __result = __comp_(__lhs_, __rhs_);
| ^~~~~~~
games/cataclysm-dda
/usr/ports/pobj/cataclysm-dda-0.I/Cataclysm-DDA-0.I/src/third-party/flatbuffers_int/util.h:267:12:
error: use of undeclared identifier 'strtoll_l'
267 | *val = __strtoll_impl(str, endptr, base);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
games/dxx-rebirth
scons: *** Failed to initialize profile ('d1x', ''): C++ compiler does not
support std::make_unique_for_overwrite, std::make_unique. See build/config.log
for details. Stop.
games/flightgear/base
/usr/ports/pobj/flightgear-2024.1.3/flightgear-2024.1.3/src/FDM/JSBSim/input_output/string_utilities.cpp:91:18:
error: use of undeclared identifier 'strtod_l'
91 | double value = strtod_l(first, nullptr, numeric_c.Locale);
| ^~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
games/keeperrl
/usr/include/c++/v1/__algorithm/sift_down.h:49:46: error: type 'vector<Creature
*>::Iterator<Creature **>' does not provide a subscript operator
49 | } else if ((__child + 1) < __len && __comp(__first[__child],
__first[__child + 1])) {
| ^~~~~~~ ~~~~~~~
mail/kopano/core
provider/libserver/ECDatabaseUtils.cpp:425:33: error: use of undeclared
identifier 'strtod_l'
425 | lpPropVal->Value.flt =
(float)strtod_l(lpRow[FIELD_NR_DOUBLE], NULL, loc);
| ^~~~~~~~
misc/subsurface
/usr/ports/pobj/subsurface-6.0.5459/subsurface-e0fbda77ef203a5a2539465e9fa44df56e2f5a9e/core/uemis-downloader.cpp:434:9:
error: null passed to a callee that requires a non-null argument [-Werror,
-Wnonnull]
434 | return NULL;
| ^~~~
shells/fish/v3
/usr/include/c++/v1/__functional/hash.h:70:24: error: expected expression
70 | [[__fallthrough__]];
| ^
textproc/lttoolbox
/usr/include/c++/v1/__iterator/ostream_iterator.h:56:20: error: invalid
operands to binary expression ('ostream_type' (aka 'basic_ostream<char,
std::char_traits<char>>') and 'const char')
56 | *__out_stream_ << __value;
| ~~~~~~~~~~~~~~ ^ ~~~~~~~