summaryrefslogtreecommitdiff
path: root/user/rspamd/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'user/rspamd/APKBUILD')
-rw-r--r--user/rspamd/APKBUILD175
1 files changed, 175 insertions, 0 deletions
diff --git a/user/rspamd/APKBUILD b/user/rspamd/APKBUILD
new file mode 100644
index 000000000..71dbcb2ac
--- /dev/null
+++ b/user/rspamd/APKBUILD
@@ -0,0 +1,175 @@
+# 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=2.5
+pkgrel=0
+pkgdesc="Fast, free and open-source spam filtering system"
+url="https://rspamd.com/"
+arch="all"
+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=""
+makedepends="
+ cmake
+ curl-dev
+ file-dev
+ glib-dev
+ icu-dev
+ libevent-dev
+ libgd-dev
+ libsodium-dev
+ lua5.3
+ lua5.3-dev
+ openssl-dev
+ pcre2-dev
+ perl
+ ragel
+ sqlite-dev
+ "
+checkdepends="luarocks"
+install="$pkgname.pre-install"
+subpackages="
+ $pkgname-doc
+ $pkgname-client
+ $pkgname-libs
+ $pkgname-utils::noarch
+ $pkgname-controller::noarch
+ $pkgname-fuzzy::noarch
+ $pkgname-proxy::noarch
+ $pkgname-openrc
+ $pkgname-dbg
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/rspamd/rspamd/archive/$pkgver.tar.gz
+ $pkgname.logrotated
+ $pkgname.initd
+ $pkgname.confd
+ 10-conf-split-workers.patch
+ 20-lua-cmake.patch
+ "
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ 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_REDIRECTOR=ON \
+ -DENABLE_URL_INCLUDE=ON \
+ -DENABLE_PCRE2=ON \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ "$CMAKE_CROSSOPTS" .
+ make -C build
+}
+
+check() {
+ make -C build rspamd-test
+}
+
+package() {
+ make -C build DESTDIR="$pkgdir" install
+
+ cd "$pkgdir"
+ local path=usr/bin
+ for b in rspamd rspamc rspamadm;
+ do
+ rm "$path"/$b
+ mv "$path"/$b-$pkgver "$path"/$b
+ done
+
+ mv "$path"/rspamd_stats "$path"/rspamd-stats
+ mkdir -p ./usr/sbin
+ mv usr/bin/rspamd usr/sbin/
+
+ mkdir -p usr/share/doc/$pkgname
+ mv usr/share/$pkgname/www/README.md \
+ usr/share/doc/$pkgname/
+
+ 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
+
+ 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/rspamc"
+}
+
+libs() {
+ pkgdesc="$pkgdesc (libraries)"
+
+ mkdir -p "$subpkgdir/usr/lib/$subpkgname"
+ mv "$pkgdir/usr/lib/$pkgname/"*.so "$subpkgdir/usr/lib/$subpkgname/"
+}
+
+utils() {
+ pkgdesc="$pkgdesc (utilities)"
+ depends="perl"
+
+ mkdir -p "$subpkgdir/usr/bin"
+ mv "$pkgdir/usr/bin/${pkgname}-stats" "$subpkgdir/usr/bin/"
+ mv "$pkgdir/usr/bin/${pkgname}-redirector" "$subpkgdir/usr/bin/"
+}
+
+fuzzy() {
+ pkgdesc="$pkgdesc (local fuzzy storage)"
+ license="Apache-2.0"
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir/etc/$pkgname/modules.d"
+ mv "$pkgdir/etc/$pkgname"/worker-fuzzy.* "$subpkgdir/etc/$pkgname/"
+ mv "$pkgdir/etc/$pkgname"/modules.d/fuzzy_* "$subpkgdir/etc/$pkgname/modules.d/"
+}
+
+controller() {
+ pkgdesc="$pkgdesc (controller web interface)"
+ license="MIT"
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir/usr/share/$pkgname"
+ mv "$pkgdir/usr/share/$pkgname/www" "$subpkgdir/usr/share/$pkgname/www"
+ mkdir -p "$subpkgdir/etc/$pkgname"
+ mv "$pkgdir/etc/$pkgname"/worker-controller.* "$subpkgdir/etc/$pkgname/"
+}
+
+proxy() {
+ pkgdesc="$pkgdesc (milter support)"
+ license="Apache-2.0"
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir/etc/$pkgname"
+ mv "$pkgdir/etc/$pkgname"/worker-proxy.* "$subpkgdir/etc/$pkgname/"
+}
+
+sha512sums="6068309da98eeb75f95188414b12ce9443aef31200853f820646e70e1dbf2d9d1e2c661a86df2183c175cc01cfb09f6a5c7b8ba358901a56ec6cdb9d9fef4540 rspamd-2.5.tar.gz
+2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287fb3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb rspamd.logrotated
+782e1126d32e450a1db0ac822c127b9a763f903093f200bdf603a6a0610a853671b94c89b0bb2d8ebdfb065e0cf62be51c1c7f451e8da34e25f252a276c2b0f3 rspamd.initd
+a2003ef0c9d64a44480f59302864a2dfedcbe3a0047fcbb655408bc8aae9014b6ad0ddc6b64d4abeeb21bea0f86678afd30589ac8eed83e07ad7f87710e93702 rspamd.confd
+a8aefee649bf6630339d1d3f2bb20c25ca70b21a8eaa92951e926d0fd4525f1d4ac4cc7ea66ac2b15323cf02c93c759ddf7181502f0d71b21384ced9d88c008e 10-conf-split-workers.patch
+4c124eb0e5edcdb77ae0430de193da25c418f0265251d017efaaba86d419ba3db2a10dc5205fc3ae375bf005bbeaa102fb45415c05136004b4056950e1d737b6 20-lua-cmake.patch"