# Maintainer: Caleb Maclennan pkgname=listmonk pkgver=2.0.0.r82.d42c676 pkgrel=1 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<17' yarn git) backup=(etc/listmonk/config.toml) install=$pkgname.install options=("!lto") _commit=d42c676503b42232e25620ab17d74f288ddd1109 # master source=("git+https://github.com/knadh/$pkgname.git#commit=$_commit" # "$pkgname-$pkgver.tar.gz::https://github.com/knadh/$pkgname/archive/v$pkgver.tar.gz" "$pkgname.conf" "$pkgname.service") sha256sums=('SKIP' '5cfc186438df2408ed88a5bec3a9a4b5f2afb0d3aec41c4cc63b2f5eb810b3cb' '809ede70c932183889b2fa567b340fb82cce1ada76c7b0a0b9efb82b87c92fa0') pkgver() { cd "$srcdir/${pkgname}" printf "%s" "$(git describe --long | sed 's/^v//g;s/\([^-]*-\)g/r\1/;s/-/./g')" } prepare() { # cd "$pkgname-$pkgver/frontend" cd "$pkgname/frontend" export YARN_CACHE_FOLDER="$srcdir/node_modules" yarn install --frozen-lockfile } build() { # cd "$pkgname-$pkgver" cd "$pkgname" 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" cd "$pkgname" go test ./... } package() { # cd "$pkgname-$pkgver" cd "$pkgname" 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 mkdir -p "$pkgdir/usr/share/$pkgname/frontend/dist" 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/" cp -a i18n "$pkgdir/usr/share/$pkgname/" }