1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
From: Chris Tusa <chris.tusa@leafscale.com>
Subject: pkg_format/OTHER_PKG: declare on non-Linux/FreeBSD (Hammerhead)
Both pkg_format (main.cpp) and the OTHER_PKG constant it's
initialized to (xfedefs.h) are gated behind #if defined(__FreeBSD__)
or #if defined(linux) (used later, unconditionally, to seed the
"package_format" registry entry read by Xfe's open-with/install-package
UI). GCC on Hammerhead (illumos derivative) predefines neither macro,
so neither the constant nor the variable exist and the
writeUnsignedEntry(..., pkg_format) call fails to compile. Add a
Hammerhead/generic-illumos fallback in both files that just defaults
to OTHER_PKG (we have no deb/rpm-equivalent to autodetect and don't
want one guessed).
diff --git a/src/xfedefs.h b/src/xfedefs.h
--- a/src/xfedefs.h 2026-02-08 05:02:51.000000000 -0600
+++ b/src/xfedefs.h 2026-07-22 20:50:35.798811328 -0500
@@ -426,3 +426,7 @@
#define OTHER_PKG 2
#endif
+
+#if !defined(__FreeBSD__) && !defined(linux)
+#define OTHER_PKG 2
+#endif
diff --git a/src/main.cpp b/src/main.cpp
--- a/src/main.cpp 2026-01-17 10:07:41.000000000 -0600
+++ b/src/main.cpp 2026-07-22 20:50:35.798910014 -0500
@@ -423,6 +423,10 @@
}
#endif
+#if !defined(__FreeBSD__) && !defined(linux)
+ FXuint pkg_format = OTHER_PKG;
+#endif
+
// Parse basic arguments
for (i = 1; i < argc; ++i)
{
From: Chris Tusa <chris.tusa@leafscale.com>
Subject: st/st.c: openpty() header include for Hammerhead
The bundled st (simple terminal) code's openpty() include is gated on
__linux / BSD-family / __APPLE__ macros only. GCC on Hammerhead
(illumos derivative) predefines none of these, so <libutil.h> (the
header illumos itself ships openpty() in - confirmed present at
/usr/include/libutil.h) never gets included and openpty() is an
implicit (and, under GCC14, error-level) declaration. Add a fallback
#else including the same illumos-native libutil.h.
diff --git a/st/st.c b/st/st.c
--- a/st/st.c 2026-01-17 10:07:39.000000000 -0600
+++ b/st/st.c 2026-07-22 20:52:24.005607327 -0500
@@ -31,6 +31,8 @@
#include <util.h>
#elif defined(__FreeBSD__) || defined(__DragonFly__)
#include <libutil.h>
+#else
+#include <libutil.h>
#endif
/* Arbitrary sizes */
|