mail-filter/rspamd: version bump to 2.1
authorDirkjan Ochtman <djc@gentoo.org>
Mon, 4 Nov 2019 11:22:17 +0000 (12:22 +0100)
committerDirkjan Ochtman <djc@gentoo.org>
Mon, 4 Nov 2019 11:22:30 +0000 (12:22 +0100)
Closes: https://bugs.gentoo.org/698902
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Dirkjan Ochtman <djc@gentoo.org>
mail-filter/rspamd/Manifest
mail-filter/rspamd/files/rspamd-r7.init [new file with mode: 0644]
mail-filter/rspamd/rspamd-2.1.ebuild [new file with mode: 0644]
mail-filter/rspamd/rspamd-9999.ebuild

index 327573159301f8913785e814fcc65adcebec1bc9..b4131458c7cc6842f6d5674c5c61eaa933f70af3 100644 (file)
@@ -1,3 +1,4 @@
 DIST rspamd-1.8.3.tar.gz 4319623 BLAKE2B b7fdd6791df5899710bb1d696a9b94d1840335b6a34d6cdeebc2b5eebe9f4e5b6da3e90ed9ab5e3945aab7ef33f54f048024b51c3de37db1a083ad89c656b456 SHA512 5e20255466fe2cd4842196fb2138732b59911de655e73d9cc13009b5179b84e5a2060083961b35fe40b9f550f8e18067056415a1d803fac54fac000070024c01
 DIST rspamd-1.9.0.tar.gz 4402395 BLAKE2B 11f90fc232496b493296ef0fb9ff4118ac11863528cd6a52bcae6adbdc09ce86453bb39df35714702fcd5c6a535007ec402a580bd735abbddeeb154ff8807219 SHA512 fee2a60c10fbab087b12d9188974a0c47417a9894308f66980eb6311496b16661194d858d1e522d2d524b3e359f2f3ad88535421d1dc05be26414b5a346afec6
 DIST rspamd-1.9.4.tar.gz 4476230 BLAKE2B e4866fb8fd97210e77b75d948ae97f038eccc33ec9f6214693579e5d84210c87ff9258204f466ffe6bea780159d24d819aaf393a06dbf2785659a784e4f4e8b6 SHA512 3acecec6adb91580ac2ad96419fdc9588b120ec5a3b4a44135fc5a3e7c15f2dbc99963a8337f9effb9423846489545a55d89d1849c5ba62d8cd91dc67c32d8dc
+DIST rspamd-2.1.tar.gz 4232297 BLAKE2B 4685fa404e5a66d2295da57ece8ce1830507b3464c5136952dbb85847a5002c9c45c4f5430d0d60bc199f3aeafde7abf3ac218451f1609b81a5edfd4d0394588 SHA512 7ecd42e9196ccad29a18bb3e6153fd13d3564c1630c4ec88c712d180f789ad2c36755bfeff65e8dd82737debfb5530a6ec4eb401b49dd82b9eb1dbdea991f84f
diff --git a/mail-filter/rspamd/files/rspamd-r7.init b/mail-filter/rspamd/files/rspamd-r7.init
new file mode 100644 (file)
index 0000000..311fde9
--- /dev/null
@@ -0,0 +1,55 @@
+#!/sbin/openrc-run
+# Copyright 2015-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+RSPAMD_CONFIGFILE=${RSPAMD_CONFIGFILE:-"/etc/rspamd/rspamd.conf"}
+RSPAMD_GROUP=${RSPAMD_GROUP:-rspamd}
+RSPAMD_OPTS=${RSPAMD_OPTS:-""}
+RSPAMD_PIDFILE=${RSPAMD_PIDFILE:-"/run/rspamd.pid"}
+RSPAMD_USER=${RSPAMD_USER:-rspamd}
+
+command="/usr/bin/rspamd"
+command_rspamadm="/usr/bin/rspamadm"
+command_args="${RSPAMD_OPTS} -c \"${RSPAMD_CONFIGFILE}\" -u ${RSPAMD_USER} -g ${RSPAMD_GROUP} --pid \"${RSPAMD_PIDFILE}\""
+start_stop_daemon_args=${RSPAMD_SSDARGS:-"--wait 1000"}
+pidfile="${RSPAMD_PIDFILE}"
+retry=${RSPAMD_TERMTIMEOUT:-"TERM/60/KILL/5"}
+
+required_files="${RSPAMD_CONFIGFILE}"
+
+description="Rapid spam filtering system"
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+description_checkconfig="Validate rspamd's configuration"
+description_reload="Sends rspamd a signal to reload its configuration"
+
+depend() {
+       before mta
+       use dns redis
+}
+
+checkconfig() {
+       ${command_rspamadm} configtest 1>/dev/null || return 1
+}
+
+reload() {
+       checkconfig || return 1
+
+       ebegin "Reloading ${SVCNAME}"
+       start-stop-daemon --signal HUP --pidfile "${pidfile}"
+       eend $?
+}
+
+start_pre() {
+       if [ "${RC_CMD}" != "restart" ]; then
+               checkconfig || return 1
+       fi
+}
+
+stop_pre() {
+       if [ "${RC_CMD}" = "restart" ]; then
+               checkconfig || return 1
+       fi
+}
diff --git a/mail-filter/rspamd/rspamd-2.1.ebuild b/mail-filter/rspamd/rspamd-2.1.ebuild
new file mode 100644 (file)
index 0000000..a44b355
--- /dev/null
@@ -0,0 +1,94 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils pax-utils systemd tmpfiles user
+
+if [[ ${PV} == *9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/vstakhov/rspamd.git"
+       inherit git-r3
+else
+       SRC_URI="https://github.com/vstakhov/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Rapid spam filtering system"
+HOMEPAGE="https://github.com/vstakhov/rspamd"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit libressl pcre2"
+
+RDEPEND="dev-db/sqlite:3
+       dev-libs/glib:2
+       dev-libs/icu:=
+       dev-libs/libev
+       net-libs/libnsl
+       sys-apps/file
+       dev-util/ragel
+       dev-libs/libsodium
+       blas? ( sci-libs/openblas )
+       cpu_flags_x86_ssse3? ( dev-libs/hyperscan )
+       jemalloc? ( dev-libs/jemalloc )
+       jit? ( dev-lang/luajit:2 )
+       !libressl? ( dev-libs/openssl:0=[-bindist] )
+       libressl? ( dev-libs/libressl:0= )
+       pcre2? ( dev-libs/libpcre2[jit=] )
+       !pcre2? ( dev-libs/libpcre[jit=] )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+       enewgroup rspamd
+       enewuser rspamd -1 -1 /var/lib/rspamd rspamd
+}
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       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_LUAJIT=$(usex jit ON OFF)
+               -DENABLE_PCRE2=$(usex pcre2 ON OFF)
+               -DENABLE_JEMALLOC=$(usex jemalloc ON OFF)
+               -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF)
+       )
+       cmake-utils_src_configure
+}
+
+src_test() {
+       cmake-utils_src_test
+}
+
+src_install() {
+       cmake-utils_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 jit; 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"
+}
index 2000be8f5492ab47c4d01b065ebf16be17c760a9..a44b355c466a32a3ae398044a5c884a56d8a9e2e 100644 (file)
@@ -17,18 +17,18 @@ DESCRIPTION="Rapid spam filtering system"
 HOMEPAGE="https://github.com/vstakhov/rspamd"
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="cpu_flags_x86_ssse3 gd jemalloc +jit libressl pcre2 +torch"
-REQUIRED_USE="torch? ( jit )"
+IUSE="blas cpu_flags_x86_ssse3 jemalloc +jit libressl pcre2"
 
 RDEPEND="dev-db/sqlite:3
        dev-libs/glib:2
        dev-libs/icu:=
-       dev-libs/libevent:=
+       dev-libs/libev
        net-libs/libnsl
        sys-apps/file
        dev-util/ragel
+       dev-libs/libsodium
+       blas? ( sci-libs/openblas )
        cpu_flags_x86_ssse3? ( dev-libs/hyperscan )
-       gd? ( media-libs/gd[jpeg] )
        jemalloc? ( dev-libs/jemalloc )
        jit? ( dev-lang/luajit:2 )
        !libressl? ( dev-libs/openssl:0=[-bindist] )
@@ -57,11 +57,9 @@ src_configure() {
                -DDBDIR=/var/lib/rspamd
                -DLOGDIR=/var/log/rspamd
                -DENABLE_LUAJIT=$(usex jit ON OFF)
-               -DENABLE_GD=$(usex gd ON OFF)
                -DENABLE_PCRE2=$(usex pcre2 ON OFF)
                -DENABLE_JEMALLOC=$(usex jemalloc ON OFF)
                -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF)
-               -DENABLE_TORCH=$(usex torch ON OFF)
        )
        cmake-utils_src_configure
 }
@@ -74,7 +72,7 @@ src_install() {
        cmake-utils_src_install
 
        newconfd "${FILESDIR}"/rspamd.conf rspamd
-       newinitd "${FILESDIR}/rspamd-r6.init" rspamd
+       newinitd "${FILESDIR}/rspamd-r7.init" rspamd
        systemd_newunit rspamd.service rspamd.service
 
        newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf