# 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. pkgname=spec.sr.ht pkgver=0.0.0 pkgrel=0 pkgdesc="Reviewable document storage for humans and agents" url="https://sourcecraft.dev/bigbes/sr-ht-spec" arch="x86_64" license="MIT" # !check — tests want a live Postgres and a git work area # !tracedeps — CGO_ENABLED=0, so the binaries are static options="!check !tracedeps" 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" # CSS strictly before the binaries: web/ go:embed-s static/, so a # stylesheet built afterwards would never make it into the binary. The # shared scss partials are assembled by CI at ASSETS/scss (no apk ships # them). make css ASSETS=/usr/share/sourcehut # -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" # This Makefile honours DESTDIR; ASSETS must stay the real runtime path so # migrations and schema land where specsrht-migrate resolves them. make install DESTDIR="$pkgdir" PREFIX=/usr ASSETS=/usr/share/sourcehut }