summaryrefslogtreecommitdiff
path: root/user/rspamd/APKBUILD
blob: e4d36f9823c8ef0e5fb686bf70a49db007b0855c (plain) (blame)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Nathan Angelacos <nangel@alpinelinux.org>
# Contributor: TBK <alpine@jjtc.eu>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: Duncan Bellamy <dunk@denkimushi.com>
# Maintainer: Lee Starnes <lee@canned-death.us>
pkgname=rspamd
pkgver=3.11.1
pkgrel=0
pkgdesc="Fast, free and open-source spam filtering system"
url="https://rspamd.com/"
arch="all"
options="!check" # Tests require LuaJIT's ffi module
license="Apache-2.0 AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND LGPL-2.1+ AND LGPL-3.0-only AND MIT AND Zlib"
pkgusers="rspamd"
pkggroups="rspamd"
depends=""
checkdepends="luarocks"
makedepends="
	cmake
	curl-dev
	file-dev
	glib-dev
	icu-dev
	libarchive-dev
	libevent-dev
	libexecinfo-dev
	libgd-dev
	libsodium-dev
	lua5.3
	lua5.3-dev
	openssl-dev
	pcre2-dev
	perl
	ragel
	sqlite-dev
	zstd-dev
	"
install="$pkgname.pre-install"
subpackages="
	$pkgname-doc
	$pkgname-client
	$pkgname-libs
	$pkgname-utils::noarch
	$pkgname-openrc
	$pkgname-dbg
	"
ldpath="/usr/lib/rspamd"
source="$pkgname-$pkgver.tar.gz::https://github.com/rspamd/rspamd/archive/$pkgver.tar.gz
	$pkgname.logrotated
	$pkgname.initd
	$pkgname.confd
	"

provides="
	rspamd-controller=$pkgver-r$pkgrel
	rspamd-fuzzy=$pkgver-r$pkgrel
	rspamd-proxy=$pkgver-r$pkgrel
	"

replaces="rspamd-controller rspamd-fuzzy rspamd-proxy"

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi
	LDFLAGS="$LDFLAGS -lexecinfo" cmake -B build \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCONFDIR=/etc/$pkgname \
		-DRUNDIR=/run/$pkgname \
		-DRSPAMD_USER=$pkgusers \
		-DRSPAMD_GROUP=$pkggroups \
		-DENABLE_LUAJIT=OFF \
		-DLUA_INCLUDE_DIR=/usr/include/lua5.3 \
		-DLUA_LIBRARY=/usr/lib/lua5.3/liblua.so \
		-DENABLE_URL_INCLUDE=ON \
		-DENABLE_BACKWARD=OFF \
		-DENABLE_PCRE2=ON \
		-DENABLE_URL_INCLUDE=ON \
		-DSYSTEM_ZSTD=ON \
		-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
		-DCMAKE_C_FLAGS="$CFLAGS" \
		"$CMAKE_CROSSOPTS" .
	cmake --build build --target all
}

check() {
	cmake --build build --target run-test
}

package() {
	DESTDIR="$pkgdir" cmake --install build

	cd "$pkgdir"

	install -D usr/share/"$pkgname"/www/README.md \
		usr/share/doc/"$pkgname"/README.md
	rm usr/share/"$pkgname"/www/README.md

	install -Dm 644 "$srcdir"/$pkgname.logrotated etc/logrotate.d/$pkgname
	install -Dm 755 "$srcdir"/$pkgname.initd etc/init.d/$pkgname
	install -Dm 644 "$srcdir"/$pkgname.confd etc/conf.d/$pkgname
	install -d etc/"$pkgname"/local.d etc/"$pkgname"/override.d

	mkdir -p etc/$pkgname/local.d \
		etc/$pkgname/override.d

	install -dm 750 -o rspamd -g rspamd \
		var/lib/$pkgname
	install -dm 750 -o rspamd -g rspamd \
		var/log/$pkgname
	install -dm 755 -o rspamd -g rspamd \
		etc/$pkgname/local.d/maps.d
}

client() {
	pkgdesc="$pkgdesc (console client)"

	mkdir -p "$subpkgdir/usr/bin"
	mv "$pkgdir"/usr/bin/rspamc* "$subpkgdir/usr/bin/"
}

libs() {
	pkgdesc="$pkgdesc (libraries)"

	mkdir -p "$subpkgdir/usr/lib/$pkgname"
	mv "$pkgdir/usr/lib/$pkgname/"*.so "$subpkgdir/usr/lib/$pkgname/"
}

utils() {
	pkgdesc="$pkgdesc (utilities)"
	depends="perl"

	mkdir -p "$subpkgdir/usr/bin"
	mv "$pkgdir/usr/bin/${pkgname}"_stats "$subpkgdir/usr/bin/"
}

sha512sums="979aad9d2cc720c12922d55f4ad742b65e18d0ca52ebb764a2432bd3d64e559461c8e1fa87f7ac52e614df71d0a776aa0362a876eaa745cd3f8c21afee52b8ab  rspamd-3.11.1.tar.gz
2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287fb3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb  rspamd.logrotated
c136126e3d3953079939b2b0b9b49f5f921af4c3aa0ad59a206632436ff963a69b5980a3b8e4eb14882d8db31d6fd96045a9e1cd6302ad111d76b8e92fab890e  rspamd.initd
a2003ef0c9d64a44480f59302864a2dfedcbe3a0047fcbb655408bc8aae9014b6ad0ddc6b64d4abeeb21bea0f86678afd30589ac8eed83e07ad7f87710e93702  rspamd.confd"