aboutsummaryrefslogtreecommitdiffstats
path: root/testing/maddy/APKBUILD
blob: a97433e584b1aafd59a70d46b7e3f11da8b22727 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=maddy
pkgver=0.5.0
pkgrel=1
pkgdesc="Composable all-in-one mail server"
url="https://maddy.email/"
license="GPL-3.0-or-later"
arch="all"
options="chmod-clean"
makedepends="go linux-pam-dev libcap scdoc"
subpackages="$pkgname-openrc $pkgname-doc $pkgname-vim::noarch"
pkgusers="$pkgname"
pkggroups="$pkgname"
install="$pkgname.pre-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/foxcpp/maddy/archive/v$pkgver.tar.gz
	$pkgname.initd
	$pkgname.confd
	use-syslog.patch
	"

export GOPATH="$srcdir"

build() {
	ldflags="-extldflags \"$LDFLAGS\" -s -w
		-X github.com/foxcpp/maddy.DefaultLibexecDirectory=/usr/lib/maddy
		-X github.com/foxcpp/maddy.DefaultStateDirectory=/var/lib/maddy
		-X github.com/foxcpp/maddy.DefaultRuntimeDirectory=/run/maddy
		-X github.com/foxcpp/maddy.ConfigDirectory=/etc/maddy
		-X github.com/foxcpp/maddy.Version=$pkgver-$pkgrel
		"

	go build -trimpath -ldflags="$ldflags" -v -o bin/maddy ./cmd/maddy
	go build -trimpath -ldflags="$ldflags" -v -o bin/maddyctl ./cmd/maddyctl

	msg "Building man pages..."
	for f in docs/man/*.scd; do
		echo "$f -> ${f%.scd}.gz"
		scdoc < "$f" | gzip > "${f%.scd}.gz"
	done
}

check() {
	go test ./...
}

package() {
	install -Dm755 bin/maddy "$pkgdir"/usr/bin/maddy
	setcap cap_net_bind_service=+ep "$pkgdir"/usr/bin/maddy
	install -Dm755 bin/maddyctl "$pkgdir"/usr/bin/maddyctl

	install -Dm644 maddy.conf "$pkgdir"/etc/maddy/maddy.conf

	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname

	install -Dm644 -t "$pkgdir"/usr/share/man/man1 docs/man/*.1.gz
	install -Dm644 -t "$pkgdir"/usr/share/man/man5 docs/man/*.5.gz
}

vim() {
	pkgdesc="$pkgdesc (vim syntax)"
	depends=""
	install_if="vim $pkgname=$pkgver-r$pkgrel"

	mkdir -p "$subpkgdir"/usr/share/vim
	cp -r "$builddir"/dist/vim "$subpkgdir"/usr/share/vim/vimfiles
}

sha512sums="
919a12c415efe6cea48fd4870e7c6d6eea9aa1c4d30390be3ff5ee3010bcc518fa871ab68e51746196e17979cb0b3773c91174974ce44c3f4f62bec2a9415ad3  maddy-0.5.0.tar.gz
1c5c1d98e9a734bb3da60691f6d94005ea63cfb2de882c152211b1e8f4860556dabcdca4f160c8e612e7ec488d2c37e314c376e5bc9d5283cf47161958f4525b  maddy.initd
0d7cc93c87b6b8ada3ee929513ae98f9393497371caaad85381f78f4a9ee7ec6523192fbea82ada013a7999521c0b88d6ca6a53a374b7b54f4a8e3d23cdda421  maddy.confd
aab47869dd3b1e51fa0468fba8dcd24e2930127017b147165db280e28fb183f42b0401e8fcfa6dfb717c82fcecb4584934ddf3d73ad9f46034e0bd939bb96075  use-syslog.patch
"