Files
non-aur-packages/listmonk/PKGBUILD
2021-11-20 17:38:42 +01:00

70 lines
2.2 KiB
Bash

# Maintainer: Caleb Maclennan <caleb@alerque.com>
pkgname=listmonk
pkgver=2.0.0
pkgrel=3
pkgdesc='Self-hosted newsletter and mailing list manager with a modern dashboard'
arch=(x86_64)
url=https://listmonk.app
license=(AGPL3)
depends=(postgresql)
makedepends=(go node-gyp nodejs yarn)
backup=(etc/listmonk/config.toml)
install=$pkgname.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/knadh/$pkgname/archive/v$pkgver.tar.gz"
"$pkgname.conf"
"$pkgname.service")
sha256sums=('8ec73d9ee65dd0f1c5f7a2453982692e34a5eaa588eb05d0ec30afc0635b033f'
'5cfc186438df2408ed88a5bec3a9a4b5f2afb0d3aec41c4cc63b2f5eb810b3cb'
'809ede70c932183889b2fa567b340fb82cce1ada76c7b0a0b9efb82b87c92fa0')
prepare() {
cd "$pkgname-$pkgver/frontend"
export YARN_CACHE_FOLDER="$srcdir/node_modules"
yarn install --frozen-lockfile
}
build() {
cd "$pkgname-$pkgver"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
go build \
-trimpath \
-buildmode=pie \
-mod=readonly \
-modcacherw \
-ldflags "-extldflags '$LDFLAGS' -X 'main.buildString=Arch Linux AUR v$pkgver-$pkgrel' -X 'main.versionString=v$pkgver' -X 'main.frontendDir=frontend/dist'" \
-o $pkgname \
cmd/*.go
export YARN_CACHE_FOLDER="$srcdir/node_modules"
export VUE_APP_VERSION="v$pkgver"
pushd frontend
yarn build
}
check() {
cd "$pkgname-$pkgver"
go test ./...
}
package() {
cd "$pkgname-$pkgver"
install -Dm755 -t "$pkgdir/usr/bin" $pkgname
install -Dm644 config.toml.sample "$pkgdir/etc/$pkgname/config.toml"
install -Dm644 -t "$pkgdir/usr/lib/systemd/system/" "../$pkgname.service"
install -Dm644 -t "$pkgdir/usr/lib/sysusers.d/" "../$pkgname.conf"
install -Dm644 -t "$pkgdir/usr/share/$pkgname/" \
config.toml.sample \
schema.sql \
queries.sql
# install -Dm644 -t "$pkgdir/usr/share/$pkgname/frontend/dist/" \
# frontend/public/static/favicon.png
cp -a static "$pkgdir/usr/share/$pkgname/"
install -Dm644 -t "$pkgdir/usr/share/$pkgname/static" config.toml.sample
cp -a frontend/dist/ "$pkgdir/usr/share/$pkgname/frontend/dist"
cp -a i18n "$pkgdir/usr/share/$pkgname/"
}