81 lines
2.5 KiB
Bash
81 lines
2.5 KiB
Bash
# Maintainer: Caleb Maclennan <caleb@alerque.com>
|
|
|
|
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/"
|
|
}
|