On Fri Aug 21, 2026 at 02:15:34PM +0200, Theo Buehler wrote: > 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])) { > | ^~~~~~~ ~~~~~~~ OK? diff --git a/games/keeperrl/patches/patch-my_containers_h b/games/keeperrl/patches/patch-my_containers_h new file mode 100644 index 00000000000..c1fc215fd23 --- /dev/null +++ b/games/keeperrl/patches/patch-my_containers_h @@ -0,0 +1,16 @@ +Unbreak libcxx22 build +Index: my_containers.h +--- my_containers.h.orig ++++ my_containers.h +@@ -333,6 +333,11 @@ class vector { + return *it; + } + ++ decltype(auto) operator[] (difference_type n) const { ++ checkParent(); ++ return it[n]; ++ } ++ + decltype(auto) operator-> () const { + checkParent(); + return *it;
No comments:
Post a Comment