diff options
Diffstat (limited to 'mail-filter/rspamd')
-rw-r--r-- | mail-filter/rspamd/Manifest | 3 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-2.5-unbundle-snowball.patch | 23 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch | 44 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-2.6-unbundle-lua.patch | 53 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-2.6-unbundle-zstd.patch | 128 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-2.7-cmake-lua-version.patch | 49 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-2.7-unbundle-zstd.patch | 125 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-3.6-cmake-lua-version.patch | 64 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-3.6-unbundle-lua.patch | 61 | ||||
-rw-r--r-- | mail-filter/rspamd/files/rspamd-3.6-unbundle-snowball.patch | 20 | ||||
-rw-r--r-- | mail-filter/rspamd/metadata.xml | 19 | ||||
-rw-r--r-- | mail-filter/rspamd/rspamd-2.6-r100.ebuild | 117 | ||||
-rw-r--r-- | mail-filter/rspamd/rspamd-2.7-r100.ebuild | 117 | ||||
-rw-r--r-- | mail-filter/rspamd/rspamd-3.8.4.ebuild | 163 | ||||
-rw-r--r-- | mail-filter/rspamd/rspamd-9999.ebuild | 91 |
15 files changed, 378 insertions, 699 deletions
diff --git a/mail-filter/rspamd/Manifest b/mail-filter/rspamd/Manifest index df4f86e665d9..dd2b12eb7b18 100644 --- a/mail-filter/rspamd/Manifest +++ b/mail-filter/rspamd/Manifest @@ -1,2 +1 @@ -DIST rspamd-2.6.tar.gz 5079444 BLAKE2B acb9d9471d0bb457da33b4d23e3c75ef87ea26a47e6c731bfd5fbbfe28567244e2bc72fd25ca3408db0928dab4e4ab66596e38cf3eff7cb9690eec59d3b62372 SHA512 79e4c1aa763aef753c8d7b2a941ed92b384e96c25e6d1b3bd1321c5acc0ecb934d033a3bf19cb94c89809fd92edec25192cffe97de9e5251681e1a71216b734a -DIST rspamd-2.7.tar.gz 5126227 BLAKE2B 70f57dba6ac9abe93d735d42e84bd17a1797035322029577a8e4376409bcee5345d4624925d3dd071bddce038858ebfdce8ee4f87f81b1fc8b1f71ad14e85930 SHA512 8779771baf85ef6ca1d7d2180429072ab1547ab834b073ee9222dcc6494efdd0a23f5e7ac52a777c23fd89296769f5b6f182593e714097c6f11ca7c9165e4ba7 +DIST rspamd-3.8.4.tar.gz 5915680 BLAKE2B a6674c5175a10dffa440b9f4227fc4f2e7c497bf8a5a6c87c9f042ca870380a61be63405f4d2714103f49679edd5a28c4eb30807b8acb22998c7dbba72f19cb3 SHA512 dda099dd9a17699d143fc8018b89fbecfa9659eccc26b5fb88bc3f40c47e935993dfc81f1f93bb69880d17af40870e6ea20edbeed7e3f4c12c278f5c12b56a51 diff --git a/mail-filter/rspamd/files/rspamd-2.5-unbundle-snowball.patch b/mail-filter/rspamd/files/rspamd-2.5-unbundle-snowball.patch deleted file mode 100644 index 10b56fa977ad..000000000000 --- a/mail-filter/rspamd/files/rspamd-2.5-unbundle-snowball.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad989f7f2..d08496998 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -108,7 +108,6 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/" - "${CMAKE_SOURCE_DIR}/contrib/libottery" - "${CMAKE_SOURCE_DIR}/contrib/xxhash" - "${CMAKE_SOURCE_DIR}/contrib/cdb" -- "${CMAKE_SOURCE_DIR}/contrib/snowball/include" - "${CMAKE_SOURCE_DIR}/contrib/librdns" - "${CMAKE_SOURCE_DIR}/contrib/aho-corasick" - "${CMAKE_SOURCE_DIR}/contrib/lc-btrie" -@@ -586,7 +585,6 @@ ADD_SUBDIRECTORY(contrib/fpconv) - ADD_SUBDIRECTORY(contrib/lc-btrie) - ADD_SUBDIRECTORY(contrib/libottery) - IF(ENABLE_SNOWBALL MATCHES "ON") -- ADD_SUBDIRECTORY(contrib/snowball) - SET(WITH_SNOWBALL 1) - ENDIF() - ADD_SUBDIRECTORY(contrib/libucl) --- -2.24.1 - diff --git a/mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch b/mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch deleted file mode 100644 index 141b13dfa8af..000000000000 --- a/mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -139,40 +139,8 @@ - ELSE(ENABLE_LUAJIT MATCHES "ON") - - ProcessPackage(LIBLUA LIBRARY "lua" -- "lua-5.3" -- INCLUDE lua.h INCLUDE_SUFFIXES -- "include/lua-5.3" -- "include/lua5.3" -- "include/lua53" -- "include/lua" - ROOT ${LUA_ROOT} -- MODULES lua53 -- OPTIONAL) -- -- IF (NOT WITH_LIBLUA) -- ProcessPackage(LIBLUA LIBRARY "lua" -- "lua-5.2" -- INCLUDE lua.h INCLUDE_SUFFIXES -- "include/lua-5.2" -- "include/lua5.2" -- "include/lua52" -- "include/lua" -- ROOT ${LUA_ROOT} -- MODULES lua52 -- OPTIONAL) -- -- IF (NOT WITH_LIBLUA) -- ProcessPackage(LIBLUA LIBRARY "lua" -- "lua-5.1" -- INCLUDE lua.h INCLUDE_SUFFIXES -- "include/lua-5.1" -- "include/lua5.1" -- "include/lua51" -- "include/lua" -- ROOT ${LUA_ROOT} -- MODULES lua51) -- ENDIF() -- ENDIF() -+ MODULES lua) - ENDIF(ENABLE_LUAJIT MATCHES "ON") - - IF(ENABLE_JEMALLOC MATCHES "ON" AND NOT SANITIZE) diff --git a/mail-filter/rspamd/files/rspamd-2.6-unbundle-lua.patch b/mail-filter/rspamd/files/rspamd-2.6-unbundle-lua.patch deleted file mode 100644 index 9278fa8608d7..000000000000 --- a/mail-filter/rspamd/files/rspamd-2.6-unbundle-lua.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b794b9dbd..1ba5c085e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -632,10 +632,6 @@ ADD_SUBDIRECTORY(contrib/fastutf8) - ADD_SUBDIRECTORY(contrib/google-ced) - - --IF (NOT WITH_LUAJIT) -- ADD_SUBDIRECTORY(contrib/lua-bit) --ENDIF() -- - IF (ENABLE_LUA_REPL MATCHES "ON") - ADD_SUBDIRECTORY(contrib/replxx) - SET(WITH_LUA_REPL 1) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9a34d2ac4..59bab5c15 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -189,10 +189,6 @@ IF (ENABLE_CLANG_PLUGIN MATCHES "ON") - ADD_DEPENDENCIES(rspamd-server rspamd-clang) - ENDIF() - --IF (NOT WITH_LUAJIT) -- TARGET_LINK_LIBRARIES(rspamd-server rspamd-bit) --ENDIF() -- - IF (ENABLE_SNOWBALL MATCHES "ON") - TARGET_LINK_LIBRARIES(rspamd-server stemmer) - ENDIF() -diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c -index b7fcc2034..1d86464da 100644 ---- a/src/lua/lua_common.c -+++ b/src/lua/lua_common.c -@@ -922,10 +922,6 @@ rspamd_lua_wipe_realloc (void *ud, - return NULL; - } - --#ifndef WITH_LUAJIT --extern int luaopen_bit(lua_State *L); --#endif -- - lua_State * - rspamd_lua_init (bool wipe_mem) - { -@@ -981,7 +977,6 @@ rspamd_lua_init (bool wipe_mem) - luaopen_spf (L); - luaopen_tensor (L); - #ifndef WITH_LUAJIT -- rspamd_lua_add_preload (L, "bit", luaopen_bit); - lua_settop (L, 0); - #endif - diff --git a/mail-filter/rspamd/files/rspamd-2.6-unbundle-zstd.patch b/mail-filter/rspamd/files/rspamd-2.6-unbundle-zstd.patch deleted file mode 100644 index 1a7f4453c86f..000000000000 --- a/mail-filter/rspamd/files/rspamd-2.6-unbundle-zstd.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 90caf4048..e2e5d182c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -198,6 +198,8 @@ ELSE() - ROOT ${PCRE_ROOT_DIR} MODULES pcre libpcre pcre3 libpcre3) - ENDIF() - -+ProcessPackage(ZSTD LIBRARY zstd INCLUDE zstd.h -+ ROOT ${ZSTD_ROOT_DIR} MODULES libzstd) - ProcessPackage(SQLITE3 LIBRARY sqlite3 INCLUDE sqlite3.h INCLUDE_SUFFIXES include/sqlite3 include/sqlite - ROOT ${SQLITE3_ROOT_DIR} MODULES sqlite3 sqlite) - ProcessPackage(ICUDATA LIBRARY icudata INCLUDE unicode/ucnv.h -@@ -615,7 +617,6 @@ ADD_SUBDIRECTORY(contrib/http-parser) - ADD_SUBDIRECTORY(contrib/fpconv) - ADD_SUBDIRECTORY(contrib/lc-btrie) - ADD_SUBDIRECTORY(contrib/libottery) --ADD_SUBDIRECTORY(contrib/zstd) - IF(ENABLE_SNOWBALL MATCHES "ON") - ADD_SUBDIRECTORY(contrib/snowball) - SET(WITH_SNOWBALL 1) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 54b2e4083..e0e2edd58 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -181,7 +181,6 @@ TARGET_LINK_LIBRARIES(rspamd-server rspamd-http-parser) - TARGET_LINK_LIBRARIES(rspamd-server rspamd-fpconv) - TARGET_LINK_LIBRARIES(rspamd-server rspamd-cdb) - TARGET_LINK_LIBRARIES(rspamd-server lcbtrie) --TARGET_LINK_LIBRARIES(rspamd-server rspamd-zstd) - TARGET_LINK_LIBRARIES(rspamd-server rspamd-fastutf8) - - IF (ENABLE_CLANG_PLUGIN MATCHES "ON") -diff --git a/src/client/rspamdclient.c b/src/client/rspamdclient.c -index bcb25672e..48ca58e94 100644 ---- a/src/client/rspamdclient.c -+++ b/src/client/rspamdclient.c -@@ -19,7 +19,7 @@ - #include "libserver/http/http_private.h" - #include "libserver/protocol_internal.h" - #include "unix-std.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - - #ifdef HAVE_FETCH_H - #include <fetch.h> -diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c -index 78e3fc79f..40110c693 100644 ---- a/src/libserver/cfg_utils.c -+++ b/src/libserver/cfg_utils.c -@@ -36,8 +36,7 @@ - #include "contrib/libottery/ottery.h" - #include "contrib/fastutf8/fastutf8.h" - --#define ZSTD_STATIC_LINKING_ONLY --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - - #ifdef HAVE_OPENSSL - #include <openssl/rand.h> -diff --git a/src/libserver/maps/map.c b/src/libserver/maps/map.c -index 8b9f522b2..8cf03ffd6 100644 ---- a/src/libserver/maps/map.c -+++ b/src/libserver/maps/map.c -@@ -23,7 +23,7 @@ - #include "libserver/http/http_connection.h" - #include "libserver/http/http_private.h" - #include "rspamd.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "contrib/libev/ev.h" - #include "contrib/uthash/utlist.h" - -diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c -index 9d1276064..6f0a66fb8 100644 ---- a/src/libserver/protocol.c -+++ b/src/libserver/protocol.c -@@ -21,7 +21,7 @@ - #include "worker_private.h" - #include "libserver/cfg_file_private.h" - #include "libmime/scan_result_private.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "lua/lua_common.h" - #include "unix-std.h" - #include "protocol_internal.h" -diff --git a/src/libserver/task.c b/src/libserver/task.c -index 53da0dae6..6538abdbf 100644 ---- a/src/libserver/task.c -+++ b/src/libserver/task.c -@@ -25,7 +25,7 @@ - #include "stat_api.h" - #include "unix-std.h" - #include "utlist.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "libserver/mempool_vars_internal.h" - #include "libserver/cfg_file_private.h" - #include "libmime/lang_detection.h" -diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c -index 0787736d5..21474317a 100644 ---- a/src/lua/lua_util.c -+++ b/src/lua/lua_util.c -@@ -17,7 +17,7 @@ - #include "html.h" - #include "tokenizers/tokenizers.h" - #include "unix-std.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "contrib/uthash/utlist.h" - #include "libmime/email_addr.h" - #include "libmime/content_type.h" -diff --git a/src/rspamd_proxy.c b/src/rspamd_proxy.c -index 4ed8cfab7..5f8808e40 100644 ---- a/src/rspamd_proxy.c -+++ b/src/rspamd_proxy.c -@@ -36,7 +36,7 @@ - #include "libserver/milter.h" - #include "libserver/milter_internal.h" - #include "libmime/lang_detection.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - - #include <math.h> - --- -2.26.2 - diff --git a/mail-filter/rspamd/files/rspamd-2.7-cmake-lua-version.patch b/mail-filter/rspamd/files/rspamd-2.7-cmake-lua-version.patch deleted file mode 100644 index c8254f1ce95e..000000000000 --- a/mail-filter/rspamd/files/rspamd-2.7-cmake-lua-version.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 72382acb6..2335ae4bc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -141,42 +141,8 @@ IF(ENABLE_LUAJIT MATCHES "ON") - ELSE(ENABLE_LUAJIT MATCHES "ON") - - ProcessPackage(LIBLUA LIBRARY "lua" -- "lua-5.3" -- LIB_SUFFIXES "lua5.3" -- INCLUDE lua.h INCLUDE_SUFFIXES -- "include/lua-5.3" -- "include/lua5.3" -- "include/lua53" -- "include/lua" - ROOT ${LUA_ROOT} -- MODULES lua53 -- OPTIONAL) -- -- IF (NOT WITH_LIBLUA) -- ProcessPackage(LIBLUA LIBRARY "lua" -- "lua-5.2" -- LIB_SUFFIXES "lua5.2" -- INCLUDE lua.h INCLUDE_SUFFIXES -- "include/lua-5.2" -- "include/lua5.2" -- "include/lua52" -- "include/lua" -- ROOT ${LUA_ROOT} -- MODULES lua52 -- OPTIONAL) -- -- IF (NOT WITH_LIBLUA) -- ProcessPackage(LIBLUA LIBRARY "lua" -- "lua-5.1" -- INCLUDE lua.h INCLUDE_SUFFIXES -- "include/lua-5.1" -- "include/lua5.1" -- "include/lua51" -- "include/lua" -- ROOT ${LUA_ROOT} -- MODULES lua51) -- ENDIF() -- ENDIF() -+ MODULES lua) - ENDIF(ENABLE_LUAJIT MATCHES "ON") - - IF(ENABLE_JEMALLOC MATCHES "ON" AND NOT SANITIZE) --- diff --git a/mail-filter/rspamd/files/rspamd-2.7-unbundle-zstd.patch b/mail-filter/rspamd/files/rspamd-2.7-unbundle-zstd.patch deleted file mode 100644 index f0fc9f8352bd..000000000000 --- a/mail-filter/rspamd/files/rspamd-2.7-unbundle-zstd.patch +++ /dev/null @@ -1,125 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 77ad86785..56246807e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -202,6 +202,8 @@ ELSE() - ROOT ${PCRE_ROOT_DIR} MODULES pcre libpcre pcre3 libpcre3) - ENDIF() - -+ProcessPackage(ZSTD LIBRARY zstd INCLUDE zstd.h -+ ROOT ${ZSTD_ROOT_DIR} MODULES libzstd) - ProcessPackage(SQLITE3 LIBRARY sqlite3 INCLUDE sqlite3.h INCLUDE_SUFFIXES include/sqlite3 include/sqlite - ROOT ${SQLITE3_ROOT_DIR} MODULES sqlite3 sqlite) - ProcessPackage(ICUDATA LIBRARY icudata INCLUDE unicode/ucnv.h -@@ -619,7 +621,6 @@ ADD_SUBDIRECTORY(contrib/http-parser) - ADD_SUBDIRECTORY(contrib/fpconv) - ADD_SUBDIRECTORY(contrib/lc-btrie) - ADD_SUBDIRECTORY(contrib/libottery) --ADD_SUBDIRECTORY(contrib/zstd) - IF(ENABLE_SNOWBALL MATCHES "ON") - ADD_SUBDIRECTORY(contrib/snowball) - SET(WITH_SNOWBALL 1) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 54b2e4083..e0e2edd58 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -181,7 +181,6 @@ TARGET_LINK_LIBRARIES(rspamd-server rspamd-http-parser) - TARGET_LINK_LIBRARIES(rspamd-server rspamd-fpconv) - TARGET_LINK_LIBRARIES(rspamd-server rspamd-cdb) - TARGET_LINK_LIBRARIES(rspamd-server lcbtrie) --TARGET_LINK_LIBRARIES(rspamd-server rspamd-zstd) - TARGET_LINK_LIBRARIES(rspamd-server rspamd-fastutf8) - - IF (ENABLE_CLANG_PLUGIN MATCHES "ON") -diff --git a/src/client/rspamdclient.c b/src/client/rspamdclient.c -index bcb25672e..48ca58e94 100644 ---- a/src/client/rspamdclient.c -+++ b/src/client/rspamdclient.c -@@ -19,7 +19,7 @@ - #include "libserver/http/http_private.h" - #include "libserver/protocol_internal.h" - #include "unix-std.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - - #ifdef HAVE_FETCH_H - #include <fetch.h> -diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c -index 987123cbb..51c2e1468 100644 ---- a/src/libserver/cfg_utils.c -+++ b/src/libserver/cfg_utils.c -@@ -36,8 +36,7 @@ - #include "contrib/libottery/ottery.h" - #include "contrib/fastutf8/fastutf8.h" - --#define ZSTD_STATIC_LINKING_ONLY --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - - #ifdef HAVE_OPENSSL - #include <openssl/rand.h> -diff --git a/src/libserver/maps/map.c b/src/libserver/maps/map.c -index 14792753a..20ca8416e 100644 ---- a/src/libserver/maps/map.c -+++ b/src/libserver/maps/map.c -@@ -23,7 +23,7 @@ - #include "libserver/http/http_connection.h" - #include "libserver/http/http_private.h" - #include "rspamd.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "contrib/libev/ev.h" - #include "contrib/uthash/utlist.h" - -diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c -index 31b0308cb..62ba3d833 100644 ---- a/src/libserver/protocol.c -+++ b/src/libserver/protocol.c -@@ -21,7 +21,7 @@ - #include "worker_private.h" - #include "libserver/cfg_file_private.h" - #include "libmime/scan_result_private.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "lua/lua_common.h" - #include "unix-std.h" - #include "protocol_internal.h" -diff --git a/src/libserver/task.c b/src/libserver/task.c -index 096933803..f78754ab4 100644 ---- a/src/libserver/task.c -+++ b/src/libserver/task.c -@@ -25,7 +25,7 @@ - #include "stat_api.h" - #include "unix-std.h" - #include "utlist.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "libserver/mempool_vars_internal.h" - #include "libserver/cfg_file_private.h" - #include "libmime/lang_detection.h" -diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c -index e879d37af..88451e222 100644 ---- a/src/lua/lua_util.c -+++ b/src/lua/lua_util.c -@@ -15,7 +15,7 @@ - */ - #include "lua_common.h" - #include "unix-std.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - #include "libmime/email_addr.h" - #include "libmime/content_type.h" - #include "libmime/mime_headers.h" -diff --git a/src/rspamd_proxy.c b/src/rspamd_proxy.c -index 3fa5da390..c641fb263 100644 ---- a/src/rspamd_proxy.c -+++ b/src/rspamd_proxy.c -@@ -36,7 +36,7 @@ - #include "libserver/milter.h" - #include "libserver/milter_internal.h" - #include "libmime/lang_detection.h" --#include "contrib/zstd/zstd.h" -+#include <zstd.h> - - #include <math.h> - diff --git a/mail-filter/rspamd/files/rspamd-3.6-cmake-lua-version.patch b/mail-filter/rspamd/files/rspamd-3.6-cmake-lua-version.patch new file mode 100644 index 000000000000..9a08eaac28b0 --- /dev/null +++ b/mail-filter/rspamd/files/rspamd-3.6-cmake-lua-version.patch @@ -0,0 +1,64 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bea0af828..f72304f05 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,55 +149,8 @@ IF (ENABLE_LUAJIT MATCHES "ON") + ELSE (ENABLE_LUAJIT MATCHES "ON") + + ProcessPackage(LIBLUA LIBRARY "lua" +- "lua-5.3" +- LIB_SUFFIXES "lua5.3" +- INCLUDE lua.h INCLUDE_SUFFIXES +- "include/lua-5.3" +- "include/lua5.3" +- "include/lua53" +- "include/lua" + ROOT ${LUA_ROOT} +- MODULES lua53 +- OPTIONAL) +- +- IF (NOT WITH_LIBLUA) +- ProcessPackage(LIBLUA LIBRARY "lua" +- "lua-5.4" +- LIB_SUFFIXES "lua5.4" +- INCLUDE lua.h INCLUDE_SUFFIXES +- "include/lua-5.4" +- "include/lua5.4" +- "include/lua54" +- "include/lua" +- ROOT ${LUA_ROOT} +- MODULES lua54 +- OPTIONAL) +- IF (NOT WITH_LIBLUA) +- ProcessPackage(LIBLUA LIBRARY "lua" +- "lua-5.2" +- LIB_SUFFIXES "lua5.2" +- INCLUDE lua.h INCLUDE_SUFFIXES +- "include/lua-5.2" +- "include/lua5.2" +- "include/lua52" +- "include/lua" +- ROOT ${LUA_ROOT} +- MODULES lua52 +- OPTIONAL) +- +- IF (NOT WITH_LIBLUA) +- ProcessPackage(LIBLUA LIBRARY "lua" +- "lua-5.1" +- INCLUDE lua.h INCLUDE_SUFFIXES +- "include/lua-5.1" +- "include/lua5.1" +- "include/lua51" +- "include/lua" +- ROOT ${LUA_ROOT} +- MODULES lua51) +- ENDIF () +- ENDIF () +- ENDIF () ++ MODULES lua) + ENDIF (ENABLE_LUAJIT MATCHES "ON") + + IF (ENABLE_JEMALLOC MATCHES "ON" AND NOT SANITIZE) +-- +2.41.0 + diff --git a/mail-filter/rspamd/files/rspamd-3.6-unbundle-lua.patch b/mail-filter/rspamd/files/rspamd-3.6-unbundle-lua.patch new file mode 100644 index 000000000000..78a2a49d796f --- /dev/null +++ b/mail-filter/rspamd/files/rspamd-3.6-unbundle-lua.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bea0af828..d7a4eed14 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -641,10 +641,6 @@ ELSE () + find_package(doctest) + ENDIF () + +-IF (NOT WITH_LUAJIT) +- ADD_SUBDIRECTORY(contrib/lua-bit) +-ENDIF () +- + IF (ENABLE_LUA_REPL MATCHES "ON") + ADD_SUBDIRECTORY(contrib/replxx) + SET(WITH_LUA_REPL 1) +@@ -742,7 +738,6 @@ ENDFOREACH (LUA_LIB) + + # Install lua fun library + INSTALL(FILES "contrib/lua-fun/fun.lua" DESTINATION ${LUALIBDIR}) +-INSTALL(FILES "contrib/lua-argparse/argparse.lua" DESTINATION ${LUALIBDIR}) + INSTALL(FILES "contrib/lua-tableshape/tableshape.lua" DESTINATION ${LUALIBDIR}) + INSTALL(FILES "contrib/lua-lupa/lupa.lua" DESTINATION ${LUALIBDIR}) + INSTALL(FILES "contrib/lua-lpeg/lpegre.lua" DESTINATION ${LUALIBDIR}) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5dee8e610..a90f8d52d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -205,10 +205,6 @@ IF (ENABLE_CLANG_PLUGIN MATCHES "ON") + ADD_DEPENDENCIES(rspamd-server rspamd-clang) + ENDIF() + +-IF (NOT WITH_LUAJIT) +- TARGET_LINK_LIBRARIES(rspamd-server rspamd-bit) +-ENDIF() +- + IF (ENABLE_SNOWBALL MATCHES "ON") + TARGET_LINK_LIBRARIES(rspamd-server stemmer) + ENDIF() +diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c +index b543ae5db..7a93934fd 100644 +--- a/src/lua/lua_common.c ++++ b/src/lua/lua_common.c +@@ -904,10 +904,6 @@ rspamd_lua_wipe_realloc(void *ud, + return NULL; + } + +-#ifndef WITH_LUAJIT +-extern int luaopen_bit(lua_State *L); +-#endif +- + static unsigned int lua_initialized = 0; + + lua_State * +@@ -975,7 +971,6 @@ rspamd_lua_init(bool wipe_mem) + luaopen_parsers(L); + luaopen_compress(L); + #ifndef WITH_LUAJIT +- rspamd_lua_add_preload(L, "bit", luaopen_bit); + lua_settop(L, 0); + #endif + diff --git a/mail-filter/rspamd/files/rspamd-3.6-unbundle-snowball.patch b/mail-filter/rspamd/files/rspamd-3.6-unbundle-snowball.patch new file mode 100644 index 000000000000..5779142b7b10 --- /dev/null +++ b/mail-filter/rspamd/files/rspamd-3.6-unbundle-snowball.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bea0af828..00778100c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -115,7 +115,6 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/" + "${CMAKE_SOURCE_DIR}/contrib/fpconv" + "${CMAKE_SOURCE_DIR}/contrib/libottery" + "${CMAKE_SOURCE_DIR}/contrib/cdb" +- "${CMAKE_SOURCE_DIR}/contrib/snowball/include" + "${CMAKE_SOURCE_DIR}/contrib/librdns" + "${CMAKE_SOURCE_DIR}/contrib/aho-corasick" + "${CMAKE_SOURCE_DIR}/contrib/lc-btrie" +@@ -617,7 +616,6 @@ ELSE () + ADD_DEFINITIONS(-DSYS_ZSTD) + ENDIF () + IF (ENABLE_SNOWBALL MATCHES "ON") +- ADD_SUBDIRECTORY(contrib/snowball) + SET(WITH_SNOWBALL 1) + ENDIF () + ADD_SUBDIRECTORY(contrib/libucl) diff --git a/mail-filter/rspamd/metadata.xml b/mail-filter/rspamd/metadata.xml index a8969fdf4ef9..6044b0bb7bec 100644 --- a/mail-filter/rspamd/metadata.xml +++ b/mail-filter/rspamd/metadata.xml @@ -1,22 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>c@roessner.co</email> - <name>Christian Roessner</name> - </maintainer> - <maintainer type="person" proxied="yes"> - <email>arkamar@atlas.cz</email> + <maintainer type="person"> + <email>arkamar@gentoo.org</email> <name>Petr Vaněk</name> </maintainer> - <maintainer type="project" proxied="proxy"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <upstream> - <remote-id type="github">vstakhov/rspamd</remote-id> + <remote-id type="github">rspamd/rspamd</remote-id> </upstream> <use> - <flag name="pcre2">Use dev-libs/libpcre2</flag> + <flag name="hyperscan">Enable hyperscan for fast regexp processing</flag> + <flag name="jit">Enable PCRE JIT support</flag> </use> </pkgmetadata> diff --git a/mail-filter/rspamd/rspamd-2.6-r100.ebuild b/mail-filter/rspamd/rspamd-2.6-r100.ebuild deleted file mode 100644 index d6a966d66b76..000000000000 --- a/mail-filter/rspamd/rspamd-2.6-r100.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..3} luajit ) - -inherit cmake lua-single pax-utils systemd tmpfiles - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/rspamd/rspamd.git" - inherit git-r3 -else - SRC_URI="https://github.com/rspamd/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 x86" -fi - -DESCRIPTION="Rapid spam filtering system" -HOMEPAGE="https://rspamd.com https://github.com/rspamd/rspamd" -LICENSE="Apache-2.0 Boost-1.0 BSD BSD-1 BSD-2 CC0-1.0 LGPL-3 MIT public-domain unicode ZLIB" -SLOT="0" -IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit libressl pcre2" - -REQUIRED_USE="${LUA_REQUIRED_USE} - jit? ( lua_single_target_luajit )" - -RDEPEND="${LUA_DEPS} - $(lua_gen_cond_dep ' - dev-lua/LuaBitOp[${LUA_USEDEP}] - ' lua5-{1,2}) - acct-group/rspamd - acct-user/rspamd - app-arch/zstd - dev-db/sqlite:3 - dev-libs/glib:2 - dev-libs/icu:= - dev-libs/libev - dev-libs/libsodium - dev-libs/snowball-stemmer - net-libs/libnsl - sys-apps/file - blas? ( - virtual/blas - virtual/lapack - ) - cpu_flags_x86_ssse3? ( dev-libs/hyperscan ) - jemalloc? ( dev-libs/jemalloc ) - !libressl? ( dev-libs/openssl:0=[-bindist] ) - libressl? ( dev-libs/libressl:0= ) - pcre2? ( dev-libs/libpcre2[jit=] ) - !pcre2? ( dev-libs/libpcre[jit=] )" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-util/ragel - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}/rspamd-2.6-cmake-lua-version.patch" - "${FILESDIR}/rspamd-2.6-unbundle-lua.patch" - "${FILESDIR}/rspamd-2.6-unbundle-zstd.patch" - "${FILESDIR}/rspamd-2.5-unbundle-snowball.patch" -) - -src_prepare() { - cmake_src_prepare - - rm -vrf contrib/{lua-bit,snowball,zstd} || die - - sed -i -e 's/User=_rspamd/User=rspamd/g' \ - rspamd.service \ - || die -} - -src_configure() { - local mycmakeargs=( - -DCONFDIR=/etc/rspamd - -DRUNDIR=/var/run/rspamd - -DDBDIR=/var/lib/rspamd - -DLOGDIR=/var/log/rspamd - -DENABLE_BLAS=$(usex blas ON OFF) - -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF) - -DENABLE_JEMALLOC=$(usex jemalloc ON OFF) - -DENABLE_LUAJIT=$(usex lua_single_target_luajit ON OFF) - -DENABLE_PCRE2=$(usex pcre2 ON OFF) - ) - cmake_src_configure -} - -src_test() { - cmake_src_test -} - -src_install() { - cmake_src_install - - newconfd "${FILESDIR}"/rspamd.conf rspamd - newinitd "${FILESDIR}/rspamd-r7.init" rspamd - systemd_newunit rspamd.service rspamd.service - - newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf - - # Remove mprotect for JIT support - if use lua_single_target_luajit; then - pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-* - fi - - insinto /etc/logrotate.d - newins "${FILESDIR}"/rspamd-r1.logrotate rspamd - - diropts -o rspamd -g rspamd - keepdir /var/{lib,log}/rspamd -} - -pkg_postinst() { - tmpfiles_process "${PN}.conf" -} diff --git a/mail-filter/rspamd/rspamd-2.7-r100.ebuild b/mail-filter/rspamd/rspamd-2.7-r100.ebuild deleted file mode 100644 index f6efcf40a61a..000000000000 --- a/mail-filter/rspamd/rspamd-2.7-r100.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..3} luajit ) - -inherit cmake lua-single pax-utils systemd tmpfiles - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/rspamd/rspamd.git" - inherit git-r3 -else - SRC_URI="https://github.com/rspamd/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 x86" -fi - -DESCRIPTION="Rapid spam filtering system" -HOMEPAGE="https://rspamd.com https://github.com/rspamd/rspamd" -LICENSE="Apache-2.0 Boost-1.0 BSD BSD-1 BSD-2 CC0-1.0 LGPL-3 MIT public-domain unicode ZLIB" -SLOT="0" -IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit libressl pcre2" - -REQUIRED_USE="${LUA_REQUIRED_USE} - jit? ( lua_single_target_luajit )" - -RDEPEND="${LUA_DEPS} - $(lua_gen_cond_dep ' - dev-lua/LuaBitOp[${LUA_USEDEP}] - ' lua5-{1,2}) - acct-group/rspamd - acct-user/rspamd - app-arch/zstd - dev-db/sqlite:3 - dev-libs/glib:2 - dev-libs/icu:= - dev-libs/libev - dev-libs/libsodium - dev-libs/snowball-stemmer - net-libs/libnsl - sys-apps/file - blas? ( - virtual/blas - virtual/lapack - ) - cpu_flags_x86_ssse3? ( dev-libs/hyperscan ) - jemalloc? ( dev-libs/jemalloc ) - !libressl? ( dev-libs/openssl:0=[-bindist] ) - libressl? ( dev-libs/libressl:0= ) - pcre2? ( dev-libs/libpcre2[jit=] ) - !pcre2? ( dev-libs/libpcre[jit=] )" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-util/ragel - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}/rspamd-2.7-cmake-lua-version.patch" - "${FILESDIR}/rspamd-2.6-unbundle-lua.patch" - "${FILESDIR}/rspamd-2.7-unbundle-zstd.patch" - "${FILESDIR}/rspamd-2.5-unbundle-snowball.patch" -) - -src_prepare() { - cmake_src_prepare - - rm -vrf contrib/{lua-bit,snowball,zstd} || die - - sed -i -e 's/User=_rspamd/User=rspamd/g' \ - rspamd.service \ - || die -} - -src_configure() { - local mycmakeargs=( - -DCONFDIR=/etc/rspamd - -DRUNDIR=/var/run/rspamd - -DDBDIR=/var/lib/rspamd - -DLOGDIR=/var/log/rspamd - -DENABLE_BLAS=$(usex blas ON OFF) - -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF) - -DENABLE_JEMALLOC=$(usex jemalloc ON OFF) - -DENABLE_LUAJIT=$(usex lua_single_target_luajit ON OFF) - -DENABLE_PCRE2=$(usex pcre2 ON OFF) - ) - cmake_src_configure -} - -src_test() { - cmake_src_test -} - -src_install() { - cmake_src_install - - newconfd "${FILESDIR}"/rspamd.conf rspamd - newinitd "${FILESDIR}/rspamd-r7.init" rspamd - systemd_newunit rspamd.service rspamd.service - - newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf - - # Remove mprotect for JIT support - if use lua_single_target_luajit; then - pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-* - fi - - insinto /etc/logrotate.d - newins "${FILESDIR}"/rspamd-r1.logrotate rspamd - - diropts -o rspamd -g rspamd - keepdir /var/{lib,log}/rspamd -} - -pkg_postinst() { - tmpfiles_process "${PN}.conf" -} diff --git a/mail-filter/rspamd/rspamd-3.8.4.ebuild b/mail-filter/rspamd/rspamd-3.8.4.ebuild new file mode 100644 index 000000000000..1ba2cca28359 --- /dev/null +++ b/mail-filter/rspamd/rspamd-3.8.4.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} luajit ) + +inherit cmake lua-single pax-utils systemd tmpfiles + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/rspamd/rspamd.git" + inherit git-r3 +else + SRC_URI="https://github.com/rspamd/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 x86" +fi + +DESCRIPTION="Rapid spam filtering system" +HOMEPAGE=" + https://rspamd.com + https://github.com/rspamd/rspamd +" + +LICENSE="Apache-2.0 Boost-1.0 BSD BSD-1 BSD-2 CC0-1.0 LGPL-3 MIT public-domain unicode ZLIB" +SLOT="0" +IUSE="blas +hyperscan jemalloc +jit selinux test" +RESTRICT="!test? ( test )" + +# A part of tests use ffi luajit extension +REQUIRED_USE="${LUA_REQUIRED_USE} + test? ( lua_single_target_luajit )" + +RDEPEND=" + ${LUA_DEPS} + $(lua_gen_cond_dep ' + dev-lua/LuaBitOp[${LUA_USEDEP}] + dev-lua/lua-argparse[${LUA_USEDEP}] + ') + acct-group/rspamd + acct-user/rspamd + app-arch/zstd:= + dev-db/sqlite:3 + dev-libs/glib:2 + dev-libs/icu:= + dev-libs/libpcre2:=[jit=] + dev-libs/libsodium:= + dev-libs/openssl:0=[-bindist(-)] + dev-libs/snowball-stemmer:= + sys-libs/zlib + blas? ( + virtual/blas + virtual/lapack + ) + hyperscan? ( dev-libs/vectorscan:= ) + jemalloc? ( dev-libs/jemalloc:= ) + selinux? ( sec-policy/selinux-spamassassin ) +" +DEPEND=" + ${RDEPEND} + dev-cpp/doctest + dev-libs/libfmt:= + >=dev-libs/xxhash-0.8.0 +" +BDEPEND=" + dev-lang/perl + dev-util/ragel + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/rspamd-3.6-cmake-lua-version.patch" + "${FILESDIR}/rspamd-3.6-unbundle-lua.patch" + "${FILESDIR}/rspamd-3.6-unbundle-snowball.patch" +) + +src_prepare() { + cmake_src_prepare + + rm -vrf contrib/{doctest,fmt,lua-{argparse,bit},snowball,xxhash,zstd} || die + + > cmake/Toolset.cmake || die #827550 + + sed -i -e 's/User=_rspamd/User=rspamd/g' \ + rspamd.service \ + || die +} + +src_configure() { + local mycmakeargs=( + -DCONFDIR=/etc/rspamd + -DRUNDIR=/var/run/rspamd + -DDBDIR=/var/lib/rspamd + -DLOGDIR=/var/log/rspamd + -DLIBDIR="/usr/$(get_libdir)/rspamd" + + -DSYSTEM_DOCTEST=ON + -DSYSTEM_FMT=ON + -DSYSTEM_XXHASH=ON + -DSYSTEM_ZSTD=ON + + # For bundled https://github.com/bombela/backward-cpp + # Bundled backward library uses execinfo.h in current setting, which is + # available in glibc, but not in musl. Let's enable it for glibc only. + -DENABLE_BACKWARD=$(usex elibc_glibc ON OFF) # bug 917643 + -DSTACK_DETAILS_AUTO_DETECT=OFF + + -DENABLE_BLAS=$(usex blas ON OFF) + -DENABLE_HYPERSCAN=$(usex hyperscan ON OFF) + -DENABLE_JEMALLOC=$(usex jemalloc ON OFF) + -DENABLE_LUAJIT=$(usex lua_single_target_luajit ON OFF) + -DENABLE_PCRE2=ON + + -DBUILD_TESTING=$(usex test ON OFF) + ) + cmake_src_configure +} + +src_test() { + # These variables ensure tests use Lua scripts from this package rather + # than the installed version. However, rspamd always first attempts to load + # from /etc/rspamd/lua, with no method to override this behavior. + LUA_PATH="${S}/contrib/lua-?/?.lua" \ + LUALIBDIR="${S}/lualib" \ + RULESDIR="${S}/lualib" \ + cmake_src_test +} + +src_install() { + cmake_src_install + + newconfd "${FILESDIR}"/rspamd.conf rspamd + newinitd "${FILESDIR}/rspamd-r7.init" rspamd + systemd_newunit rspamd.service rspamd.service + + newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf + + # Remove mprotect for JIT support + if use lua_single_target_luajit; then + pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-* + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}"/rspamd-r1.logrotate rspamd + + diropts -o rspamd -g rspamd + keepdir /var/{lib,log}/rspamd +} + +pkg_postinst() { + tmpfiles_process "${PN}.conf" + + for ver in ${REPLACING_VERSIONS}; do + if ver_test "${ver}" -eq "3.4"; then + elog "rspamd-3.4 is known to segfault when it is updated from older version due" + elog "to a page-alignment of hyperscan .unser files. The issue was patched in" + elog "rspamd-3.4-r1 ebuild revision. All possibly broken .unser files will be" + elog "automaticaly removed. See https://github.com/rspamd/rspamd/issues/4329 for" + elog "more information." + + find "${EROOT}/var/lib/rspamd" -type f -name '*.unser' -delete + fi + done +} diff --git a/mail-filter/rspamd/rspamd-9999.ebuild b/mail-filter/rspamd/rspamd-9999.ebuild index 0ba250193310..16b59dbaef8d 100644 --- a/mail-filter/rspamd/rspamd-9999.ebuild +++ b/mail-filter/rspamd/rspamd-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -LUA_COMPAT=( lua5-{1..3} luajit ) +LUA_COMPAT=( lua5-{1..4} luajit ) inherit cmake lua-single pax-utils systemd tmpfiles @@ -16,56 +16,70 @@ else fi DESCRIPTION="Rapid spam filtering system" -HOMEPAGE="https://rspamd.com https://github.com/rspamd/rspamd" +HOMEPAGE=" + https://rspamd.com + https://github.com/rspamd/rspamd +" + LICENSE="Apache-2.0 Boost-1.0 BSD BSD-1 BSD-2 CC0-1.0 LGPL-3 MIT public-domain unicode ZLIB" SLOT="0" -IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit libressl pcre2" +IUSE="blas +hyperscan jemalloc +jit selinux test" +RESTRICT="!test? ( test )" +# A part of tests use ffi luajit extension REQUIRED_USE="${LUA_REQUIRED_USE} - jit? ( lua_single_target_luajit )" + test? ( lua_single_target_luajit )" -RDEPEND="${LUA_DEPS} +RDEPEND=" + ${LUA_DEPS} $(lua_gen_cond_dep ' dev-lua/LuaBitOp[${LUA_USEDEP}] - ' lua5-{1,2}) + dev-lua/lua-argparse[${LUA_USEDEP}] + ') acct-group/rspamd acct-user/rspamd - app-arch/zstd + app-arch/libarchive:= + app-arch/zstd:= dev-db/sqlite:3 dev-libs/glib:2 dev-libs/icu:= - dev-libs/libev - dev-libs/libsodium - dev-libs/snowball-stemmer - net-libs/libnsl - sys-apps/file + dev-libs/libpcre2:=[jit=] + dev-libs/libsodium:= + dev-libs/openssl:0=[-bindist(-)] + dev-libs/snowball-stemmer:= + sys-libs/zlib blas? ( virtual/blas virtual/lapack ) - cpu_flags_x86_ssse3? ( dev-libs/hyperscan ) - jemalloc? ( dev-libs/jemalloc ) - !libressl? ( dev-libs/openssl:0=[-bindist] ) - libressl? ( dev-libs/libressl:0= ) - pcre2? ( dev-libs/libpcre2[jit=] ) - !pcre2? ( dev-libs/libpcre[jit=] )" -DEPEND="${RDEPEND}" + hyperscan? ( dev-libs/vectorscan:= ) + jemalloc? ( dev-libs/jemalloc:= ) + selinux? ( sec-policy/selinux-spamassassin ) +" +DEPEND=" + ${RDEPEND} + dev-cpp/doctest + dev-libs/libfmt:= + >=dev-libs/xxhash-0.8.0 +" BDEPEND=" + dev-lang/perl dev-util/ragel virtual/pkgconfig " PATCHES=( - "${FILESDIR}/rspamd-2.7-cmake-lua-version.patch" - "${FILESDIR}/rspamd-2.6-unbundle-lua.patch" - "${FILESDIR}/rspamd-2.7-unbundle-zstd.patch" - "${FILESDIR}/rspamd-2.5-unbundle-snowball.patch" + "${FILESDIR}/rspamd-3.6-cmake-lua-version.patch" + "${FILESDIR}/rspamd-3.6-unbundle-lua.patch" + "${FILESDIR}/rspamd-3.6-unbundle-snowball.patch" ) src_prepare() { cmake_src_prepare - rm -vrf contrib/{lua-bit,snowball,zstd} || die + rm -vrf contrib/{doctest,fmt,lua-{argparse,bit},snowball,xxhash,zstd} || die + + > cmake/Toolset.cmake || die #827550 sed -i -e 's/User=_rspamd/User=rspamd/g' \ rspamd.service \ @@ -78,16 +92,37 @@ src_configure() { -DRUNDIR=/var/run/rspamd -DDBDIR=/var/lib/rspamd -DLOGDIR=/var/log/rspamd + -DLIBDIR="/usr/$(get_libdir)/rspamd" + + -DSYSTEM_DOCTEST=ON + -DSYSTEM_FMT=ON + -DSYSTEM_XXHASH=ON + -DSYSTEM_ZSTD=ON + + # For bundled https://github.com/bombela/backward-cpp + # Bundled backward library uses execinfo.h in current setting, which is + # available in glibc, but not in musl. Let's enable it for glibc only. + -DENABLE_BACKWARD=$(usex elibc_glibc ON OFF) # bug 917643 + -DSTACK_DETAILS_AUTO_DETECT=OFF + -DENABLE_BLAS=$(usex blas ON OFF) - -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF) + -DENABLE_HYPERSCAN=$(usex hyperscan ON OFF) -DENABLE_JEMALLOC=$(usex jemalloc ON OFF) -DENABLE_LUAJIT=$(usex lua_single_target_luajit ON OFF) - -DENABLE_PCRE2=$(usex pcre2 ON OFF) + -DENABLE_PCRE2=ON + + -DBUILD_TESTING=$(usex test ON OFF) ) cmake_src_configure } src_test() { + # These variables ensure tests use Lua scripts from this package rather + # than the installed version. However, rspamd always first attempts to load + # from /etc/rspamd/lua, with no method to override this behavior. + LUA_PATH="${S}/contrib/lua-?/?.lua" \ + LUALIBDIR="${S}/lualib" \ + RULESDIR="${S}/lualib" \ cmake_src_test } |