PKGBUILDs/community/rspamd/PKGBUILD
2020-02-05 13:17:17 +00:00

186 lines
5 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_OPTIMIZATION=OFF (LTO)
# - patch to disable LTO when ENABLE_OPTIMIZATION=OFF
pkgname=rspamd
pkgver=2.3
pkgrel=1
epoch=
pkgdesc='Fast, free and open-source spam filtering system'
arch=(x86_64)
url=https://rspamd.com
license=(BSD)
depends=(
file
glib2
icu
jemalloc
libevent
libsodium
luajit
openblas
openssl
pcre
sqlite
zlib
)
makedepends=(
cmake
git
ninja
ragel
)
optdepends=('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/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
source=(
git+https://github.com/rspamd/rspamd.git#tag=11a3b09a5da1cfbb293343de79f529a8e94466d8
rspamd.tmpfiles
rspamd.sysusers
rspamd.logrotate
0001-LTO-check.patch
)
sha256sums=(
SKIP
4ee186f046d9ca22168a7e31dcf02cc7cd09ea60fb82ae60144b78fdd846a9a5
cd76079124ad65419d9339165ac517af6834fb507e67b45720c66246159c402b
91edb06d8413f5c1237a6072c576a2701e64a4d4ac30f7a2c043f639d37a532b
06f69a07fbb20c9eb74e356ab4658c86106b1bdd02f99536f60264b81dca1a5a
)
pkgver() {
cd rspamd
git describe --tags
}
prepare() {
if [[ -d build ]]; then
rm -rf build
fi
mkdir build
cd rspamd
sed 's/_rspamd/rspamd/g' -i rspamd.service
patch -p1 -i ../0001-LTO-check.patch
}
build() {
cd build
cmake ../rspamd \
-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=OFF
cmake --build .
}
package() {
cd build
DESTDIR="${pkgdir}" cmake --build . --target install
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
}
# vim: set ts=2 sw=2 et: