Build failure with llvm-22 on OpenBSD due to future startup-notification API break
Submitting this to save @landry some time investigating. I think this will only become relevant to xfwm4 itself once startup-notification cuts a new release (which looks rather unlikely at this point). Until then this seems like a patch we will need to carry in the OpenBSD port downstream. The problem is that the build fails on OpenBSD with llvm-22 as follows: ``` startup_notification.c:139:57: error: incompatible pointer types passing 'long *' to parameter of type 'time_t *' (aka 'long long *') [-Wincompatible-pointer-types] 139 | sn_startup_sequence_get_last_active_time (sequence, &l_sec, &l_usec); | ^~~~~~ /usr/local/include/startup-notification-1.0/libsn/sn-monitor.h:83:79: note: passing argument to parameter 'tv_sec' here 83 | time_t *tv_sec, | ^ 1 error generated. ``` The reason for this failure is a local patch we carry in startup-notifications to handle 64-bit time_t correctly. We upstreamed that, but it never made it into a startup-notification release (last one was ~15 years ago): - upstream commit: https://cgit.freedesktop.org/startup-notification/commit/?id=a7e49fefde18ea8d5bada8096d32f23bcfb5a6dc - commit in OpenBSD ports: https://github.com/openbsd/ports/commit/21c55467f7822215bfab99607a2dfefe77612a92 A few years later, xfwm4 was changed to use the releaed sn API correctly (but introducing a year 2038 issue on ILP32 architectures): f68c04ba8591615e5ee615865daf50c23b35ef33 For OpenBSD it means we will need to revert f68c04ba8591615e5ee615865daf50c23b35ef33 in a local patch and for xfwm4 there's currently nothing to do.
issue