# Maintainer: Sandro Cazzaniga pkgname=plotzilla pkgver=1.4.1 pkgrel=1 pkgdesc='Screenwriting app for Linux: scripts in the Hollywood standard format, Fountain, FDX and PDF' arch=('x86_64' 'aarch64') url='https://git.kharec.info/Kharec/plotzilla' license=('GPL-3.0-only') depends=('gtk3' 'webkit2gtk-4.1' 'libsoup3' 'gdk-pixbuf2' 'glib2' 'glibc' 'hicolor-icon-theme') makedepends=('git' 'go' 'nodejs' 'npm') optdepends=('ttf-courier-prime: the font of the printed page, on screen too' 'hunspell-en_us: English spell checking' 'hunspell-fr: French spell checking') source=("$pkgname::git+$url.git#tag=$pkgver") sha256sums=('SKIP') prepare() { cd "$pkgname" export GOPATH="$srcdir/gopath" go mod download -modcacherw # Downloads belong in prepare(); the build then runs offline. npm ci --prefix frontend --no-audit --no-fund } build() { cd "$pkgname" export GOPATH="$srcdir/gopath" export CGO_CPPFLAGS="$CPPFLAGS" export CGO_CFLAGS="$CFLAGS" export CGO_CXXFLAGS="$CXXFLAGS" export CGO_LDFLAGS="$LDFLAGS" export GOFLAGS='-buildmode=pie -trimpath -mod=readonly -modcacherw' npm run build --prefix frontend # The binary embeds frontend/dist; webkit2_41 selects WebKitGTK 4.1. go build -tags desktop,production,webkit2_41 \ -ldflags "-linkmode=external -compressdwarf=false" \ -o build/bin/plotzilla . } check() { cd "$pkgname" export GOPATH="$srcdir/gopath" go test ./internal/... } package() { cd "$pkgname" # DESTDIR skips the cache updates: pacman's hooks refresh the MIME, # desktop and icon caches. make install DESTDIR="$pkgdir" PREFIX=/usr install -Dm644 README.md CHANGELOG.md -t "$pkgdir/usr/share/doc/$pkgname" }