File PKGBUILD of Package rspamd-hardened

# Maintainer: Oleksandr Natalenko <oleksandr@natalenko.name>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Andrew Lewis <nerf@judo.za.org>
# Contributor: mezcal

pkgname=rspamd-hardened
pkgver=3.14.0
pkgrel=1
epoch=
pkgdesc="Fast, free and open-source spam filtering system"
arch=(x86_64)
url=https://rspamd.com
license=(Apache-2.0)
depends=(file gcc-libs glibc hyperscan jemalloc libelf libglib-2.0.so libicuuc.so libpcre2-8.so libsodium.so libsqlite3.so libssl.so libz.so luajit openblas)
makedepends=(cmake ninja perl ragel)
optdepends=("perl: rspamd stats script"
			"valkey: cache and data storage")
provides=(rspamd)
conflicts=(rspamd)
replaces=(rspamd)
backup=(etc/logrotate.d/rspamd
		etc/rspamd/actions.conf
		etc/rspamd/common.conf
		etc/rspamd/composites.conf
		etc/rspamd/groups.conf
		etc/rspamd/lang_detection.inc
		etc/rspamd/local.d/antivirus.conf.example
		etc/rspamd/local.d/module.conf.example
		etc/rspamd/logging.inc
		etc/rspamd/lua.local.d/module.lua.example
		etc/rspamd/maps.d/dmarc_whitelist.inc
		etc/rspamd/maps.d/exe_clickbait.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/aliases.conf
		etc/rspamd/modules.d/antivirus.conf
		etc/rspamd/modules.d/arc.conf
		etc/rspamd/modules.d/asn.conf
		etc/rspamd/modules.d/aws_s3.conf
		etc/rspamd/modules.d/bayes_expiry.conf
		etc/rspamd/modules.d/bimi.conf
		etc/rspamd/modules.d/chartable.conf
		etc/rspamd/modules.d/clickhouse.conf
		etc/rspamd/modules.d/contextal.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_relay.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/gpt.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/modules.local.d/module.conf.example
		etc/rspamd/options.inc
		etc/rspamd/override.d/module.conf.example
		etc/rspamd/rspamd.conf
		etc/rspamd/scores.d/content_group.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)
options=(!lto)
source=(https://github.com/rspamd/rspamd/archive/refs/tags/${pkgver}.tar.gz
		rspamd.logrotate
		rspamd.service
		rspamd-hyperscan.hook)
b2sums=('55adfe072cad8ae028dd1a494309d014079f7fb968f6d861362626ff526736c7d42a9bc0bad73785e90facc72abd01c206abb7f0a2b82f7c00bd1987e4e7ccec'
        '3f09e612c89175358304d184c7859655f052c30b56abd49bcba7605bc64f5619aef210da2030eb2b86cabe7d0a1dff291dfb399240334c8f291664d959905a20'
        '0eb1d1333f969c0dd00317e2e0fa4d78dd9f75d39b23395b333c38a8e7090859f3bc1435379d9824cc0229a199e82b5cd92e4fc6da30ec0e70958225e284a601'
        '8a2882e4cd59eb3304acae9dfa71252c2024a8251e61cd1e75e6b84a84ec8c636e70d6702c03d7b7d0e2f7fa60d2466c6eed4f4f80f1834585185deaf7157eee')

build() {
	export LDFLAGS=${LDFLAGS/-Wl,-z,pack-relative-relocs/}

	cmake -S rspamd-${pkgver} -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 \
		-DENABLE_HYPERSCAN=ON \
		-DENABLE_JEMALLOC=ON \
		-DENABLE_OPTIMIZATION=ON

	cmake --build build
}

package() {
	DESTDIR="${pkgdir}" cmake --install build
	install -Dt "${pkgdir}"/usr/share/licenses/rspamd -m0644 rspamd-${pkgver}/LICENSE.md
	install -Dm0644 rspamd.logrotate "${pkgdir}"/etc/logrotate.d/rspamd
	install -Dt "${pkgdir}"/usr/lib/systemd/system -m0644 rspamd.service
	install -Dt "${pkgdir}"/usr/share/libalpm/hooks -m0644 rspamd-hyperscan.hook
}
openSUSE Build Service is sponsored by