# Maintainer: bigbes # # Built by builds.sr.ht (.build.yml) and published to our own apk repo at # repo.bigb.es/alpine/v3.22/bigbes. The srht deployment installs it from there # instead of cloning and compiling this repo inside its Dockerfile. # # pkgver is rewritten by CI to 0.0. before abuild runs — a # monotonic, unique-per-commit version that the deployment can pin. The literal # below is only what a local `abuild` would use. pkgname=compare.sr.ht pkgver=0.0.0 pkgrel=0 pkgdesc="Stateless diff/compare viewer for a sourcehut instance" url="https://sourcecraft.dev/bigbes/sr-ht-compare" arch="x86_64" license="MIT" # !check — the Go tests need a live git.sr.ht API, not available in the VM # !tracedeps — CGO_ENABLED=0, so there are no shared-object deps to trace options="!check !tracedeps" # No source= : CI builds the checkout it was handed, so abuild works in place # rather than fetching a tarball. builddir points at the repo root, which is the # directory holding this APKBUILD. source="" builddir="$startdir" build() { cd "$builddir" # abuild redirects GOCACHE into $tmpdir (wiped after packaging), and an # upstream typo makes GOMODCACHE follow GOCACHE's value rather than its # own. Re-pin both to the stable home locations here — after abuild's own # exports — so CI's cache_restore/cache_save tasks see them survive. export GOCACHE="$HOME/.cache/go-build" export GOMODCACHE="$HOME/go/pkg/mod" # web/static (bundle.js + hashed CSS) is committed and go:embed-ed, so # there is no `make css` / `make bundle` step here — see README. # -modcacherw matters beyond convenience: without it the module cache is # extracted read-only, and the CI cache tarball made from it can't be # unpacked on the next build (mkdir into 0555 dirs fails). CGO_ENABLED=0 make build GOFLAGS="-trimpath -modcacherw" } package() { cd "$builddir" # The Makefile honours DESTDIR; ASSETS must stay the real runtime path so # the binary's static-dir glob resolves after install. make install DESTDIR="$pkgdir" PREFIX=/usr ASSETS=/usr/share/sourcehut }