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
>
>
> 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;
> | ^~~~
OK?
diff --git a/misc/subsurface/patches/patch-core_uemis-downloader_cpp
b/misc/subsurface/patches/patch-core_uemis-downloader_cpp
new file mode 100644
index 00000000000..85c640885f3
--- /dev/null
+++ b/misc/subsurface/patches/patch-core_uemis-downloader_cpp
@@ -0,0 +1,21 @@
+Index: core/uemis-downloader.cpp
+--- core/uemis-downloader.cpp.orig
++++ core/uemis-downloader.cpp
+@@ -194,7 +194,7 @@ static struct dive *get_dive_by_uemis_diveid(device_da
+ if (object_id == d->dcs[0].diveid)
+ return d.get();
+ }
+- return NULL;
++ return {};
+ }
+
+ /* send text to the importer progress bar */
+@@ -431,7 +431,7 @@ static std::string first_object_id_val(std::string_vie
+ return res;
+ }
+ }
+- return NULL;
++ return {};
+ }
+
+ /* ultra-simplistic; it doesn't deal with the case when the object_id is