From 4b2d6af4ad3a5084dc1f7e2bd6814d68d49367b6 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 13:37:26 +0100 Subject: [PATCH 01/15] Add gotraceui --- Formula/gotraceui.rb | 57 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Formula/gotraceui.rb diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb new file mode 100644 index 0000000..1370403 --- /dev/null +++ b/Formula/gotraceui.rb @@ -0,0 +1,57 @@ +class Gotraceui < Formula + desc "An efficient frontend for Go execution traces" + homepage "https://gotraceui.dev" + url "https://github.com/dominikh/gotraceui/archive/refs/tags/v0.4.0.tar.gz" + # sha256 "" + license "MIT" + + head "https://github.com/dominikh/gotraceui.git", branch: "master" + + depends_on "go" => :build + depends_on "pkg-config" => :build + + if OS.linux? + depends_on "llvm" + + depends_on "wayland" + depends_on "libx11" + depends_on "libxkbcommon" + depends_on "mesa" + + depends_on "libxcursor" => :build + depends_on "vulkan-headers" => :build + end + + def install + if OS.linux? + ENV["CC"] = Formula["llvm"].opt_bin/"clang" + ENV["CXX"] = Formula["llvm"].opt_bin/"clang++" + ENV.prepend_path "PATH", Formula["llvm"].opt_bin + + # Pkg Config + Formula["gotraceui"].recursive_dependencies.each do |dep| + f = dep.to_formula + + # pkg-config directories + pc = f.opt_lib/"pkgconfig" + ENV.prepend_path "PKG_CONFIG_PATH", pc if pc.directory? + + # include directories + inc = f.opt_include + ENV.prepend_path "C_INCLUDE_PATH", inc if inc.directory? + end + end + ldflags = %W[ + -s -w + -X gioui.org/app.ID=co.honnef.Gotraceui + ] + + system "go", "build", *std_go_args(output: libexec/"gotraceui", ldflags: ldflags), "./cmd/gotraceui" + + # FIX for locales not found... + (bin/"gotraceui").write_env_script libexec/"gotraceui", + XCOMPOSEFILE: Formula["libx11"].opt_share/"X11/locale/en_US.UTF-8/Compose" unless OS.mac? + + pkgshare.install "share" + end +end From ed8e4a0d675a726e0a1d0d555784f0168c799620 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 6 Dec 2025 23:19:43 +0000 Subject: [PATCH 02/15] Add gotraceui --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 99ae1cf..7e08719 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,9 @@ brew install tyhal/tap/klar ``` ### Others + +- **[gotraceui](https://gotraceui.dev/)** – An efficient frontend for Go execution traces ( Dominik Honnef ) + +``` +brew install --build-from-source --HEAD tyhal/tap/gotraceui +``` From c2a2fc63987326e4c5465ad008369a699d4260d7 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Thu, 25 Dec 2025 23:59:08 +0000 Subject: [PATCH 03/15] Add sha --- Formula/gotraceui.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 1370403..575b88f 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -2,7 +2,7 @@ class Gotraceui < Formula desc "An efficient frontend for Go execution traces" homepage "https://gotraceui.dev" url "https://github.com/dominikh/gotraceui/archive/refs/tags/v0.4.0.tar.gz" - # sha256 "" + sha256 "894324f78a0f76c4e0317f995e6ae578ca9dc8fa97157946e8b6e8c45b93dc0f" license "MIT" head "https://github.com/dominikh/gotraceui.git", branch: "master" From 16ade6a9626cad306891cce5ace5193569bedb66 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Fri, 26 Dec 2025 00:07:36 +0000 Subject: [PATCH 04/15] fix linting --- Formula/gotraceui.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 575b88f..6a58bfb 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -1,5 +1,5 @@ class Gotraceui < Formula - desc "An efficient frontend for Go execution traces" + desc "Efficient frontend for Go execution traces" homepage "https://gotraceui.dev" url "https://github.com/dominikh/gotraceui/archive/refs/tags/v0.4.0.tar.gz" sha256 "894324f78a0f76c4e0317f995e6ae578ca9dc8fa97157946e8b6e8c45b93dc0f" @@ -41,7 +41,7 @@ def install ENV.prepend_path "C_INCLUDE_PATH", inc if inc.directory? end end - ldflags = %W[ + ldflags = %w[ -s -w -X gioui.org/app.ID=co.honnef.Gotraceui ] @@ -49,8 +49,10 @@ def install system "go", "build", *std_go_args(output: libexec/"gotraceui", ldflags: ldflags), "./cmd/gotraceui" # FIX for locales not found... - (bin/"gotraceui").write_env_script libexec/"gotraceui", - XCOMPOSEFILE: Formula["libx11"].opt_share/"X11/locale/en_US.UTF-8/Compose" unless OS.mac? + unless OS.mac? + (bin/"gotraceui").write_env_script libexec/"gotraceui", + XCOMPOSEFILE: Formula["libx11"].opt_share/"X11/locale/en_US.UTF-8/Compose" + end pkgshare.install "share" end From 0a0191b721951d1e00ce03d0971e8abc7ed586e9 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Fri, 26 Dec 2025 00:21:48 +0000 Subject: [PATCH 05/15] correct sha --- Formula/gotraceui.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 6a58bfb..3c12f01 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -2,7 +2,7 @@ class Gotraceui < Formula desc "Efficient frontend for Go execution traces" homepage "https://gotraceui.dev" url "https://github.com/dominikh/gotraceui/archive/refs/tags/v0.4.0.tar.gz" - sha256 "894324f78a0f76c4e0317f995e6ae578ca9dc8fa97157946e8b6e8c45b93dc0f" + sha256 "5aa6bc3e36fcde4cf91e8056df99ac432175c72ed76a061406469d8eca78f647" license "MIT" head "https://github.com/dominikh/gotraceui.git", branch: "master" From aa1dc7038771ef46aa639d3cd3ce998f4d709009 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Fri, 26 Dec 2025 01:28:35 +0000 Subject: [PATCH 06/15] drop old release --- Formula/gotraceui.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 3c12f01..ebaa765 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -1,8 +1,6 @@ class Gotraceui < Formula desc "Efficient frontend for Go execution traces" homepage "https://gotraceui.dev" - url "https://github.com/dominikh/gotraceui/archive/refs/tags/v0.4.0.tar.gz" - sha256 "5aa6bc3e36fcde4cf91e8056df99ac432175c72ed76a061406469d8eca78f647" license "MIT" head "https://github.com/dominikh/gotraceui.git", branch: "master" From d16f1f6458a8adc0168a92328789eb8bd024d8cf Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 13:44:36 +0100 Subject: [PATCH 07/15] Pin a stable version --- Formula/gotraceui.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index ebaa765..faf6833 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -3,6 +3,10 @@ class Gotraceui < Formula homepage "https://gotraceui.dev" license "MIT" + url "https://github.com/dominikh/gotraceui/archive/bfc5b70255cae54a74929a1e2394d57d4a3bc9d8.tar.gz" + version "20251215" + sha256 "35955954b8ae323a16ef764bc70fba851cbec92f3cdff15688e1670aa564b68e" + head "https://github.com/dominikh/gotraceui.git", branch: "master" depends_on "go" => :build From 9c2378a81646c444f7dbc16ad074859d15d6ad4a Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 13:46:58 +0100 Subject: [PATCH 08/15] brew style fix --- Formula/gotraceui.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index faf6833..b85fb04 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -1,11 +1,10 @@ class Gotraceui < Formula desc "Efficient frontend for Go execution traces" homepage "https://gotraceui.dev" - license "MIT" - url "https://github.com/dominikh/gotraceui/archive/bfc5b70255cae54a74929a1e2394d57d4a3bc9d8.tar.gz" version "20251215" sha256 "35955954b8ae323a16ef764bc70fba851cbec92f3cdff15688e1670aa564b68e" + license "MIT" head "https://github.com/dominikh/gotraceui.git", branch: "master" From 4ab73febe32080d915d46124bb5c91df5df88413 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 14:00:10 +0100 Subject: [PATCH 09/15] generic locale fix --- Formula/gotraceui.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index b85fb04..880e691 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -49,10 +49,9 @@ def install system "go", "build", *std_go_args(output: libexec/"gotraceui", ldflags: ldflags), "./cmd/gotraceui" - # FIX for locales not found... unless OS.mac? (bin/"gotraceui").write_env_script libexec/"gotraceui", - XCOMPOSEFILE: Formula["libx11"].opt_share/"X11/locale/en_US.UTF-8/Compose" + XLOCALEDIR: Formula["libx11"].opt_share/"X11/locale" end pkgshare.install "share" From c7f2f20c7c307cafd85eeb31d71772acb44f7c58 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 14:14:47 +0100 Subject: [PATCH 10/15] check if runners are 32bit --- Formula/gotraceui.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 880e691..f71b8ec 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -11,7 +11,7 @@ class Gotraceui < Formula depends_on "go" => :build depends_on "pkg-config" => :build - if OS.linux? + on_linux do depends_on "llvm" depends_on "wayland" @@ -24,6 +24,10 @@ class Gotraceui < Formula end def install + if OS.linux? && !Hardware::CPU.is_64_bit? + odie "gotraceui requires a 64-bit CPU on Linux; gio's Vulkan backend uses CGO and does not support 32-bit ARM" + end + if OS.linux? ENV["CC"] = Formula["llvm"].opt_bin/"clang" ENV["CXX"] = Formula["llvm"].opt_bin/"clang++" From cde262678761379be983e53bd24c207d8c199b6a Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 14:22:41 +0100 Subject: [PATCH 11/15] brew fix --- Formula/gotraceui.rb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index f71b8ec..650e358 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -12,15 +12,13 @@ class Gotraceui < Formula depends_on "pkg-config" => :build on_linux do - depends_on "llvm" - - depends_on "wayland" + depends_on "libxcursor" => :build + depends_on "vulkan-headers" => :build depends_on "libx11" depends_on "libxkbcommon" + depends_on "llvm" depends_on "mesa" - - depends_on "libxcursor" => :build - depends_on "vulkan-headers" => :build + depends_on "wayland" end def install From 159e35d9d74a93dd01e6b543023566655f9875f5 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 14:43:32 +0100 Subject: [PATCH 12/15] CGO for linux --- Formula/gotraceui.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 650e358..99819dd 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -22,13 +22,11 @@ class Gotraceui < Formula end def install - if OS.linux? && !Hardware::CPU.is_64_bit? - odie "gotraceui requires a 64-bit CPU on Linux; gio's Vulkan backend uses CGO and does not support 32-bit ARM" - end if OS.linux? ENV["CC"] = Formula["llvm"].opt_bin/"clang" ENV["CXX"] = Formula["llvm"].opt_bin/"clang++" + ENV["CGO_ENABLED"] = "1" ENV.prepend_path "PATH", Formula["llvm"].opt_bin # Pkg Config From 900f2c13fb9ddd660289417318aee7b15750a34c Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 14:48:56 +0100 Subject: [PATCH 13/15] brew fix --- Formula/gotraceui.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 99819dd..e097e45 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -22,7 +22,6 @@ class Gotraceui < Formula end def install - if OS.linux? ENV["CC"] = Formula["llvm"].opt_bin/"clang" ENV["CXX"] = Formula["llvm"].opt_bin/"clang++" From a1815308e8c42d8d433456509c3ecd9fdccfb9ef Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 14:57:32 +0100 Subject: [PATCH 14/15] fix system lib dep --- Formula/gotraceui.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index e097e45..0d30303 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -12,9 +12,9 @@ class Gotraceui < Formula depends_on "pkg-config" => :build on_linux do - depends_on "libxcursor" => :build depends_on "vulkan-headers" => :build depends_on "libx11" + depends_on "libxcursor" depends_on "libxkbcommon" depends_on "llvm" depends_on "mesa" From 2c9252a3a6fded209d81fbbc65afcff6c46f9796 Mon Sep 17 00:00:00 2001 From: Tyler Hale <11653981+tyhal@users.noreply.github.com> Date: Sat, 16 May 2026 15:09:24 +0100 Subject: [PATCH 15/15] fix missing transitive deps --- Formula/gotraceui.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Formula/gotraceui.rb b/Formula/gotraceui.rb index 0d30303..4a6775d 100644 --- a/Formula/gotraceui.rb +++ b/Formula/gotraceui.rb @@ -14,7 +14,9 @@ class Gotraceui < Formula on_linux do depends_on "vulkan-headers" => :build depends_on "libx11" + depends_on "libxcb" depends_on "libxcursor" + depends_on "libxfixes" depends_on "libxkbcommon" depends_on "llvm" depends_on "mesa"