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/, mail-filter/rspamd/files/
Date: Tue, 07 Sep 2021 20:25:29
Message-Id: 1631046300.b097209aecec050012ffa8b6f80f5e4d56308abd.sam@gentoo
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