pkg/60041: Package spdlog-1.17.0 fails to build

"[email protected] via gnats" <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.bugs
Message-ID <[email protected]>
>Number:         60041
>Category:       pkg
>Synopsis:       Package spdlog-1.17.0 fails to build
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 26 11:25:00 +0000 2026
>Originator:     nico
>Release:        pkgsrc-2025Q4
>Organization:
rintene.trade
>Environment:
SunOS briareus 5.11 joyent_20251113T010957Z i86pc i386 i86pc
>Description:
The following error occures on build: 
/home/pbulk/build/devel/spdlog/work/spdlog-1.17.0/include/spdlog/details/os-inl.h:266:32: error: 'const struct std::tm' has no member named 'tm_gmtoff'
  266 |     return static_cast<int>(tm.tm_gmtoff / 60);
      |                                ^~~~~~~~~
>How-To-Repeat:

>Fix:
patch-os-intl.h

NetBSD$

--- include/spdlog/details/os-inl.h.orig        2026-01-04 16:06:01.000000000 +0000
+++ include/spdlog/details/os-inl.h
@@ -260,6 +260,16 @@ SPDLOG_INLINE int utc_minutes_offset(con
     auto offset_seconds = utc_time_t - local_time_t;
     return static_cast<int>(offset_seconds / 60);
 }
+#elif defined(__sun)
+SPDLOG_INLINE int utc_minutes_offset(const std::tm &tm) {
+    tzset();
+    int offset = -static_cast<int>(timezone);
+
+    if (tm.tm_isdst > 0) {
+        offset += 3600;
+    }
+    return offset / 60;
+}
 #else
 // On unix simply use tm_gmtoff
 SPDLOG_INLINE int utc_minutes_offset(const std::tm &tm) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.