Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-filter/rspamd/files/, mail-filter/rspamd/
Date: Sun, 22 Aug 2021 02:50:17
Message-Id: 1629600541.9545e21cc8b4178834e21537b9ff74f9c1032412.sam@gentoo
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 +}