summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2020-12-09 23:48:46 +0100
committerMarek Szuba <marecki@gentoo.org>2020-12-09 23:57:13 +0100
commit988d8128f29202023006ed0b299cbe6daefbebf9 (patch)
tree58d08dde1dd300183a291841b83a9d83cb3f87cd /mail-filter/rspamd
parentmail-filter/rspamd: limit unmigrated ebuilds to dev-lang/lua:0 (diff)
downloadgentoo-988d8128f29202023006ed0b299cbe6daefbebf9.tar.gz
gentoo-988d8128f29202023006ed0b299cbe6daefbebf9.tar.bz2
gentoo-988d8128f29202023006ed0b299cbe6daefbebf9.zip
mail-filter/rspamd: migrate to lua-single.eclass
Latest release and the live ebuild. Support lua5-{1..3} and luajit, as per upstream build scripts. Speaking of which, although the upstream logic for finding is the same as in FindLua.cmake (i.e. 5.3, 5.2, 5.1, stopping on the first one found) they use a different module which does support pkgconfig - so although a patch is still necessary, all it does is point cmake to the pkgconfig wrapper set up by lua-single. Closes: https://bugs.gentoo.org/752957 Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'mail-filter/rspamd')
-rw-r--r--mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch44
-rw-r--r--mail-filter/rspamd/rspamd-2.6-r100.ebuild117
-rw-r--r--mail-filter/rspamd/rspamd-9999.ebuild24
3 files changed, 174 insertions, 11 deletions
diff --git a/mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch b/mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch
new file mode 100644
index 000000000000..141b13dfa8af
--- /dev/null
+++ b/mail-filter/rspamd/files/rspamd-2.6-cmake-lua-version.patch
@@ -0,0 +1,44 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -139,40 +139,8 @@
+ ELSE(ENABLE_LUAJIT MATCHES "ON")
+
+ ProcessPackage(LIBLUA LIBRARY "lua"
+- "lua-5.3"
+- INCLUDE lua.h INCLUDE_SUFFIXES
+- "include/lua-5.3"
+- "include/lua5.3"
+- "include/lua53"
+- "include/lua"
+ ROOT ${LUA_ROOT}
+- MODULES lua53
+- OPTIONAL)
+-
+- IF (NOT WITH_LIBLUA)
+- ProcessPackage(LIBLUA LIBRARY "lua"
+- "lua-5.2"
+- INCLUDE lua.h INCLUDE_SUFFIXES
+- "include/lua-5.2"
+- "include/lua5.2"
+- "include/lua52"
+- "include/lua"
+- ROOT ${LUA_ROOT}
+- MODULES lua52
+- OPTIONAL)
+-
+- IF (NOT WITH_LIBLUA)
+- ProcessPackage(LIBLUA LIBRARY "lua"
+- "lua-5.1"
+- INCLUDE lua.h INCLUDE_SUFFIXES
+- "include/lua-5.1"
+- "include/lua5.1"
+- "include/lua51"
+- "include/lua"
+- ROOT ${LUA_ROOT}
+- MODULES lua51)
+- ENDIF()
+- ENDIF()
++ MODULES lua)
+ ENDIF(ENABLE_LUAJIT MATCHES "ON")
+
+ IF(ENABLE_JEMALLOC MATCHES "ON" AND NOT SANITIZE)
diff --git a/mail-filter/rspamd/rspamd-2.6-r100.ebuild b/mail-filter/rspamd/rspamd-2.6-r100.ebuild
new file mode 100644
index 000000000000..e8100951ee1d
--- /dev/null
+++ b/mail-filter/rspamd/rspamd-2.6-r100.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..3} luajit )
+
+inherit cmake lua-single pax-utils systemd tmpfiles
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rspamd/rspamd.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rspamd/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Rapid spam filtering system"
+HOMEPAGE="https://rspamd.com https://github.com/rspamd/rspamd"
+LICENSE="Apache-2.0 Boost-1.0 BSD BSD-1 BSD-2 CC0-1.0 LGPL-3 MIT public-domain unicode ZLIB"
+SLOT="0"
+IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit libressl pcre2"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ jit? ( lua_single_target_luajit )"
+
+RDEPEND="${LUA_DEPS}
+ $(lua_gen_cond_dep '
+ dev-lua/LuaBitOp[${LUA_USEDEP}]
+ ' lua5-{1,2})
+ acct-group/rspamd
+ acct-user/rspamd
+ app-arch/zstd
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/icu:=
+ dev-libs/libev
+ dev-libs/libsodium
+ dev-libs/snowball-stemmer
+ net-libs/libnsl
+ sys-apps/file
+ blas? (
+ virtual/blas
+ virtual/lapack
+ )
+ cpu_flags_x86_ssse3? ( dev-libs/hyperscan )
+ jemalloc? ( dev-libs/jemalloc )
+ !libressl? ( dev-libs/openssl:0=[-bindist] )
+ libressl? ( dev-libs/libressl:0= )
+ pcre2? ( dev-libs/libpcre2[jit=] )
+ !pcre2? ( dev-libs/libpcre[jit=] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/ragel
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/rspamd-2.6-cmake-lua-version.patch"
+ "${FILESDIR}/rspamd-2.6-unbundle-lua.patch"
+ "${FILESDIR}/rspamd-2.6-unbundle-zstd.patch"
+ "${FILESDIR}/rspamd-2.5-unbundle-snowball.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ rm -vrf contrib/{lua-bit,snowball,zstd} || die
+
+ sed -i -e 's/User=_rspamd/User=rspamd/g' \
+ rspamd.service \
+ || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCONFDIR=/etc/rspamd
+ -DRUNDIR=/var/run/rspamd
+ -DDBDIR=/var/lib/rspamd
+ -DLOGDIR=/var/log/rspamd
+ -DENABLE_BLAS=$(usex blas ON OFF)
+ -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF)
+ -DENABLE_JEMALLOC=$(usex jemalloc ON OFF)
+ -DENABLE_LUAJIT=$(usex lua_single_target_luajit ON OFF)
+ -DENABLE_PCRE2=$(usex pcre2 ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ newconfd "${FILESDIR}"/rspamd.conf rspamd
+ newinitd "${FILESDIR}/rspamd-r7.init" rspamd
+ systemd_newunit rspamd.service rspamd.service
+
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf
+
+ # Remove mprotect for JIT support
+ if use lua_single_target_luajit; then
+ pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-*
+ fi
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/rspamd-r1.logrotate rspamd
+
+ diropts -o rspamd -g rspamd
+ keepdir /var/{lib,log}/rspamd
+}
+
+pkg_postinst() {
+ tmpfiles_process "${PN}.conf"
+}
diff --git a/mail-filter/rspamd/rspamd-9999.ebuild b/mail-filter/rspamd/rspamd-9999.ebuild
index e51965b8983e..8f97da55c2b1 100644
--- a/mail-filter/rspamd/rspamd-9999.ebuild
+++ b/mail-filter/rspamd/rspamd-9999.ebuild
@@ -3,7 +3,9 @@
EAPI=7
-inherit cmake pax-utils systemd tmpfiles
+LUA_COMPAT=( lua5-{1..3} luajit )
+
+inherit cmake lua-single pax-utils systemd tmpfiles
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/rspamd/rspamd.git"
@@ -19,7 +21,13 @@ LICENSE="Apache-2.0 Boost-1.0 BSD BSD-1 BSD-2 CC0-1.0 LGPL-3 MIT public-domain u
SLOT="0"
IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit libressl pcre2"
-RDEPEND="
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ jit? ( lua_single_target_luajit )"
+
+RDEPEND="${LUA_DEPS}
+ $(lua_gen_cond_dep '
+ dev-lua/LuaBitOp[${LUA_USEDEP}]
+ ' lua5-{1,2})
acct-group/rspamd
acct-user/rspamd
app-arch/zstd
@@ -37,13 +45,6 @@ RDEPEND="
)
cpu_flags_x86_ssse3? ( dev-libs/hyperscan )
jemalloc? ( dev-libs/jemalloc )
- jit? (
- dev-lang/luajit:2
- )
- !jit? (
- dev-lang/lua:*
- dev-lua/LuaBitOp
- )
!libressl? ( dev-libs/openssl:0=[-bindist] )
libressl? ( dev-libs/libressl:0= )
pcre2? ( dev-libs/libpcre2[jit=] )
@@ -55,6 +56,7 @@ BDEPEND="
"
PATCHES=(
+ "${FILESDIR}/rspamd-2.6-cmake-lua-version.patch"
"${FILESDIR}/rspamd-2.6-unbundle-lua.patch"
"${FILESDIR}/rspamd-9999-unbundle-zstd.patch"
"${FILESDIR}/rspamd-2.5-unbundle-snowball.patch"
@@ -79,7 +81,7 @@ src_configure() {
-DENABLE_BLAS=$(usex blas ON OFF)
-DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF)
-DENABLE_JEMALLOC=$(usex jemalloc ON OFF)
- -DENABLE_LUAJIT=$(usex jit ON OFF)
+ -DENABLE_LUAJIT=$(usex lua_single_target_luajit ON OFF)
-DENABLE_PCRE2=$(usex pcre2 ON OFF)
)
cmake_src_configure
@@ -99,7 +101,7 @@ src_install() {
newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf
# Remove mprotect for JIT support
- if use jit; then
+ if use lua_single_target_luajit; then
pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-*
fi