1 |
commit: b097209aecec050012ffa8b6f80f5e4d56308abd |
2 |
Author: Petr Vaněk <arkamar <AT> atlas <DOT> cz> |
3 |
AuthorDate: Mon Sep 6 06:15:55 2021 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Sep 7 20:25:00 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b097209a |
7 |
|
8 |
mail-filter/rspamd: use system dev-cpp/doctest |
9 |
|
10 |
This backports patch already merged to upstream, which allows us to use |
11 |
system dev-cpp/doctest library rather than bundled one. Rspamd bundles |
12 |
doctest-2.4.5 which fails to build with glibc-2.34. |
13 |
|
14 |
Closes: https://bugs.gentoo.org/811318 |
15 |
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz> |
16 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
17 |
|
18 |
.../rspamd/files/rspamd-3.0-system-doctest.patch | 72 ++++++++++++++++++++++ |
19 |
.../{rspamd-3.0-r2.ebuild => rspamd-3.0-r3.ebuild} | 5 +- |
20 |
2 files changed, 76 insertions(+), 1 deletion(-) |
21 |
|
22 |
diff --git a/mail-filter/rspamd/files/rspamd-3.0-system-doctest.patch b/mail-filter/rspamd/files/rspamd-3.0-system-doctest.patch |
23 |
new file mode 100644 |
24 |
index 00000000000..bb315ee7a45 |
25 |
--- /dev/null |
26 |
+++ b/mail-filter/rspamd/files/rspamd-3.0-system-doctest.patch |
27 |
@@ -0,0 +1,72 @@ |
28 |
+From d37a3764e9889e6de0a7341ba3195ee8a314de23 Mon Sep 17 00:00:00 2001 |
29 |
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@×××××.cz> |
30 |
+Date: Wed, 1 Sep 2021 13:30:56 +0200 |
31 |
+Subject: [PATCH] Add SYSTEM_DOCTEST cmake option |
32 |
+ |
33 |
+This gives packagers option to use system version of doctest rather than |
34 |
+bundled one. It is disabled by default. Additionally, there is no need |
35 |
+to link rspamd-test-cxx with doctest as it is is single header library. |
36 |
+ |
37 |
+Main reason for this change is that currently bundled version of |
38 |
+doctest-2.4.5 can't compile with glibc-2.34 [1]. However, this issue was |
39 |
+already fixed in upstream doctest-2.4.6 [2] in commit [3]. With this, |
40 |
+packagers can just bump doctest to fixed version. |
41 |
+ |
42 |
+[1] https://github.com/onqtam/doctest/issues/473 |
43 |
+[2] https://github.com/onqtam/doctest/blob/master/CHANGELOG.md#246-2021-03-22 |
44 |
+[3] https://github.com/onqtam/doctest/commit/099d5414e97244ec44cf46b14cd176b3a3dc52e3 |
45 |
+--- |
46 |
+ |
47 |
+Merged-to-upstream: https://github.com/rspamd/rspamd/pull/3875 |
48 |
+ |
49 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
50 |
+index fc4175677..ced49730d 100644 |
51 |
+--- a/CMakeLists.txt |
52 |
++++ b/CMakeLists.txt |
53 |
+@@ -59,6 +59,7 @@ OPTION(ENABLE_LUA_TRACE "Trace all Lua C API invocations [default: OFF]" OFF) |
54 |
+ OPTION(ENABLE_LUA_REPL "Enables Lua repl (requires C++11 compiler) [default: ON]" ON) |
55 |
+ OPTION(SYSTEM_ZSTD "Use system zstd instead of bundled one [default: OFF]" OFF) |
56 |
+ OPTION(SYSTEM_FMT "Use system fmt instead of bundled one [defalut: OFF]" OFF) |
57 |
++OPTION(SYSTEM_DOCTEST "Use system doctest instead of bundled one [default: OFF]" OFF) |
58 |
+ |
59 |
+ ############################# INCLUDE SECTION ############################################# |
60 |
+ |
61 |
+@@ -118,7 +119,6 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/" |
62 |
+ "${CMAKE_SOURCE_DIR}/contrib/lc-btrie" |
63 |
+ "${CMAKE_SOURCE_DIR}/contrib/lua-lpeg" |
64 |
+ "${CMAKE_SOURCE_DIR}/contrib/frozen/include" |
65 |
+- "${CMAKE_SOURCE_DIR}/contrib/doctest" |
66 |
+ "${CMAKE_SOURCE_DIR}/contrib/fu2/include" |
67 |
+ "${CMAKE_BINARY_DIR}/src" #Stored in the binary dir |
68 |
+ "${CMAKE_BINARY_DIR}/src/libcryptobox") |
69 |
+@@ -656,7 +656,12 @@ IF(SYSTEM_FMT MATCHES "OFF") |
70 |
+ ELSE() |
71 |
+ find_package(fmt) |
72 |
+ ENDIF() |
73 |
+-ADD_SUBDIRECTORY(contrib/doctest) |
74 |
++IF(SYSTEM_DOCTEST MATCHES "OFF") |
75 |
++ ADD_SUBDIRECTORY(contrib/doctest) |
76 |
++ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/contrib/doctest") |
77 |
++ELSE() |
78 |
++ find_package(doctest) |
79 |
++ENDIF() |
80 |
+ |
81 |
+ IF (NOT WITH_LUAJIT) |
82 |
+ ADD_SUBDIRECTORY(contrib/lua-bit) |
83 |
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt |
84 |
+index 9e56cbad7..08e9556f3 100644 |
85 |
+--- a/test/CMakeLists.txt |
86 |
++++ b/test/CMakeLists.txt |
87 |
+@@ -24,9 +24,7 @@ SET(CXXTESTSSRC rspamd_cxx_unit.cxx) |
88 |
+ ADD_EXECUTABLE(rspamd-test-cxx EXCLUDE_FROM_ALL ${CXXTESTSSRC}) |
89 |
+ SET_TARGET_PROPERTIES(rspamd-test-cxx PROPERTIES LINKER_LANGUAGE CXX) |
90 |
+ ADD_DEPENDENCIES(rspamd-test-cxx rspamd-server) |
91 |
+-ADD_DEPENDENCIES(rspamd-test-cxx doctest) |
92 |
+ TARGET_LINK_LIBRARIES(rspamd-test-cxx PRIVATE rspamd-server) |
93 |
+-TARGET_LINK_LIBRARIES(rspamd-test-cxx PRIVATE doctest) |
94 |
+ SET_TARGET_PROPERTIES(rspamd-test-cxx PROPERTIES LINKER_LANGUAGE CXX) |
95 |
+ |
96 |
+ IF(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}") |
97 |
+-- |
98 |
+2.31.1 |
99 |
+ |
100 |
|
101 |
diff --git a/mail-filter/rspamd/rspamd-3.0-r2.ebuild b/mail-filter/rspamd/rspamd-3.0-r3.ebuild |
102 |
similarity index 95% |
103 |
rename from mail-filter/rspamd/rspamd-3.0-r2.ebuild |
104 |
rename to mail-filter/rspamd/rspamd-3.0-r3.ebuild |
105 |
index 30065ff095b..1ff4af0796e 100644 |
106 |
--- a/mail-filter/rspamd/rspamd-3.0-r2.ebuild |
107 |
+++ b/mail-filter/rspamd/rspamd-3.0-r3.ebuild |
108 |
@@ -35,6 +35,7 @@ RDEPEND="${LUA_DEPS} |
109 |
acct-user/rspamd |
110 |
app-arch/zstd:= |
111 |
dev-db/sqlite:3 |
112 |
+ dev-cpp/doctest |
113 |
dev-libs/glib:2 |
114 |
dev-libs/icu:= |
115 |
dev-libs/libev |
116 |
@@ -60,6 +61,7 @@ BDEPEND=" |
117 |
PATCHES=( |
118 |
"${FILESDIR}/${P}-cmake-lua-version.patch" |
119 |
"${FILESDIR}/${P}-system-libfmt.patch" |
120 |
+ "${FILESDIR}/${P}-system-doctest.patch" |
121 |
"${FILESDIR}/${P}-fix-null-dereference.patch" |
122 |
"${FILESDIR}/${PN}-2.6-unbundle-lua.patch" |
123 |
"${FILESDIR}/${PN}-2.5-unbundle-snowball.patch" |
124 |
@@ -68,7 +70,7 @@ PATCHES=( |
125 |
src_prepare() { |
126 |
cmake_src_prepare |
127 |
|
128 |
- rm -vrf contrib/{fmt,lua-bit,snowball,zstd} || die |
129 |
+ rm -vrf contrib/{doctest,fmt,lua-bit,snowball,zstd} || die |
130 |
|
131 |
sed -i -e 's/User=_rspamd/User=rspamd/g' \ |
132 |
rspamd.service \ |
133 |
@@ -82,6 +84,7 @@ src_configure() { |
134 |
-DDBDIR=/var/lib/rspamd |
135 |
-DLOGDIR=/var/log/rspamd |
136 |
|
137 |
+ -DSYSTEM_DOCTEST=ON |
138 |
-DSYSTEM_FMT=ON |
139 |
-DSYSTEM_ZSTD=ON |