PKGBUILDs/extra/rspamd/PKGBUILD
2023-12-21 02:20:03 +00:00

190 lines
6.2 KiB
Bash

# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Oleksandr Natalenko <oleksandr@natalenko.name>
# Contributor: Andrew Lewis <nerf@judo.za.org>
# Contributor: mezcal
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove dependency on hyperscan (x86 only)
# - set -DENABLE_HYPERSCAN=OFF, -DENABLE_LTO=OFF
# - patch from upstream to fix FTBFS with hyperscan disabled
pkgname=rspamd
pkgver=3.7.5
pkgrel=1
epoch=
pkgdesc='Fast, free and open-source spam filtering system'
arch=(x86_64)
url=https://rspamd.com
license=(BSD)
depends=(
file
gcc-libs
glib2
glibc
icu
jemalloc
libelf
libsodium
luajit
openblas
openssl
pcre2
sqlite
zlib
)
makedepends=(
cmake
git
ninja
perl
ragel
)
optdepends=(
'perl: rspamd stats script'
'redis: redis cache and data storage'
)
backup=(
etc/rspamd/actions.conf
etc/rspamd/cgp.inc
etc/rspamd/common.conf
etc/rspamd/composites.conf
etc/rspamd/groups.conf
etc/rspamd/logging.inc
etc/rspamd/maps.d/dmarc_whitelist.inc
etc/rspamd/maps.d/maillist.inc
etc/rspamd/maps.d/mid.inc
etc/rspamd/maps.d/mime_types.inc
etc/rspamd/maps.d/redirectors.inc
etc/rspamd/maps.d/spf_dkim_whitelist.inc
etc/rspamd/maps.d/surbl-whitelist.inc
etc/rspamd/metrics.conf
etc/rspamd/modules.conf
etc/rspamd/modules.d/antivirus.conf
etc/rspamd/modules.d/arc.conf
etc/rspamd/modules.d/asn.conf
etc/rspamd/modules.d/chartable.conf
etc/rspamd/modules.d/clickhouse.conf
etc/rspamd/modules.d/dcc.conf
etc/rspamd/modules.d/dkim.conf
etc/rspamd/modules.d/dkim_signing.conf
etc/rspamd/modules.d/dmarc.conf
etc/rspamd/modules.d/elastic.conf
etc/rspamd/modules.d/emails.conf
etc/rspamd/modules.d/external_services.conf
etc/rspamd/modules.d/force_actions.conf
etc/rspamd/modules.d/forged_recipients.conf
etc/rspamd/modules.d/fuzzy_check.conf
etc/rspamd/modules.d/greylist.conf
etc/rspamd/modules.d/hfilter.conf
etc/rspamd/modules.d/history_redis.conf
etc/rspamd/modules.d/http_headers.conf
etc/rspamd/modules.d/known_senders.conf
etc/rspamd/modules.d/maillist.conf
etc/rspamd/modules.d/metadata_exporter.conf
etc/rspamd/modules.d/metric_exporter.conf
etc/rspamd/modules.d/mid.conf
etc/rspamd/modules.d/milter_headers.conf
etc/rspamd/modules.d/mime_types.conf
etc/rspamd/modules.d/multimap.conf
etc/rspamd/modules.d/mx_check.conf
etc/rspamd/modules.d/neural.conf
etc/rspamd/modules.d/once_received.conf
etc/rspamd/modules.d/p0f.conf
etc/rspamd/modules.d/phishing.conf
etc/rspamd/modules.d/ratelimit.conf
etc/rspamd/modules.d/rbl.conf
etc/rspamd/modules.d/redis.conf
etc/rspamd/modules.d/regexp.conf
etc/rspamd/modules.d/replies.conf
etc/rspamd/modules.d/reputation.conf
etc/rspamd/modules.d/rspamd_update.conf
etc/rspamd/modules.d/spamassassin.conf
etc/rspamd/modules.d/spamtrap.conf
etc/rspamd/modules.d/spf.conf
etc/rspamd/modules.d/surbl.conf
etc/rspamd/modules.d/trie.conf
etc/rspamd/modules.d/url_redirector.conf
etc/rspamd/modules.d/whitelist.conf
etc/rspamd/options.inc
etc/rspamd/rspamd.conf
etc/rspamd/scores.d/fuzzy_group.conf
etc/rspamd/scores.d/headers_group.conf
etc/rspamd/scores.d/hfilter_group.conf
etc/rspamd/scores.d/mime_types_group.conf
etc/rspamd/scores.d/mua_group.conf
etc/rspamd/scores.d/phishing_group.conf
etc/rspamd/scores.d/policies_group.conf
etc/rspamd/scores.d/rbl_group.conf
etc/rspamd/scores.d/statistics_group.conf
etc/rspamd/scores.d/subject_group.conf
etc/rspamd/scores.d/surbl_group.conf
etc/rspamd/scores.d/whitelist_group.conf
etc/rspamd/settings.conf
etc/rspamd/statistic.conf
etc/rspamd/worker-controller.inc
etc/rspamd/worker-fuzzy.inc
etc/rspamd/worker-normal.inc
etc/rspamd/worker-proxy.inc
)
install=rspamd.install
_tag=8c86c16763af854f19f2fb6eae289814feab8f28
source=(
git+https://github.com/rspamd/rspamd.git#tag=${_tag}
rspamd.tmpfiles
rspamd.sysusers
rspamd.logrotate
rspamd-dmarc-report.service
rspamd-dmarc-report.timer
rspamd-hyperscan.hook
https://github.com/rspamd/rspamd/commit/d907a95ac2e2cad6f7f65c4323f031f7931ae18b.patch
)
b2sums=('SKIP'
'6b1b4220444d382d01fe981acf51580c397363a873507fdb508fd5109adae2609c03e629ecdd6e48c13f068d0c3530be4d0fb55b3084c33522619dd29f70a40c'
'5b4db27d87158609519bb0e59700ac627d447e4627b70600a70638f81a39361ad416c4784dafc392e9f9bc7b69211587ae64cbab7bec98668e75df5c4fba46ea'
'25c2253c7ecd9fba215cb6a1df93d76fab98e98ffeec380f828d7a612a78e0c4822dacc838ca37c2ceec452e54e7fc06c4c4df3290c8a6e8ee5ae869bbbb449e'
'e22421badb8d8b69ec5b5e2cc42edcae3b83725a783455bfef7c9f4fe3b1797981a793d09f281b22b1423376a2f09dce368a354941aaf7f2d3c3a2e56e14392b'
'153df613fc1b24e845b3a86026215f8f7e031cc52f47278a1e0f389d6225d017c53e806316c8eb7d7e755985451f09cc9fb366cd776f3786e04ac4c59eacf606'
'8a2882e4cd59eb3304acae9dfa71252c2024a8251e61cd1e75e6b84a84ec8c636e70d6702c03d7b7d0e2f7fa60d2466c6eed4f4f80f1834585185deaf7157eee'
'005b076db6f4307f660ce3c4475ed511b586e83bd14046aab3843b5da8766f3cfa2d7e29904b308c00598b6172f68e25ebc8f0ff3b83c623e4318cf3ab63a673')
pkgver() {
cd rspamd
git describe --tags
}
prepare() {
cd rspamd
sed 's/_rspamd/rspamd/g' -i rspamd.service
# https://github.com/rspamd/rspamd/issues/4702
patch -p1 -i ../d907a95ac2e2cad6f7f65c4323f031f7931ae18b.patch
}
build() {
cmake -S rspamd -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCONFDIR=/etc/rspamd \
-DDBDIR=/var/lib/rspamd \
-DLOGDIR=/var/log/rspamd \
-DRUNDIR=/run/rspamd \
-DRSPAMD_USER=rspamd \
-DNO_SHARED=ON \
-DWANT_SYSTEMD_UNITS=ON \
-DENABLE_HYPERSCAN=OFF \
-DENABLE_JEMALLOC=ON \
-DENABLE_OPTIMIZATION=ON \
-DENABLE_LTO=OFF
cmake --build build
}
package() {
DESTDIR="${pkgdir}" cmake --install build
install -Dm 644 rspamd/LICENSE.md -t "${pkgdir}"/usr/share/licenses/rspamd
install -Dm 644 rspamd.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/rspamd.conf
install -Dm 644 rspamd.sysusers "${pkgdir}"/usr/lib/sysusers.d/rspamd.conf
install -Dm 644 rspamd.logrotate "${pkgdir}"/etc/logrotate.d/rspamd
install -Dm 644 rspamd-dmarc-report.service -t "${pkgdir}"/usr/lib/systemd/system/
install -Dm 644 rspamd-dmarc-report.timer -t "${pkgdir}"/usr/lib/systemd/system/
install -Dm 644 rspamd-hyperscan.hook -t "${pkgdir}"/usr/share/libalpm/hooks/
}
# vim: ts=2 sw=2 et: