Files
ports/x11/waveterm/files/patch-pkg_wavebase_wavebase.go
T
Hiroki Tagato d99be71459 x11/waveterm: Update to 0.14.1
Changelog: https://github.com/wavetermdev/waveterm/releases/tag/v0.14.1

Reported by:	GitHub (watch releases)
2026-03-12 10:58:22 +09:00

46 lines
1.5 KiB
Go

--- pkg/wavebase/wavebase.go.orig 2026-03-03 23:22:35 UTC
+++ pkg/wavebase/wavebase.go
@@ -81,6 +81,8 @@ var SupportedWshBinaries = map[string]bool{
"linux-arm64": true,
"windows-x64": true,
"windows-arm64": true,
+ "freebsd-x64": true,
+ "freebsd-arm64": true,
}
type FDLock interface {
@@ -217,6 +219,7 @@ func resolveWaveCachesDir() string {
homeDir := GetHomeDir()
cacheDir = filepath.Join(homeDir, "Library", "Caches", appBundle)
case "linux":
+ case "freebsd":
xdgCache := os.Getenv("XDG_CACHE_HOME")
if xdgCache != "" {
cacheDir = filepath.Join(xdgCache, appBundle)
@@ -471,6 +474,25 @@ func getSystemSummary(ctx context.Context) string {
details = "Windows"
}
return fmt.Sprintf("%s (%s)", details, runtime.GOARCH)
+ case "freebsd":
+ // Read /var/run/os-release directly (standard location since 2012)
+ data, err := os.ReadFile("/var/run/os-release")
+ var prettyName string
+ if err == nil {
+ for _, line := range strings.Split(string(data), "\n") {
+ line = strings.TrimSpace(line)
+ if strings.HasPrefix(line, "PRETTY_NAME=") {
+ prettyName = strings.Trim(strings.TrimPrefix(line, "PRETTY_NAME="), "\"")
+ break
+ }
+ }
+ }
+ if prettyName == "" {
+ prettyName = "FreeBSD"
+ } else if !strings.Contains(strings.ToLower(prettyName), "freebsd") {
+ prettyName = "FreeBSD " + prettyName
+ }
+ return fmt.Sprintf("%s (%s)", prettyName, runtime.GOARCH)
default:
return fmt.Sprintf("%s (%s)", runtime.GOOS, runtime.GOARCH)
}