summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Vaněk <arkamar@gentoo.org>2024-10-02 19:36:00 +0200
committerPetr Vaněk <arkamar@gentoo.org>2024-10-02 19:43:51 +0200
commita420be1dffb7d144cda2161519165a47d1c22d45 (patch)
treec6a3bee7cfeae8dd3fc48726153ad0f42484ddac /mail-filter
parentnet-misc/httpie: remove unused patch (diff)
downloadgentoo-a420be1dffb7d144cda2161519165a47d1c22d45.tar.gz
gentoo-a420be1dffb7d144cda2161519165a47d1c22d45.tar.bz2
gentoo-a420be1dffb7d144cda2161519165a47d1c22d45.zip
mail-filter/rspamd: fix build issue with lua5-{3,4}
Backport patch, which fixes a build issue with Lua 5.3 and 5.4. Issue: https://github.com/rspamd/rspamd/issues/5163 Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/rspamd/files/rspamd-3.10.0-libucl-type.patch36
-rw-r--r--mail-filter/rspamd/rspamd-3.10.0-r1.ebuild (renamed from mail-filter/rspamd/rspamd-3.10.0.ebuild)3
2 files changed, 39 insertions, 0 deletions
diff --git a/mail-filter/rspamd/files/rspamd-3.10.0-libucl-type.patch b/mail-filter/rspamd/files/rspamd-3.10.0-libucl-type.patch
new file mode 100644
index 000000000000..25d4c32d26ff
--- /dev/null
+++ b/mail-filter/rspamd/files/rspamd-3.10.0-libucl-type.patch
@@ -0,0 +1,36 @@
+From 3041484f859f3d8cc2275c5189280c31ff3ffeda Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
+Date: Wed, 2 Oct 2024 15:01:07 +0200
+Subject: [PATCH] [Fix] Use correct type for keylen in lua_ucl_newindex
+
+The keylen variable used in lua_ucl_newindex function should use size_t
+type instead of lua_Integer, because all functions that use keylen
+expect it to be of size_t type. This mismatch leads to incompatible
+pointer types, and modern versions of GCC fail to compile the code.
+
+Fixes: 9e87597ceb05 ("[Project] Allow manipulations with opaque UCL objects")
+Issue: https://github.com/rspamd/rspamd/issues/5163
+PR: https://github.com/rspamd/rspamd/pull/5169
+
+diff --git a/contrib/libucl/lua_ucl.c b/contrib/libucl/lua_ucl.c
+index 19ac9cb127..473aefe0cf 100644
+--- a/contrib/libucl/lua_ucl.c
++++ b/contrib/libucl/lua_ucl.c
+@@ -1426,7 +1426,7 @@ lua_ucl_newindex(lua_State *L)
+
+ if (ucl_object_type(obj) == UCL_OBJECT) {
+ if (key_type == LUA_TSTRING) {
+- lua_Integer keylen;
++ size_t keylen;
+ const char *key = lua_tolstring(L, 2, &keylen);
+
+ ucl_object_t *value_obj = lua_ucl_object_get(L, 3);
+@@ -1539,7 +1539,7 @@ lua_ucl_newindex(lua_State *L)
+ obj->value.av = NULL;
+ obj->type = UCL_OBJECT;
+
+- lua_Integer keylen;
++ size_t keylen;
+ const char *key = lua_tolstring(L, 2, &keylen);
+
+ ucl_object_t *value_obj = lua_ucl_object_get(L, 3);
diff --git a/mail-filter/rspamd/rspamd-3.10.0.ebuild b/mail-filter/rspamd/rspamd-3.10.0-r1.ebuild
index 45df6738554b..8fb906ba42cb 100644
--- a/mail-filter/rspamd/rspamd-3.10.0.ebuild
+++ b/mail-filter/rspamd/rspamd-3.10.0-r1.ebuild
@@ -75,6 +75,9 @@ PATCHES=(
# backward compatibility with <dev-libs/libfmt-11
"${FILESDIR}/${PN}-3.9.0-older-libfmt.patch"
+
+ # see https://github.com/rspamd/rspamd/issues/5163
+ "${FILESDIR}/${P}-libucl-type.patch"
)
src_prepare() {