pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
rspamd31: import rspamd-3.1
Module Name: pkgsrc-wip
Committed By: Thomas Klausner <wiz%gatalith.at@localhost>
Pushed By: wiz
Date: Wed Aug 17 18:06:48 2022 +0200
Changeset: a4c6367c3d75cf304f3f9cd6223f00b69770bd43
Modified Files:
Makefile
Added Files:
rspamd31/DESCR
rspamd31/Makefile
rspamd31/PLIST
rspamd31/cfgfiles.mk
rspamd31/distinfo
rspamd31/files/rspamd.sh
rspamd31/files/smf/manifest.xml
rspamd31/files/smf/rspamd.sh
rspamd31/patches/patch-CMakeLists.txt
rspamd31/patches/patch-cmake_Toolset.cmake
rspamd31/patches/patch-contrib_doctest_doctest_doctest.h
rspamd31/patches/patch-contrib_fpconv_fpconv.c
rspamd31/patches/patch-src_libcryptobox_CMakeLists.txt
rspamd31/patches/patch-src_libcryptobox_chacha20_chacha.c
rspamd31/patches/patch-src_libcryptobox_cryptobox.c
Log Message:
rspamd31: import rspamd-3.1
Current 3.2 version has issues on NetBSD.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a4c6367c3d75cf304f3f9cd6223f00b69770bd43
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
rspamd31/DESCR | 3 +
rspamd31/Makefile | 119 +++++++
rspamd31/PLIST | 352 +++++++++++++++++++++
rspamd31/cfgfiles.mk | 3 +
rspamd31/distinfo | 12 +
rspamd31/files/rspamd.sh | 37 +++
rspamd31/files/smf/manifest.xml | 29 ++
rspamd31/files/smf/rspamd.sh | 14 +
rspamd31/patches/patch-CMakeLists.txt | 55 ++++
rspamd31/patches/patch-cmake_Toolset.cmake | 18 ++
.../patch-contrib_doctest_doctest_doctest.h | 19 ++
rspamd31/patches/patch-contrib_fpconv_fpconv.c | 20 ++
.../patches/patch-src_libcryptobox_CMakeLists.txt | 35 ++
.../patch-src_libcryptobox_chacha20_chacha.c | 40 +++
.../patches/patch-src_libcryptobox_cryptobox.c | 22 ++
16 files changed, 779 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 8241656199..651a2f8909 100644
--- a/Makefile
+++ b/Makefile
@@ -5082,6 +5082,7 @@ SUBDIR+= rsem
SUBDIR+= rset
SUBDIR+= rsget
SUBDIR+= rsound
+SUBDIR+= rspamd31
SUBDIR+= rsstail
SUBDIR+= rst-mode
SUBDIR+= rstudio
diff --git a/rspamd31/DESCR b/rspamd31/DESCR
new file mode 100644
index 0000000000..1a571c9fc7
--- /dev/null
+++ b/rspamd31/DESCR
@@ -0,0 +1,3 @@
+Rspamd is fast, modular and lightweight spam filter. It is designed to work
+with big ammount of mail and can be easily extended with own filters written in
+lua.
diff --git a/rspamd31/Makefile b/rspamd31/Makefile
new file mode 100644
index 0000000000..6350e6b1ac
--- /dev/null
+++ b/rspamd31/Makefile
@@ -0,0 +1,119 @@
+# $NetBSD: Makefile,v 1.81 2022/06/28 11:34:34 wiz Exp $
+
+DISTNAME= rspamd-3.1
+PKGREVISION= 2
+CATEGORIES= mail
+MASTER_SITES= ${MASTER_SITE_GITHUB:=rspamd/}
+
+MAINTAINER= bartosz.kuzma%gmail.com@localhost
+HOMEPAGE= https://www.rspamd.com/
+COMMENT= Fast, free and open-source spam filtering system
+LICENSE= 2-clause-bsd
+
+DEPENDS+= ${LUA_PKGPREFIX}-lpeg-[0-9]*:../../devel/lua-lpeg
+DEPENDS+= ragel-[0-9]*:../../devel/ragel
+
+GCC_REQD+= 8
+
+USE_CMAKE= yes
+USE_TOOLS+= perl pkg-config
+USE_LANGUAGES= c99 c++
+BUILD_DEFS+= VARBASE
+
+LUA_VERSIONS_ACCEPTED= 54 53 52 51
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099915
+USE_PKGSRC_GCC= yes
+USE_PKGSRC_GCC_RUNTIME= yes
+.endif
+
+CPPFLAGS.SunOS+= -D__EXTENSIONS__
+
+CMAKE_INSTALL_NAME_DIR= ${PREFIX}/lib/rspamd
+LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/rspamd
+TEST_TARGET= run-test
+
+RSPAMD_USER?= rspamd
+RSPAMD_GROUP?= rspamd
+PKG_GROUPS= ${RSPAMD_GROUP}
+PKG_USERS= ${RSPAMD_USER}:${RSPAMD_GROUP}
+
+PKG_GROUPS_VARS= RSPAMD_GROUP
+PKG_USERS_VARS= RSPAMD_USER
+
+PKG_GECOS.${RSPAMD_USER}= rspamd user
+
+PKG_SYSCONFSUBDIR= rspamd
+
+EGDIR= ${PREFIX}/share/examples/${PKGBASE}
+LOGDIR= ${VARBASE}/log/rspamd
+DBDIR= ${VARBASE}/db/rspamd
+RUNDIR= ${VARBASE}/run/rspamd
+
+FILES_SUBST+= RSPAMD_USER=${RSPAMD_USER}
+FILES_SUBST+= RSPAMD_GROUP=${RSPAMD_GROUP}
+
+RCD_SCRIPTS= rspamd
+SMF_METHODS= rspamd
+
+CMAKE_ARGS+= -DMANDIR:PATH=${PREFIX}/${PKGMANDIR}
+CMAKE_ARGS+= -DLOGDIR:PATH=${LOGDIR}
+CMAKE_ARGS+= -DRUNDIR:PATH=${VARBASE}/run/rspamd
+CMAKE_ARGS+= -DDBDIR:PATH=${DBDIR}
+CMAKE_ARGS+= -DCONFDIR:PATH=${PKG_SYSCONFDIR}
+CMAKE_ARGS+= -DEXAMPLESDIR:PATH=${EGDIR}
+CMAKE_ARGS+= -DRSPAMD_USER=${RSPAMD_USER}
+CMAKE_ARGS+= -DRSPAMD_GROUP=${RSPAMD_GROUP}
+# Torch requires LuaJIT2, but LuaJIT2 only supports Lua 5.1
+CMAKE_ARGS+= -DENABLE_LUAJIT=OFF
+
+# Assumes inotify == Linux
+CMAKE_ARGS.SunOS+= -DHAVE_INOTIFY_INIT=NO
+
+REPLACE_PERL+= utils/rspamd_stats.pl
+
+MAKE_DIRS+= ${PKG_SYSCONFDIR}/maps.d
+MAKE_DIRS+= ${PKG_SYSCONFDIR}/modules.d
+MAKE_DIRS+= ${PKG_SYSCONFDIR}/scores.d
+
+OWN_DIRS_PERMS+= ${DBDIR} ${RSPAMD_USER} ${RSPAMD_GROUP} 0700
+OWN_DIRS_PERMS+= ${LOGDIR} ${RSPAMD_USER} ${RSPAMD_GROUP} 0750
+OWN_DIRS_PERMS+= ${RUNDIR} ${RSPAMD_USER} ${RSPAMD_GROUP} 0755
+
+.include "cfgfiles.mk"
+
+.for file in ${CFGFILES}
+CONF_FILES+= ${EGDIR}/${file} ${PKG_SYSCONFDIR}/${file}
+.endfor
+
+###
+### Generate list of config files
+###
+.PHONY: cfgfiles
+cfgfiles:
+ ${RUN} ${RECURSIVE_MAKE} extract
+ @${ECHO} "# \$$NetBSD\$$" > ${.CURDIR}/cfgfiles.mk
+ @${ECHO} "# Do not edit, regenerate using 'make cfgfiles'" >> ${.CURDIR}/cfgfiles.mk
+ ${RUN} cd ${WRKSRC}/conf && ${FIND} * -type f | ${SORT} \
+ | ${TR} '\n' ' ' | ${SED} 's, $$,,' \
+ | ${AWK} '{print("CFGFILES=\t" $$0)}' >> ${.CURDIR}/cfgfiles.mk
+ @${ECHO} >> ${.CURDIR}/cfgfiles.mk
+
+post-extract:
+ ${FIND} ${WRKSRC}/conf -type d -exec ${CHMOD} ${PKGDIRMODE} {} \;
+ ${FIND} ${WRKSRC}/conf -type f -exec ${CHMOD} ${DOCMODE} {} \;
+
+.include "../../databases/hiredis/buildlink3.mk"
+.include "../../databases/sqlite3/buildlink3.mk"
+.include "../../devel/fann/buildlink3.mk"
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../lang/lua/buildlink3.mk"
+.include "../../mail/gmime/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../security/libsodium/buildlink3.mk"
+.include "../../sysutils/file/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/rspamd31/PLIST b/rspamd31/PLIST
new file mode 100644
index 0000000000..9249c0648e
--- /dev/null
+++ b/rspamd31/PLIST
@@ -0,0 +1,352 @@
+@comment $NetBSD: PLIST,v 1.23 2021/12/21 15:00:41 triaxx Exp $
+bin/rspamadm
+bin/rspamadm-${PKGVERSION}
+bin/rspamc
+bin/rspamc-${PKGVERSION}
+bin/rspamd
+bin/${PKGNAME}
+bin/rspamd_stats
+lib/rspamd/librspamd-actrie.so
+lib/rspamd/librspamd-ev.so
+lib/rspamd/librspamd-kann.so
+lib/rspamd/librspamd-replxx.so
+lib/rspamd/librspamd-server.so
+man/man1/rspamadm.1
+man/man1/rspamc.1
+man/man8/rspamd.8
+share/examples/rspamd/actions.conf
+share/examples/rspamd/cgp.inc
+share/examples/rspamd/common.conf
+share/examples/rspamd/composites.conf
+share/examples/rspamd/groups.conf
+share/examples/rspamd/logging.inc
+share/examples/rspamd/maps.d/dmarc_whitelist.inc
+share/examples/rspamd/maps.d/maillist.inc
+share/examples/rspamd/maps.d/mid.inc
+share/examples/rspamd/maps.d/mime_types.inc
+share/examples/rspamd/maps.d/redirectors.inc
+share/examples/rspamd/maps.d/spf_dkim_whitelist.inc
+share/examples/rspamd/maps.d/surbl-whitelist.inc
+share/examples/rspamd/metrics.conf
+share/examples/rspamd/modules.conf
+share/examples/rspamd/modules.d/antivirus.conf
+share/examples/rspamd/modules.d/arc.conf
+share/examples/rspamd/modules.d/asn.conf
+share/examples/rspamd/modules.d/aws_s3.conf
+share/examples/rspamd/modules.d/chartable.conf
+share/examples/rspamd/modules.d/clickhouse.conf
+share/examples/rspamd/modules.d/dcc.conf
+share/examples/rspamd/modules.d/dkim.conf
+share/examples/rspamd/modules.d/dkim_signing.conf
+share/examples/rspamd/modules.d/dmarc.conf
+share/examples/rspamd/modules.d/elastic.conf
+share/examples/rspamd/modules.d/emails.conf
+share/examples/rspamd/modules.d/external_relay.conf
+share/examples/rspamd/modules.d/external_services.conf
+share/examples/rspamd/modules.d/force_actions.conf
+share/examples/rspamd/modules.d/forged_recipients.conf
+share/examples/rspamd/modules.d/fuzzy_check.conf
+share/examples/rspamd/modules.d/greylist.conf
+share/examples/rspamd/modules.d/hfilter.conf
+share/examples/rspamd/modules.d/history_redis.conf
+share/examples/rspamd/modules.d/http_headers.conf
+share/examples/rspamd/modules.d/maillist.conf
+share/examples/rspamd/modules.d/metadata_exporter.conf
+share/examples/rspamd/modules.d/metric_exporter.conf
+share/examples/rspamd/modules.d/mid.conf
+share/examples/rspamd/modules.d/milter_headers.conf
+share/examples/rspamd/modules.d/mime_types.conf
+share/examples/rspamd/modules.d/multimap.conf
+share/examples/rspamd/modules.d/mx_check.conf
+share/examples/rspamd/modules.d/neural.conf
+share/examples/rspamd/modules.d/once_received.conf
+share/examples/rspamd/modules.d/p0f.conf
+share/examples/rspamd/modules.d/phishing.conf
+share/examples/rspamd/modules.d/ratelimit.conf
+share/examples/rspamd/modules.d/rbl.conf
+share/examples/rspamd/modules.d/redis.conf
+share/examples/rspamd/modules.d/regexp.conf
+share/examples/rspamd/modules.d/replies.conf
+share/examples/rspamd/modules.d/reputation.conf
+share/examples/rspamd/modules.d/rspamd_update.conf
+share/examples/rspamd/modules.d/spamassassin.conf
+share/examples/rspamd/modules.d/spamtrap.conf
+share/examples/rspamd/modules.d/spf.conf
+share/examples/rspamd/modules.d/surbl.conf
+share/examples/rspamd/modules.d/trie.conf
+share/examples/rspamd/modules.d/url_redirector.conf
+share/examples/rspamd/modules.d/whitelist.conf
+share/examples/rspamd/options.inc
+share/examples/rspamd/rspamd.conf
+share/examples/rspamd/scores.d/content_group.conf
+share/examples/rspamd/scores.d/fuzzy_group.conf
+share/examples/rspamd/scores.d/headers_group.conf
+share/examples/rspamd/scores.d/hfilter_group.conf
+share/examples/rspamd/scores.d/mime_types_group.conf
+share/examples/rspamd/scores.d/mua_group.conf
+share/examples/rspamd/scores.d/phishing_group.conf
+share/examples/rspamd/scores.d/policies_group.conf
+share/examples/rspamd/scores.d/rbl_group.conf
+share/examples/rspamd/scores.d/statistics_group.conf
+share/examples/rspamd/scores.d/subject_group.conf
+share/examples/rspamd/scores.d/surbl_group.conf
+share/examples/rspamd/scores.d/whitelist_group.conf
+share/examples/rspamd/settings.conf
+share/examples/rspamd/statistic.conf
+share/examples/rspamd/worker-controller.inc
+share/examples/rspamd/worker-fuzzy.inc
+share/examples/rspamd/worker-normal.inc
+share/examples/rspamd/worker-proxy.inc
+share/rspamd/effective_tld_names.dat
+share/rspamd/elastic/kibana.json
+share/rspamd/elastic/rspamd_template.json
+share/rspamd/languages/af.json
+share/rspamd/languages/an.json
+share/rspamd/languages/ar.json
+share/rspamd/languages/bg.json
+share/rspamd/languages/bn.json
+share/rspamd/languages/br.json
+share/rspamd/languages/cs.json
+share/rspamd/languages/cy.json
+share/rspamd/languages/da.json
+share/rspamd/languages/de.json
+share/rspamd/languages/en.json
+share/rspamd/languages/es.json
+share/rspamd/languages/et.json
+share/rspamd/languages/eu.json
+share/rspamd/languages/fa.json
+share/rspamd/languages/fi.json
+share/rspamd/languages/fr.json
+share/rspamd/languages/ga.json
+share/rspamd/languages/hi.json
+share/rspamd/languages/hr.json
+share/rspamd/languages/hu.json
+share/rspamd/languages/id.json
+share/rspamd/languages/is.json
+share/rspamd/languages/it.json
+share/rspamd/languages/lt.json
+share/rspamd/languages/lv.json
+share/rspamd/languages/mr.json
+share/rspamd/languages/ms.json
+share/rspamd/languages/ne.json
+share/rspamd/languages/nl.json
+share/rspamd/languages/no.json
+share/rspamd/languages/pa.json
+share/rspamd/languages/pl.json
+share/rspamd/languages/pt.json
+share/rspamd/languages/ro.json
+share/rspamd/languages/ru.json
+share/rspamd/languages/sl.json
+share/rspamd/languages/so.json
+share/rspamd/languages/sq.json
+share/rspamd/languages/sr.json
+share/rspamd/languages/stop_words
+share/rspamd/languages/sv.json
+share/rspamd/languages/sw.json
+share/rspamd/languages/tr.json
+share/rspamd/languages/uk.json
+share/rspamd/languages/ur.json
+share/rspamd/languages/vi.json
+share/rspamd/lualib/ansicolors.lua
+share/rspamd/lualib/argparse.lua
+share/rspamd/lualib/fun.lua
+share/rspamd/lualib/global_functions.lua
+share/rspamd/lualib/lpegre.lua
+share/rspamd/lualib/lua_auth_results.lua
+share/rspamd/lualib/lua_aws.lua
+share/rspamd/lualib/lua_bayes_learn.lua
+share/rspamd/lualib/lua_cfg_transform.lua
+share/rspamd/lualib/lua_clickhouse.lua
+share/rspamd/lualib/lua_content/ical.lua
+share/rspamd/lualib/lua_content/init.lua
+share/rspamd/lualib/lua_content/pdf.lua
+share/rspamd/lualib/lua_content/vcard.lua
+share/rspamd/lualib/lua_dkim_tools.lua
+share/rspamd/lualib/lua_ffi/common.lua
+share/rspamd/lualib/lua_ffi/dkim.lua
+share/rspamd/lualib/lua_ffi/init.lua
+share/rspamd/lualib/lua_ffi/linalg.lua
+share/rspamd/lualib/lua_ffi/spf.lua
+share/rspamd/lualib/lua_fuzzy.lua
+share/rspamd/lualib/lua_lexer.lua
+share/rspamd/lualib/lua_magic/heuristics.lua
+share/rspamd/lualib/lua_magic/init.lua
+share/rspamd/lualib/lua_magic/patterns.lua
+share/rspamd/lualib/lua_magic/types.lua
+share/rspamd/lualib/lua_maps.lua
+share/rspamd/lualib/lua_maps_expressions.lua
+share/rspamd/lualib/lua_meta.lua
+share/rspamd/lualib/lua_mime.lua
+share/rspamd/lualib/lua_mime_types.lua
+share/rspamd/lualib/lua_redis.lua
+share/rspamd/lualib/lua_scanners/avast.lua
+share/rspamd/lualib/lua_scanners/clamav.lua
+share/rspamd/lualib/lua_scanners/common.lua
+share/rspamd/lualib/lua_scanners/dcc.lua
+share/rspamd/lualib/lua_scanners/fprot.lua
+share/rspamd/lualib/lua_scanners/icap.lua
+share/rspamd/lualib/lua_scanners/init.lua
+share/rspamd/lualib/lua_scanners/kaspersky_av.lua
+share/rspamd/lualib/lua_scanners/kaspersky_se.lua
+share/rspamd/lualib/lua_scanners/oletools.lua
+share/rspamd/lualib/lua_scanners/p0f.lua
+share/rspamd/lualib/lua_scanners/pyzor.lua
+share/rspamd/lualib/lua_scanners/razor.lua
+share/rspamd/lualib/lua_scanners/savapi.lua
+share/rspamd/lualib/lua_scanners/sophos.lua
+share/rspamd/lualib/lua_scanners/spamassassin.lua
+share/rspamd/lualib/lua_scanners/vadesecure.lua
+share/rspamd/lualib/lua_scanners/virustotal.lua
+share/rspamd/lualib/lua_selectors/common.lua
+share/rspamd/lualib/lua_selectors/extractors.lua
+share/rspamd/lualib/lua_selectors/init.lua
+share/rspamd/lualib/lua_selectors/maps.lua
+share/rspamd/lualib/lua_selectors/transforms.lua
+share/rspamd/lualib/lua_settings.lua
+share/rspamd/lualib/lua_smtp.lua
+share/rspamd/lualib/lua_stat.lua
+share/rspamd/lualib/lua_tcp_sync.lua
+share/rspamd/lualib/lua_urls_compose.lua
+share/rspamd/lualib/lua_util.lua
+share/rspamd/lualib/lua_verdict.lua
+share/rspamd/lualib/lupa.lua
+share/rspamd/lualib/plugins/dmarc.lua
+share/rspamd/lualib/plugins/neural.lua
+share/rspamd/lualib/plugins/rbl.lua
+share/rspamd/lualib/plugins_stats.lua
+share/rspamd/lualib/rescore_utility.lua
+share/rspamd/lualib/rspamadm/clickhouse.lua
+share/rspamd/lualib/rspamadm/configgraph.lua
+share/rspamd/lualib/rspamadm/confighelp.lua
+share/rspamd/lualib/rspamadm/configwizard.lua
+share/rspamd/lualib/rspamadm/cookie.lua
+share/rspamd/lualib/rspamadm/corpus_test.lua
+share/rspamd/lualib/rspamadm/dmarc_report.lua
+share/rspamd/lualib/rspamadm/dns_tool.lua
+share/rspamd/lualib/rspamadm/fuzzy_convert.lua
+share/rspamd/lualib/rspamadm/fuzzy_stat.lua
+share/rspamd/lualib/rspamadm/grep.lua
+share/rspamd/lualib/rspamadm/keypair.lua
+share/rspamd/lualib/rspamadm/mime.lua
+share/rspamd/lualib/rspamadm/neural_test.lua
+share/rspamd/lualib/rspamadm/rescore.lua
+share/rspamd/lualib/rspamadm/stat_convert.lua
+share/rspamd/lualib/rspamadm/statistics_dump.lua
+share/rspamd/lualib/rspamadm/template.lua
+share/rspamd/lualib/rspamadm/vault.lua
+share/rspamd/lualib/tableshape.lua
+share/rspamd/plugins/antivirus.lua
+share/rspamd/plugins/arc.lua
+share/rspamd/plugins/asn.lua
+share/rspamd/plugins/aws_s3.lua
+share/rspamd/plugins/bayes_expiry.lua
+share/rspamd/plugins/clickhouse.lua
+share/rspamd/plugins/clustering.lua
+share/rspamd/plugins/dcc.lua
+share/rspamd/plugins/dkim_signing.lua
+share/rspamd/plugins/dmarc.lua
+share/rspamd/plugins/dynamic_conf.lua
+share/rspamd/plugins/elastic.lua
+share/rspamd/plugins/emails.lua
+share/rspamd/plugins/external_relay.lua
+share/rspamd/plugins/external_services.lua
+share/rspamd/plugins/force_actions.lua
+share/rspamd/plugins/forged_recipients.lua
+share/rspamd/plugins/fuzzy_collect.lua
+share/rspamd/plugins/greylist.lua
+share/rspamd/plugins/hfilter.lua
+share/rspamd/plugins/history_redis.lua
+share/rspamd/plugins/http_headers.lua
+share/rspamd/plugins/ip_score.lua
+share/rspamd/plugins/maillist.lua
+share/rspamd/plugins/maps_stats.lua
+share/rspamd/plugins/metadata_exporter.lua
+share/rspamd/plugins/metric_exporter.lua
+share/rspamd/plugins/mid.lua
+share/rspamd/plugins/milter_headers.lua
+share/rspamd/plugins/mime_types.lua
+share/rspamd/plugins/multimap.lua
+share/rspamd/plugins/mx_check.lua
+share/rspamd/plugins/neural.lua
+share/rspamd/plugins/once_received.lua
+share/rspamd/plugins/p0f.lua
+share/rspamd/plugins/phishing.lua
+share/rspamd/plugins/ratelimit.lua
+share/rspamd/plugins/rbl.lua
+share/rspamd/plugins/replies.lua
+share/rspamd/plugins/reputation.lua
+share/rspamd/plugins/rspamd_update.lua
+share/rspamd/plugins/settings.lua
+share/rspamd/plugins/spamassassin.lua
+share/rspamd/plugins/spamtrap.lua
+share/rspamd/plugins/spf.lua
+share/rspamd/plugins/trie.lua
+share/rspamd/plugins/url_redirector.lua
+share/rspamd/plugins/whitelist.lua
+share/rspamd/rules/bitcoin.lua
+share/rspamd/rules/bounce.lua
+share/rspamd/rules/content.lua
+share/rspamd/rules/controller/init.lua
+share/rspamd/rules/controller/maps.lua
+share/rspamd/rules/controller/neural.lua
+share/rspamd/rules/controller/selectors.lua
+share/rspamd/rules/forwarding.lua
+share/rspamd/rules/headers_checks.lua
+share/rspamd/rules/html.lua
+share/rspamd/rules/mid.lua
+share/rspamd/rules/misc.lua
+share/rspamd/rules/regexp/compromised_hosts.lua
+share/rspamd/rules/regexp/headers.lua
+share/rspamd/rules/regexp/misc.lua
+share/rspamd/rules/regexp/upstream_spam_filters.lua
+share/rspamd/rules/rspamd.lua
+share/rspamd/rules/subject_checks.lua
+share/rspamd/www/README.md
+share/rspamd/www/apple-touch-icon.png
+share/rspamd/www/browserconfig.xml
+share/rspamd/www/css/FooTable.Glyphicons.css
+share/rspamd/www/css/bootstrap.min.css
+share/rspamd/www/css/d3evolution.css
+share/rspamd/www/css/font-glyphicons.css
+share/rspamd/www/css/footable.standalone.min.css
+share/rspamd/www/css/nprogress.css
+share/rspamd/www/css/prism.css
+share/rspamd/www/css/rspamd.css
+share/rspamd/www/css/svg-with-js.min.css
+share/rspamd/www/favicon-16x16.png
+share/rspamd/www/favicon-32x32.png
+share/rspamd/www/favicon.ico
+share/rspamd/www/fonts/glyphicons-halflings-regular.ttf
+share/rspamd/www/fonts/glyphicons-halflings-regular.woff
+share/rspamd/www/fonts/glyphicons-halflings-regular.woff2
+share/rspamd/www/img/asc.png
+share/rspamd/www/img/desc.png
+share/rspamd/www/img/rspamd_logo_navbar.png
+share/rspamd/www/index.html
+share/rspamd/www/js/app/config.js
+share/rspamd/www/js/app/graph.js
+share/rspamd/www/js/app/history.js
+share/rspamd/www/js/app/rspamd.js
+share/rspamd/www/js/app/selectors.js
+share/rspamd/www/js/app/stats.js
+share/rspamd/www/js/app/symbols.js
+share/rspamd/www/js/app/upload.js
+share/rspamd/www/js/lib/bootstrap.bundle.min.js
+share/rspamd/www/js/lib/codejar.min.js
+share/rspamd/www/js/lib/d3.min.js
+share/rspamd/www/js/lib/d3evolution.min.js
+share/rspamd/www/js/lib/d3pie.min.js
+share/rspamd/www/js/lib/fontawesome.min.js
+share/rspamd/www/js/lib/footable.min.js
+share/rspamd/www/js/lib/jquery-3.6.0.min.js
+share/rspamd/www/js/lib/jquery.stickytabs.min.js
+share/rspamd/www/js/lib/linenumbers.min.js
+share/rspamd/www/js/lib/nprogress.min.js
+share/rspamd/www/js/lib/prism.js
+share/rspamd/www/js/lib/require.min.js
+share/rspamd/www/js/lib/solid.min.js
+share/rspamd/www/js/lib/visibility.min.js
+share/rspamd/www/js/main.js
+share/rspamd/www/mstile-150x150.png
+share/rspamd/www/safari-pinned-tab.svg
+@pkgdir etc/rspamd
diff --git a/rspamd31/cfgfiles.mk b/rspamd31/cfgfiles.mk
new file mode 100644
index 0000000000..d22dd8e1a7
--- /dev/null
+++ b/rspamd31/cfgfiles.mk
@@ -0,0 +1,3 @@
+# $NetBSD: cfgfiles.mk,v 1.6 2020/02/11 20:39:48 triaxx Exp $
+# Do not edit, regenerate using 'make cfgfiles'
+CFGFILES= actions.conf cgp.inc common.conf composites.conf groups.conf logging.inc maps.d/dmarc_whitelist.inc maps.d/maillist.inc maps.d/mid.inc maps.d/mime_types.inc maps.d/redirectors.inc maps.d/spf_dkim_whitelist.inc maps.d/surbl-whitelist.inc metrics.conf modules.conf modules.d/antivirus.conf modules.d/arc.conf modules.d/asn.conf modules.d/chartable.conf modules.d/clickhouse.conf modules.d/dcc.conf modules.d/dkim.conf modules.d/dkim_signing.conf modules.d/dmarc.conf modules.d/elastic.conf modules.d/emails.conf modules.d/external_services.conf modules.d/force_actions.conf modules.d/forged_recipients.conf modules.d/fuzzy_check.conf modules.d/greylist.conf modules.d/hfilter.conf modules.d/history_redis.conf modules.d/maillist.conf modules.d/metadata_exporter.conf modules.d/metric_exporter.conf modules.d/mid.conf modules.d/milter_headers.conf modules.d/mime_types.conf modules.d/multimap.conf modules.d/mx_check.conf modules.d/neural.conf modules.d/once_received.conf modules.d
/p0f.conf modules.d/phishing.conf modules.d/ratelimit.conf modules.d/rbl.conf modules.d/redis.conf modules.d/regexp.conf modules.d/replies.conf modules.d/reputation.conf modules.d/rspamd_update.conf modules.d/spamassassin.conf modules.d/spamtrap.conf modules.d/spf.conf modules.d/surbl.conf modules.d/trie.conf modules.d/url_redirector.conf modules.d/whitelist.conf options.inc rspamd.conf scores.d/content_group.conf scores.d/fuzzy_group.conf scores.d/headers_group.conf scores.d/hfilter_group.conf scores.d/mime_types_group.conf scores.d/mua_group.conf scores.d/phishing_group.conf scores.d/policies_group.conf scores.d/rbl_group.conf scores.d/statistics_group.conf scores.d/subject_group.conf scores.d/surbl_group.conf scores.d/whitelist_group.conf settings.conf statistic.conf worker-controller.inc worker-fuzzy.inc worker-normal.inc worker-proxy.inc
diff --git a/rspamd31/distinfo b/rspamd31/distinfo
new file mode 100644
index 0000000000..ba978c4c2f
--- /dev/null
+++ b/rspamd31/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.42 2022/05/29 19:21:46 gavan Exp $
+
+BLAKE2s (rspamd-3.1.tar.gz) = d23e3aba1974e31236295171e7d74df624497c9ab11c8d8ebfe95830b70d9d7a
+SHA512 (rspamd-3.1.tar.gz) = 3c3c06c10d3dfc90e4bc92c7ebaff4bd4854d3b0e56d6476f0223918c4a52f4cc7a8b381b1f867164199ee18ea00eda77ae0315925f3fd71596d610200667178
+Size (rspamd-3.1.tar.gz) = 5566920 bytes
+SHA1 (patch-CMakeLists.txt) = e50137fb3c2d467a8c880491e5d34d475e1a8d05
+SHA1 (patch-cmake_Toolset.cmake) = fbc4027fedb4261ce913701ebbb32d8395bc7783
+SHA1 (patch-contrib_doctest_doctest_doctest.h) = 5238cb9f837e1d8f402023ddc2f7d02dda3f67ab
+SHA1 (patch-contrib_fpconv_fpconv.c) = b1ec2b07570674458e69020ccbf25f0374d894f6
+SHA1 (patch-src_libcryptobox_CMakeLists.txt) = c003a1992221090f8d7f259a2387319b3fa999f0
+SHA1 (patch-src_libcryptobox_chacha20_chacha.c) = 22072c2ba35914ded17a8707e04cedf0de8cfc1d
+SHA1 (patch-src_libcryptobox_cryptobox.c) = c284aac8a65ae3a5fb9eccd8fb9dcee238518846
diff --git a/rspamd31/files/rspamd.sh b/rspamd31/files/rspamd.sh
new file mode 100644
index 0000000000..2444f6008e
--- /dev/null
+++ b/rspamd31/files/rspamd.sh
@@ -0,0 +1,37 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: rspamd.sh,v 1.2 2018/02/01 09:07:23 fhajny Exp $
+#
+# PROVIDE: rspamd
+# REQUIRE: DAEMON
+# BEFORE: mail
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+name="rspamd"
+rcvar=$name
+command="@PREFIX@/bin/rspamd"
+pidfile="@VARBASE@/run/rspamd/${name}.pid"
+command_args="-u @RSPAMD_USER@ -g @RSPAMD_GROUP@ -c @PKG_SYSCONFDIR@/rspamd.conf"
+required_files="@PKG_SYSCONFDIR@/rspamd.conf"
+start_precmd="rspamd_precmd"
+
+rspamd_precmd()
+{
+ if [ ! -d @VARBASE@/run/rspamd ]; then
+ @MKDIR@ @VARBASE@/run/rspamd
+ @CHMOD@ 0755 @VARBASE@/run/rspamd
+ @CHOWN@ @RSPAMD_USER@:@RSPAMD_GROUP@ @VARBASE@/run/rspamd
+ fi
+}
+
+if [ -f /etc/rc.subr ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ echo -n " ${name}"
+ ${command} ${rspamd_flags} ${command_args}
+fi
+
diff --git a/rspamd31/files/smf/manifest.xml b/rspamd31/files/smf/manifest.xml
new file mode 100644
index 0000000000..c7b6f669c7
--- /dev/null
+++ b/rspamd31/files/smf/manifest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+ <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+ <create_default_instance enabled="false" />
+ <single_instance />
+ <dependency name="network" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/milestone/network:default" />
+ </dependency>
+ <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/system/filesystem/local" />
+ </dependency>
+ <method_context></method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/@SMF_METHOD_FILE.rspamd@ -u @RSPAMD_USER@ -g @RSPAMD_USER@ -c %{config_file}" timeout_seconds="60" />
+ <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/rspamd.conf" />
+ </property_group>
+ <template>
+ <common_name>
+ <loctext xml:lang="C">Rspamd spam filtering system.</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>
diff --git a/rspamd31/files/smf/rspamd.sh b/rspamd31/files/smf/rspamd.sh
new file mode 100644
index 0000000000..d5b746ad8b
--- /dev/null
+++ b/rspamd31/files/smf/rspamd.sh
@@ -0,0 +1,14 @@
+#!@SMF_METHOD_SHELL@
+#
+# $NetBSD: rspamd.sh,v 1.1 2020/01/06 12:06:08 jperkin Exp $
+#
+
+. /lib/svc/share/smf_include.sh
+
+if [ ! -d @VARBASE@/run/rspamd ]; then
+ @MKDIR@ @VARBASE@/run/rspamd
+ @CHMOD@ 0750 @VARBASE@/run/rspamd
+ @CHOWN@ @RSPAMD_USER@:@RSPAMD_GROUP@ @VARBASE@/run/rspamd
+fi
+
+@PREFIX@/bin/rspamd "$@"
diff --git a/rspamd31/patches/patch-CMakeLists.txt b/rspamd31/patches/patch-CMakeLists.txt
new file mode 100644
index 0000000000..ce7a3f03d7
--- /dev/null
+++ b/rspamd31/patches/patch-CMakeLists.txt
@@ -0,0 +1,55 @@
+$NetBSD: patch-CMakeLists.txt,v 1.7 2021/12/21 15:00:41 triaxx Exp $
+
+For pkgsrc. Install config files to examples directory.
+Find lua more reliably.
+
+--- CMakeLists.txt.orig 2021-11-01 14:33:30.000000000 +0000
++++ CMakeLists.txt
+@@ -155,7 +155,7 @@ ELSE(ENABLE_LUAJIT MATCHES "ON")
+ "include/lua53"
+ "include/lua"
+ ROOT ${LUA_ROOT}
+- MODULES lua53
++ MODULES lua-5.3
+ OPTIONAL)
+
+ IF (NOT WITH_LIBLUA)
+@@ -168,7 +168,7 @@ ELSE(ENABLE_LUAJIT MATCHES "ON")
+ "include/lua54"
+ "include/lua"
+ ROOT ${LUA_ROOT}
+- MODULES lua54
++ MODULES lua-5.4
+ OPTIONAL)
+ IF (NOT WITH_LIBLUA)
+ ProcessPackage(LIBLUA LIBRARY "lua"
+@@ -180,7 +180,7 @@ ELSE(ENABLE_LUAJIT MATCHES "ON")
+ "include/lua52"
+ "include/lua"
+ ROOT ${LUA_ROOT}
+- MODULES lua52
++ MODULES lua-5.2
+ OPTIONAL)
+
+ IF (NOT WITH_LIBLUA)
+@@ -192,7 +192,7 @@ ELSE(ENABLE_LUAJIT MATCHES "ON")
+ "include/lua51"
+ "include/lua"
+ ROOT ${LUA_ROOT}
+- MODULES lua51)
++ MODULES lua-5.1)
+ ENDIF()
+ ENDIF()
+ ENDIF()
+@@ -677,9 +677,9 @@ FILE(GLOB_RECURSE CONF_FILES RELATIVE "$
+ "${CMAKE_SOURCE_DIR}/conf/*.inc" )
+ FOREACH(CONF_FILE ${CONF_FILES})
+ GET_FILENAME_COMPONENT(_rp ${CONF_FILE} PATH)
+- INSTALL(CODE "FILE(MAKE_DIRECTORY \$ENV{DESTDIR}${CONFDIR}/${_rp})")
++ INSTALL(CODE "FILE(MAKE_DIRECTORY \$ENV{DESTDIR}${EXAMPLESDIR}/${_rp})")
+ INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/conf/${CONF_FILE}"
+- DESTINATION ${CONFDIR}/${_rp})
++ DESTINATION ${EXAMPLESDIR}/${_rp})
+ ENDFOREACH(CONF_FILE)
+
+ # Lua plugins
diff --git a/rspamd31/patches/patch-cmake_Toolset.cmake b/rspamd31/patches/patch-cmake_Toolset.cmake
new file mode 100644
index 0000000000..623794571e
--- /dev/null
+++ b/rspamd31/patches/patch-cmake_Toolset.cmake
@@ -0,0 +1,18 @@
+$NetBSD: patch-cmake_Toolset.cmake,v 1.2 2021/12/21 15:00:41 triaxx Exp $
+
+Avoid specifying a custom linker:
+gcc: error: unrecognized command line option '-fuse-ld=lld'; did you mean '-fuse-ld=bfd'?
+
+--- cmake/Toolset.cmake.orig 2021-11-01 14:33:30.000000000 +0000
++++ cmake/Toolset.cmake
+@@ -52,8 +52,8 @@ endif ()
+
+ option(LINKER_NAME "Linker name or full path")
+
+-find_program(LLD_PATH NAMES "ld.lld" "lld")
+-find_program(GOLD_PATH NAMES "ld.gold" "gold")
++#find_program(LLD_PATH NAMES "ld.lld" "lld")
++#find_program(GOLD_PATH NAMES "ld.gold" "gold")
+
+ if(NOT LINKER_NAME)
+ if(LLD_PATH)
diff --git a/rspamd31/patches/patch-contrib_doctest_doctest_doctest.h b/rspamd31/patches/patch-contrib_doctest_doctest_doctest.h
new file mode 100644
index 0000000000..7a767f4d5e
--- /dev/null
+++ b/rspamd31/patches/patch-contrib_doctest_doctest_doctest.h
@@ -0,0 +1,19 @@
+$NetBSD: patch-contrib_doctest_doctest_doctest.h,v 1.1 2022/03/03 16:23:31 jperkin Exp $
+
+Explicitly use std::log10().
+
+--- contrib/doctest/doctest/doctest.h.orig 2021-11-01 14:33:30.000000000 +0000
++++ contrib/doctest/doctest/doctest.h
+@@ -5803,9 +5803,9 @@ namespace {
+ separator_to_stream();
+ s << std::dec;
+
+- auto totwidth = int(std::ceil(log10((std::max(p.numTestCasesPassingFilters, static_cast<unsigned>(p.numAsserts))) + 1)));
+- auto passwidth = int(std::ceil(log10((std::max(p.numTestCasesPassingFilters - p.numTestCasesFailed, static_cast<unsigned>(p.numAsserts - p.numAssertsFailed))) + 1)));
+- auto failwidth = int(std::ceil(log10((std::max(p.numTestCasesFailed, static_cast<unsigned>(p.numAssertsFailed))) + 1)));
++ auto totwidth = int(std::ceil(std::log10((std::max(p.numTestCasesPassingFilters, static_cast<unsigned>(p.numAsserts))) + 1)));
++ auto passwidth = int(std::ceil(std::log10((std::max(p.numTestCasesPassingFilters - p.numTestCasesFailed, static_cast<unsigned>(p.numAsserts - p.numAssertsFailed))) + 1)));
++ auto failwidth = int(std::ceil(std::log10((std::max(p.numTestCasesFailed, static_cast<unsigned>(p.numAssertsFailed))) + 1)));
+ const bool anythingFailed = p.numTestCasesFailed > 0 || p.numAssertsFailed > 0;
+ s << Color::Cyan << "[doctest] " << Color::None << "test cases: " << std::setw(totwidth)
+ << p.numTestCasesPassingFilters << " | "
diff --git a/rspamd31/patches/patch-contrib_fpconv_fpconv.c b/rspamd31/patches/patch-contrib_fpconv_fpconv.c
new file mode 100644
index 0000000000..8d91aafb2b
--- /dev/null
+++ b/rspamd31/patches/patch-contrib_fpconv_fpconv.c
@@ -0,0 +1,20 @@
+$NetBSD: patch-contrib_fpconv_fpconv.c,v 1.1 2019/06/21 15:02:54 jperkin Exp $
+
+Provide compat MIN/MAX macros.
+
+--- contrib/fpconv/fpconv.c.orig 2019-05-23 14:41:27.000000000 +0000
++++ contrib/fpconv/fpconv.c
+@@ -14,6 +14,13 @@
+ #define absv(n) ((n) < 0 ? -(n) : (n))
+ #define minv(a, b) ((a) < (b) ? (a) : (b))
+
++#ifndef MIN
++#define MIN(a, b) ((a) < (b) ? (a) : (b))
++#endif
++#ifndef MAX
++#define MAX(a, b) ((a) < (b) ? (b) : (a))
++#endif
++
+ static uint64_t tens[] = {
+ 10000000000000000000U, 1000000000000000000U, 100000000000000000U,
+ 10000000000000000U, 1000000000000000U, 100000000000000U,
diff --git a/rspamd31/patches/patch-src_libcryptobox_CMakeLists.txt b/rspamd31/patches/patch-src_libcryptobox_CMakeLists.txt
new file mode 100644
index 0000000000..ba9182b6cb
--- /dev/null
+++ b/rspamd31/patches/patch-src_libcryptobox_CMakeLists.txt
@@ -0,0 +1,35 @@
+$NetBSD: patch-src_libcryptobox_CMakeLists.txt,v 1.1 2022/05/29 19:21:46 gavan Exp $
+
+--- src/libcryptobox/CMakeLists.txt.orig 2021-11-01 14:33:30.000000000 +0000
++++ src/libcryptobox/CMakeLists.txt
+@@ -5,17 +5,24 @@ SET(BASE64SRC ${CMAKE_CURRENT_SOURCE_DIR
+ ${CMAKE_CURRENT_SOURCE_DIR}/base64/base64.c)
+
+ IF(HAVE_AVX2)
+- SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx2.S)
++ IF ("${ARCH}" STREQUAL "x86_64")
++ SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx2.S)
++ MESSAGE(STATUS "Cryptobox: AVX2 support is added (chacha20, avx2)")
++ ENDIF()
+ SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/avx2.c)
+- MESSAGE(STATUS "Cryptobox: AVX2 support is added (chacha20, avx2)")
++ MESSAGE(STATUS "Cryptobox: AVX2 support is added (base64, avx2)")
+ ENDIF(HAVE_AVX2)
+ IF(HAVE_AVX)
+- SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx.S)
+- MESSAGE(STATUS "Cryptobox: AVX support is added (chacha20)")
++ IF ("${ARCH}" STREQUAL "x86_64")
++ SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx.S)
++ MESSAGE(STATUS "Cryptobox: AVX support is added (chacha20)")
++ ENDIF()
+ ENDIF(HAVE_AVX)
+ IF(HAVE_SSE2)
+- SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/sse2.S)
+- MESSAGE(STATUS "Cryptobox: SSE2 support is added (chacha20)")
++ IF ("${ARCH}" STREQUAL "x86_64")
++ SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/sse2.S)
++ MESSAGE(STATUS "Cryptobox: SSE2 support is added (chacha20)")
++ ENDIF()
+ ENDIF(HAVE_SSE2)
+ IF(HAVE_SSE42)
+ SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/sse42.c)
diff --git a/rspamd31/patches/patch-src_libcryptobox_chacha20_chacha.c b/rspamd31/patches/patch-src_libcryptobox_chacha20_chacha.c
new file mode 100644
index 0000000000..ecd8091f9a
--- /dev/null
+++ b/rspamd31/patches/patch-src_libcryptobox_chacha20_chacha.c
@@ -0,0 +1,40 @@
+$NetBSD: patch-src_libcryptobox_chacha20_chacha.c,v 1.1 2022/05/29 19:21:46 gavan Exp $
+
+--- src/libcryptobox/chacha20/chacha.c.orig 2021-11-01 14:33:30.000000000 +0000
++++ src/libcryptobox/chacha20/chacha.c
+@@ -52,15 +52,15 @@ typedef struct chacha_impl_t {
+ #define CHACHA_IMPL(cpuflags, desc, ext) \
+ {(cpuflags), desc, chacha_##ext, xchacha_##ext, chacha_blocks_##ext, hchacha_##ext}
+
+-#if defined(HAVE_AVX2)
++#if defined(HAVE_AVX2) && defined(__x86_64__)
+ CHACHA_DECLARE(avx2)
+ #define CHACHA_AVX2 CHACHA_IMPL(CPUID_AVX2, "avx2", avx2)
+ #endif
+-#if defined(HAVE_AVX)
++#if defined(HAVE_AVX) && defined(__x86_64__)
+ CHACHA_DECLARE(avx)
+ #define CHACHA_AVX CHACHA_IMPL(CPUID_AVX, "avx", avx)
+ #endif
+-#if defined(HAVE_SSE2)
++#if defined(HAVE_SSE2) && defined(__x86_64__)
+ CHACHA_DECLARE(sse2)
+ #define CHACHA_SSE2 CHACHA_IMPL(CPUID_SSE2, "sse2", sse2)
+ #endif
+@@ -70,13 +70,13 @@ CHACHA_DECLARE(ref)
+
+ static const chacha_impl_t chacha_list[] = {
+ CHACHA_GENERIC,
+-#if defined(CHACHA_AVX2)
++#if defined(CHACHA_AVX2) && defined(__x86_64__)
+ CHACHA_AVX2,
+ #endif
+-#if defined(CHACHA_AVX)
++#if defined(CHACHA_AVX) && defined(__x86_64__)
+ CHACHA_AVX,
+ #endif
+-#if defined(CHACHA_SSE2)
++#if defined(CHACHA_SSE2) && defined(__x86_64__)
+ CHACHA_SSE2
+ #endif
+ };
diff --git a/rspamd31/patches/patch-src_libcryptobox_cryptobox.c b/rspamd31/patches/patch-src_libcryptobox_cryptobox.c
new file mode 100644
index 0000000000..3df0778f36
--- /dev/null
+++ b/rspamd31/patches/patch-src_libcryptobox_cryptobox.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-src_libcryptobox_cryptobox.c,v 1.3 2022/05/29 19:21:46 gavan Exp $
+
+--- src/libcryptobox/cryptobox.c.orig 2021-11-01 14:33:30.000000000 +0000
++++ src/libcryptobox/cryptobox.c
+@@ -118,7 +118,7 @@ rspamd_cryptobox_test_instr (gint instr)
+ }
+
+ switch (instr) {
+-#ifdef HAVE_SSE2
++#if defined HAVE_SSE2 && defined(__x86_64__)
+ case CPUID_SSE2:
+ __asm__ volatile ("psubb %xmm0, %xmm0");
+ break;
+@@ -146,7 +146,7 @@ rspamd_cryptobox_test_instr (gint instr)
+ __asm__ volatile ("pcmpeqq %xmm0, %xmm0");
+ break;
+ #endif
+-#ifdef HAVE_SSE42
++#if defined HAVE_SSE42 && defined(__x86_64__)
+ case CPUID_SSE42:
+ __asm__ volatile ("pushq %rax\n"
+ "xorq %rax, %rax\n"
Home |
Main Index |
Thread Index |
Old Index