From 82814a3a17561828ba613f9af4f24889aa71c6c7 Mon Sep 17 00:00:00 2001 From: Michal Landsman Date: Thu, 13 Aug 2026 15:25:01 +0200 Subject: [PATCH 1/2] devops: libheif in the Brewfile, a Go cgo binding needs the C library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hit on a work repo: `go run` died at `pkg-config --cflags -- libheif`, because github.com/strukturag/libheif is a binding, not a port — the codec itself has to be on the machine already. Portable CLI tooling, so one unguarded line: homebrew-core builds libheif on Linux too. --- Brewfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Brewfile b/Brewfile index 23228e7..f7c81ca 100644 --- a/Brewfile +++ b/Brewfile @@ -44,6 +44,9 @@ brew "kubernetes-cli" brew "lazydocker" # TUI for logs from journalctl, file system, Docker, Podman and Kubernetes pods brew "lazyjournal" +# HEIF/HEIC decoder and encoder — a C library, wanted for the Go binding around +# it: that one is cgo, so without this a `go build` stops at pkg-config +brew "libheif" # Postgres C API library brew "libpq" # Log file navigator From f6674a70948d7ecd37c69ed91fe57e6526be4a4e Mon Sep 17 00:00:00 2001 From: Michal Landsman Date: Thu, 13 Aug 2026 16:38:47 +0200 Subject: [PATCH 2/2] devops: say what libheif is for, a formula name explains nothing Go development: decoding HEIF/HEIC and rendering thumbnails from it. Plus the upstream link, since one repo carries both the C library and the cgo binding and that is the part that surprises. --- Brewfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Brewfile b/Brewfile index f7c81ca..b0fc091 100644 --- a/Brewfile +++ b/Brewfile @@ -44,8 +44,10 @@ brew "kubernetes-cli" brew "lazydocker" # TUI for logs from journalctl, file system, Docker, Podman and Kubernetes pods brew "lazyjournal" -# HEIF/HEIC decoder and encoder — a C library, wanted for the Go binding around -# it: that one is cgo, so without this a `go build` stops at pkg-config +# HEIF/HEIC decoder and encoder. Here for Go development: reading images in the +# format phones now shoot by default, and rendering thumbnails from them. +# https://github.com/strukturag/libheif is this C library and the Go binding in +# one repo — the binding is cgo, so `go build` stops at pkg-config without it. brew "libheif" # Postgres C API library brew "libpq"