From 6dc9df57bf06adbc7135712cbde095fa7041ac00 Mon Sep 17 00:00:00 2001 From: mintaka Date: Tue, 25 Aug 2026 23:35:22 -0400 Subject: [PATCH] feat(compass-app): darwin build path via build-tag restructure (RIG-2753, T2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restructure go/cmd/compass-app build tags so darwin compiles the real gtk3 entrypoint without double-compiling the !gtk3 stubs. Each gtk3-tagged file gaining darwin moves unix && gtk3 -> (linux && gtk3) || darwin; each stub pair narrows unix && !gtk3 -> linux && !gtk3 (else a darwin build, which is unix with no gtk3 tag, compiles both the retagged real file and its stub = duplicate-symbol break, e.g. windowFromContext). The gtk3-tagged test suite stays unix && gtk3 (Linux-only; darwin coverage is the manual launch smoke + T3's macos-14 compile gate, per the record's honesty note). Implements DL-263 lane prerequisite; the real darwin compile runs in T3's macos-14 CI job (not runnable on Linux — darwin cgo needs the macOS SDK). Co-authored-by: Matt Wilkinson --- go/cmd/compass-app/bridge_service_window_gtk3.go | 2 +- go/cmd/compass-app/bridge_service_window_nogtk3.go | 2 +- go/cmd/compass-app/client.go | 2 +- go/cmd/compass-app/main.go | 2 +- go/cmd/compass-app/main_nogtk3.go | 2 +- go/cmd/compass-app/window_set.go | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go/cmd/compass-app/bridge_service_window_gtk3.go b/go/cmd/compass-app/bridge_service_window_gtk3.go index 91066e33..1e8cd762 100644 --- a/go/cmd/compass-app/bridge_service_window_gtk3.go +++ b/go/cmd/compass-app/bridge_service_window_gtk3.go @@ -1,4 +1,4 @@ -//go:build unix && gtk3 +//go:build (linux && gtk3) || darwin // The gtk3 build's binding of the bridge service's per-window frame routing // (M3) to the real Wails window API. It is split out of bridge_service.go diff --git a/go/cmd/compass-app/bridge_service_window_nogtk3.go b/go/cmd/compass-app/bridge_service_window_nogtk3.go index 8478f354..56e68e1f 100644 --- a/go/cmd/compass-app/bridge_service_window_nogtk3.go +++ b/go/cmd/compass-app/bridge_service_window_nogtk3.go @@ -1,4 +1,4 @@ -//go:build unix && !gtk3 +//go:build linux && !gtk3 // The non-gtk3 build's stub for the bridge service's per-window frame routing // (M3). The untagged module build (`go build ./...`) and the unix-tagged bridge diff --git a/go/cmd/compass-app/client.go b/go/cmd/compass-app/client.go index 7e7c687f..3d6a4810 100644 --- a/go/cmd/compass-app/client.go +++ b/go/cmd/compass-app/client.go @@ -1,4 +1,4 @@ -//go:build unix && gtk3 +//go:build (linux && gtk3) || darwin // The native-client launch: the app dials a headless Compass stack over the // authenticated TLS door (design §T5.6). Embedded mode — the in-process stack diff --git a/go/cmd/compass-app/main.go b/go/cmd/compass-app/main.go index 0cd8e92b..2a8d72b5 100644 --- a/go/cmd/compass-app/main.go +++ b/go/cmd/compass-app/main.go @@ -1,4 +1,4 @@ -//go:build unix && gtk3 +//go:build (linux && gtk3) || darwin // Command compass-app is the Compass native desktop shell: a Wails v3 // application that opens one window loading the prebuilt SolidJS UI (apps/ui diff --git a/go/cmd/compass-app/main_nogtk3.go b/go/cmd/compass-app/main_nogtk3.go index 61758680..24bd3915 100644 --- a/go/cmd/compass-app/main_nogtk3.go +++ b/go/cmd/compass-app/main_nogtk3.go @@ -1,4 +1,4 @@ -//go:build unix && !gtk3 +//go:build linux && !gtk3 // The compass-app entrypoint for builds WITHOUT the gtk3 desktop stack. // diff --git a/go/cmd/compass-app/window_set.go b/go/cmd/compass-app/window_set.go index f823af8b..c410fc11 100644 --- a/go/cmd/compass-app/window_set.go +++ b/go/cmd/compass-app/window_set.go @@ -1,4 +1,4 @@ -//go:build unix && gtk3 +//go:build (linux && gtk3) || darwin package main