diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..3cdcb46 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Your Name +pkgname=relibre +pkgver=0.2.0 +pkgrel=1 +pkgdesc="Native webview app to generate single-file landing pages for music releases" +arch=('x86_64') +url="https://git.circlewithadot.net/incentive/relibre" +license=('AGPL3') +depends=('gtk3' 'webkit2gtk' 'libsoup3' 'hicolor-icon-theme') +makedepends=('go' 'git') +provides=('relibre') +conflicts=('relibre-bin') + +# Build from a specific tag; update pkgver & tag for new releases +source=("${pkgname}::git+${url}.git#tag=v${pkgver}") +sha256sums=('SKIP') + +prepare() { + cd "${srcdir}/${pkgname}" + export GOPATH="${srcdir}/gopath" + export GOMODCACHE="${GOPATH}/pkg/mod" + go mod download +} + +build() { + cd "${srcdir}/${pkgname}" + export CGO_ENABLED=1 + go build -trimpath -ldflags "-s -w" -o relibre +} + +package() { + cd "${srcdir}/${pkgname}" + install -Dm755 relibre "${pkgdir}/usr/bin/relibre" + + # Desktop entry: prefer the Arch-specific file and strip the .arch suffix on install + if [[ -f dist/com.circlewithadot.Relibre.desktop.arch ]]; then + install -Dm644 dist/com.circlewithadot.Relibre.desktop.arch \ + "${pkgdir}/usr/share/applications/com.circlewithadot.Relibre.desktop" + elif [[ -f dist/com.circlewithadot.Relibre.desktop ]]; then + install -Dm644 dist/com.circlewithadot.Relibre.desktop \ + "${pkgdir}/usr/share/applications/com.circlewithadot.Relibre.desktop" + fi + + # Icon: reuse the Flatpak icon (must be a square 512×512 PNG) + if [[ -f dist/com.circlewithadot.Relibre.png ]]; then + install -Dm644 dist/com.circlewithadot.Relibre.png \ + "${pkgdir}/usr/share/icons/hicolor/512x512/apps/com.circlewithadot.Relibre.png" + fi +}