1 |
commit: 9545e21cc8b4178834e21537b9ff74f9c1032412 |
2 |
Author: Petr Vaněk <arkamar <AT> atlas <DOT> cz> |
3 |
AuthorDate: Sat Aug 21 20:50:40 2021 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Aug 22 02:49:01 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9545e21c |
7 |
|
8 |
mail-filter/rspamd: add 3.0 |
9 |
|
10 |
- Use new -DSYSTEM_ZSTD=ON instead of unbundle patch |
11 |
- Apply patch for -DSYSTEM_FMT=ON, it is already merged in upstream |
12 |
- Make the src_test work |
13 |
|
14 |
Closes: https://bugs.gentoo.org/809308 |
15 |
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz> |
16 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
17 |
|
18 |
mail-filter/rspamd/Manifest | 1 + |
19 |
.../files/rspamd-3.0-cmake-lua-version.patch | 64 +++++++++++ |
20 |
.../rspamd/files/rspamd-3.0-system-libfmt.patch | 48 ++++++++ |
21 |
mail-filter/rspamd/rspamd-3.0.ebuild | 123 +++++++++++++++++++++ |
22 |
4 files changed, 236 insertions(+) |
23 |
|
24 |
diff --git a/mail-filter/rspamd/Manifest b/mail-filter/rspamd/Manifest |
25 |
index df4f86e665d..48c11b72f36 100644 |
26 |
--- a/mail-filter/rspamd/Manifest |
27 |
+++ b/mail-filter/rspamd/Manifest |
28 |
@@ -1,2 +1,3 @@ |
29 |
DIST rspamd-2.6.tar.gz 5079444 BLAKE2B acb9d9471d0bb457da33b4d23e3c75ef87ea26a47e6c731bfd5fbbfe28567244e2bc72fd25ca3408db0928dab4e4ab66596e38cf3eff7cb9690eec59d3b62372 SHA512 79e4c1aa763aef753c8d7b2a941ed92b384e96c25e6d1b3bd1321c5acc0ecb934d033a3bf19cb94c89809fd92edec25192cffe97de9e5251681e1a71216b734a |
30 |
DIST rspamd-2.7.tar.gz 5126227 BLAKE2B 70f57dba6ac9abe93d735d42e84bd17a1797035322029577a8e4376409bcee5345d4624925d3dd071bddce038858ebfdce8ee4f87f81b1fc8b1f71ad14e85930 SHA512 8779771baf85ef6ca1d7d2180429072ab1547ab834b073ee9222dcc6494efdd0a23f5e7ac52a777c23fd89296769f5b6f182593e714097c6f11ca7c9165e4ba7 |
31 |
+DIST rspamd-3.0.tar.gz 5535659 BLAKE2B 605ac59b947b49efb026e04d153df5fc0d56c65712def3f2c54a949db32b8534e634d172a1899cc08e98e0a9da839fc00f0f569dc8c52a743f38bd71b8abaeaa SHA512 1ea6f9ffe58b7f280dbd31e39db6412ebeddda634ca8a669fa5bff2951d17123a5d4a09ec0f366c6b0c0b585f868e646fd49e4d45bd451408675b927ec2557c4 |
32 |
|
33 |
diff --git a/mail-filter/rspamd/files/rspamd-3.0-cmake-lua-version.patch b/mail-filter/rspamd/files/rspamd-3.0-cmake-lua-version.patch |
34 |
new file mode 100644 |
35 |
index 00000000000..55665b887c3 |
36 |
--- /dev/null |
37 |
+++ b/mail-filter/rspamd/files/rspamd-3.0-cmake-lua-version.patch |
38 |
@@ -0,0 +1,64 @@ |
39 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
40 |
+index b53793008..5d092d654 100644 |
41 |
+--- a/CMakeLists.txt |
42 |
++++ b/CMakeLists.txt |
43 |
+@@ -147,55 +147,8 @@ IF(ENABLE_LUAJIT MATCHES "ON") |
44 |
+ ELSE(ENABLE_LUAJIT MATCHES "ON") |
45 |
+ |
46 |
+ ProcessPackage(LIBLUA LIBRARY "lua" |
47 |
+- "lua-5.3" |
48 |
+- LIB_SUFFIXES "lua5.3" |
49 |
+- INCLUDE lua.h INCLUDE_SUFFIXES |
50 |
+- "include/lua-5.3" |
51 |
+- "include/lua5.3" |
52 |
+- "include/lua53" |
53 |
+- "include/lua" |
54 |
+ ROOT ${LUA_ROOT} |
55 |
+- MODULES lua53 |
56 |
+- OPTIONAL) |
57 |
+- |
58 |
+- IF (NOT WITH_LIBLUA) |
59 |
+- ProcessPackage(LIBLUA LIBRARY "lua" |
60 |
+- "lua-5.4" |
61 |
+- LIB_SUFFIXES "lua5.4" |
62 |
+- INCLUDE lua.h INCLUDE_SUFFIXES |
63 |
+- "include/lua-5.4" |
64 |
+- "include/lua5.4" |
65 |
+- "include/lua54" |
66 |
+- "include/lua" |
67 |
+- ROOT ${LUA_ROOT} |
68 |
+- MODULES lua54 |
69 |
+- OPTIONAL) |
70 |
+- IF (NOT WITH_LIBLUA) |
71 |
+- ProcessPackage(LIBLUA LIBRARY "lua" |
72 |
+- "lua-5.2" |
73 |
+- LIB_SUFFIXES "lua5.2" |
74 |
+- INCLUDE lua.h INCLUDE_SUFFIXES |
75 |
+- "include/lua-5.2" |
76 |
+- "include/lua5.2" |
77 |
+- "include/lua52" |
78 |
+- "include/lua" |
79 |
+- ROOT ${LUA_ROOT} |
80 |
+- MODULES lua52 |
81 |
+- OPTIONAL) |
82 |
+- |
83 |
+- IF (NOT WITH_LIBLUA) |
84 |
+- ProcessPackage(LIBLUA LIBRARY "lua" |
85 |
+- "lua-5.1" |
86 |
+- INCLUDE lua.h INCLUDE_SUFFIXES |
87 |
+- "include/lua-5.1" |
88 |
+- "include/lua5.1" |
89 |
+- "include/lua51" |
90 |
+- "include/lua" |
91 |
+- ROOT ${LUA_ROOT} |
92 |
+- MODULES lua51) |
93 |
+- ENDIF() |
94 |
+- ENDIF() |
95 |
+- ENDIF() |
96 |
++ MODULES lua) |
97 |
+ ENDIF(ENABLE_LUAJIT MATCHES "ON") |
98 |
+ |
99 |
+ IF(ENABLE_JEMALLOC MATCHES "ON" AND NOT SANITIZE) |
100 |
+-- |
101 |
+2.26.3 |
102 |
+ |
103 |
|
104 |
diff --git a/mail-filter/rspamd/files/rspamd-3.0-system-libfmt.patch b/mail-filter/rspamd/files/rspamd-3.0-system-libfmt.patch |
105 |
new file mode 100644 |
106 |
index 00000000000..a6439b465e9 |
107 |
--- /dev/null |
108 |
+++ b/mail-filter/rspamd/files/rspamd-3.0-system-libfmt.patch |
109 |
@@ -0,0 +1,48 @@ |
110 |
+From 309bb213cffb23e6bee98157b53cf5db31f97ef9 Mon Sep 17 00:00:00 2001 |
111 |
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@×××××.cz> |
112 |
+Date: Sat, 21 Aug 2021 11:24:35 +0200 |
113 |
+Subject: [PATCH] Add SYSTEM_FMT cmake option |
114 |
+ |
115 |
+This gives packagers option to use system version of fmt rather than |
116 |
+bundled one. It is disabled by default. |
117 |
+--- |
118 |
+ |
119 |
+Merged-to-upstream: https://github.com/rspamd/rspamd/pull/3855 |
120 |
+ |
121 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
122 |
+index 2c38758f3..fc4175677 100644 |
123 |
+--- a/CMakeLists.txt |
124 |
++++ b/CMakeLists.txt |
125 |
+@@ -58,6 +58,7 @@ OPTION(ENABLE_LIBUNWIND "Use libunwind to print crash traces [default: OFF]" |
126 |
+ OPTION(ENABLE_LUA_TRACE "Trace all Lua C API invocations [default: OFF]" OFF) |
127 |
+ OPTION(ENABLE_LUA_REPL "Enables Lua repl (requires C++11 compiler) [default: ON]" ON) |
128 |
+ OPTION(SYSTEM_ZSTD "Use system zstd instead of bundled one [default: OFF]" OFF) |
129 |
++OPTION(SYSTEM_FMT "Use system fmt instead of bundled one [defalut: OFF]" OFF) |
130 |
+ |
131 |
+ ############################# INCLUDE SECTION ############################################# |
132 |
+ |
133 |
+@@ -117,7 +118,6 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/" |
134 |
+ "${CMAKE_SOURCE_DIR}/contrib/lc-btrie" |
135 |
+ "${CMAKE_SOURCE_DIR}/contrib/lua-lpeg" |
136 |
+ "${CMAKE_SOURCE_DIR}/contrib/frozen/include" |
137 |
+- "${CMAKE_SOURCE_DIR}/contrib/fmt/include" |
138 |
+ "${CMAKE_SOURCE_DIR}/contrib/doctest" |
139 |
+ "${CMAKE_SOURCE_DIR}/contrib/fu2/include" |
140 |
+ "${CMAKE_BINARY_DIR}/src" #Stored in the binary dir |
141 |
+@@ -650,7 +650,12 @@ ADD_SUBDIRECTORY(contrib/libev) |
142 |
+ ADD_SUBDIRECTORY(contrib/kann) |
143 |
+ ADD_SUBDIRECTORY(contrib/fastutf8) |
144 |
+ ADD_SUBDIRECTORY(contrib/google-ced) |
145 |
+-ADD_SUBDIRECTORY(contrib/fmt) |
146 |
++IF(SYSTEM_FMT MATCHES "OFF") |
147 |
++ ADD_SUBDIRECTORY(contrib/fmt) |
148 |
++ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/contrib/fmt/include") |
149 |
++ELSE() |
150 |
++ find_package(fmt) |
151 |
++ENDIF() |
152 |
+ ADD_SUBDIRECTORY(contrib/doctest) |
153 |
+ |
154 |
+ IF (NOT WITH_LUAJIT) |
155 |
+-- |
156 |
+2.31.1 |
157 |
+ |
158 |
|
159 |
diff --git a/mail-filter/rspamd/rspamd-3.0.ebuild b/mail-filter/rspamd/rspamd-3.0.ebuild |
160 |
new file mode 100644 |
161 |
index 00000000000..1a472d6db57 |
162 |
--- /dev/null |
163 |
+++ b/mail-filter/rspamd/rspamd-3.0.ebuild |
164 |
@@ -0,0 +1,123 @@ |
165 |
+# Copyright 1999-2021 Gentoo Authors |
166 |
+# Distributed under the terms of the GNU General Public License v2 |
167 |
+ |
168 |
+EAPI=7 |
169 |
+ |
170 |
+LUA_COMPAT=( lua5-{1..3} luajit ) |
171 |
+ |
172 |
+inherit cmake lua-single pax-utils systemd tmpfiles |
173 |
+ |
174 |
+if [[ ${PV} == *9999 ]] ; then |
175 |
+ EGIT_REPO_URI="https://github.com/rspamd/rspamd.git" |
176 |
+ inherit git-r3 |
177 |
+else |
178 |
+ SRC_URI="https://github.com/rspamd/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz" |
179 |
+ KEYWORDS="~amd64 ~x86" |
180 |
+fi |
181 |
+ |
182 |
+DESCRIPTION="Rapid spam filtering system" |
183 |
+HOMEPAGE="https://rspamd.com https://github.com/rspamd/rspamd" |
184 |
+LICENSE="Apache-2.0 Boost-1.0 BSD BSD-1 BSD-2 CC0-1.0 LGPL-3 MIT public-domain unicode ZLIB" |
185 |
+SLOT="0" |
186 |
+IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit pcre2 test" |
187 |
+RESTRICT="!test? ( test )" |
188 |
+ |
189 |
+# A part of tests use ffi luajit extension |
190 |
+REQUIRED_USE="${LUA_REQUIRED_USE} |
191 |
+ jit? ( lua_single_target_luajit ) |
192 |
+ test? ( lua_single_target_luajit )" |
193 |
+ |
194 |
+RDEPEND="${LUA_DEPS} |
195 |
+ $(lua_gen_cond_dep ' |
196 |
+ dev-lua/LuaBitOp[${LUA_USEDEP}] |
197 |
+ ' lua5-{1,2}) |
198 |
+ acct-group/rspamd |
199 |
+ acct-user/rspamd |
200 |
+ app-arch/zstd:= |
201 |
+ dev-db/sqlite:3 |
202 |
+ dev-libs/glib:2 |
203 |
+ dev-libs/icu:= |
204 |
+ dev-libs/libev |
205 |
+ dev-libs/libfmt:= |
206 |
+ dev-libs/libsodium:= |
207 |
+ dev-libs/snowball-stemmer |
208 |
+ sys-apps/file |
209 |
+ blas? ( |
210 |
+ virtual/blas |
211 |
+ virtual/lapack |
212 |
+ ) |
213 |
+ cpu_flags_x86_ssse3? ( dev-libs/hyperscan ) |
214 |
+ jemalloc? ( dev-libs/jemalloc:= ) |
215 |
+ dev-libs/openssl:0=[-bindist(-)] |
216 |
+ pcre2? ( dev-libs/libpcre2:=[jit=] ) |
217 |
+ !pcre2? ( dev-libs/libpcre[jit=] )" |
218 |
+DEPEND="${RDEPEND}" |
219 |
+BDEPEND=" |
220 |
+ dev-util/ragel |
221 |
+ virtual/pkgconfig |
222 |
+" |
223 |
+ |
224 |
+PATCHES=( |
225 |
+ "${FILESDIR}/${P}-cmake-lua-version.patch" |
226 |
+ "${FILESDIR}/${P}-system-libfmt.patch" |
227 |
+ "${FILESDIR}/${PN}-2.6-unbundle-lua.patch" |
228 |
+ "${FILESDIR}/${PN}-2.5-unbundle-snowball.patch" |
229 |
+) |
230 |
+ |
231 |
+src_prepare() { |
232 |
+ cmake_src_prepare |
233 |
+ |
234 |
+ rm -vrf contrib/{fmt,lua-bit,snowball,zstd} || die |
235 |
+ |
236 |
+ sed -i -e 's/User=_rspamd/User=rspamd/g' \ |
237 |
+ rspamd.service \ |
238 |
+ || die |
239 |
+} |
240 |
+ |
241 |
+src_configure() { |
242 |
+ local mycmakeargs=( |
243 |
+ -DCONFDIR=/etc/rspamd |
244 |
+ -DRUNDIR=/var/run/rspamd |
245 |
+ -DDBDIR=/var/lib/rspamd |
246 |
+ -DLOGDIR=/var/log/rspamd |
247 |
+ |
248 |
+ -DSYSTEM_FMT=ON |
249 |
+ -DSYSTEM_ZSTD=ON |
250 |
+ |
251 |
+ -DENABLE_BLAS=$(usex blas ON OFF) |
252 |
+ -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF) |
253 |
+ -DENABLE_JEMALLOC=$(usex jemalloc ON OFF) |
254 |
+ -DENABLE_LUAJIT=$(usex lua_single_target_luajit ON OFF) |
255 |
+ -DENABLE_PCRE2=$(usex pcre2 ON OFF) |
256 |
+ ) |
257 |
+ cmake_src_configure |
258 |
+} |
259 |
+ |
260 |
+src_test() { |
261 |
+ cmake_build run-test |
262 |
+} |
263 |
+ |
264 |
+src_install() { |
265 |
+ cmake_src_install |
266 |
+ |
267 |
+ newconfd "${FILESDIR}"/rspamd.conf rspamd |
268 |
+ newinitd "${FILESDIR}/rspamd-r7.init" rspamd |
269 |
+ systemd_newunit rspamd.service rspamd.service |
270 |
+ |
271 |
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf |
272 |
+ |
273 |
+ # Remove mprotect for JIT support |
274 |
+ if use lua_single_target_luajit; then |
275 |
+ pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-* |
276 |
+ fi |
277 |
+ |
278 |
+ insinto /etc/logrotate.d |
279 |
+ newins "${FILESDIR}"/rspamd-r1.logrotate rspamd |
280 |
+ |
281 |
+ diropts -o rspamd -g rspamd |
282 |
+ keepdir /var/{lib,log}/rspamd |
283 |
+} |
284 |
+ |
285 |
+pkg_postinst() { |
286 |
+ tmpfiles_process "${PN}.conf" |
287 |
+} |