From 9e16e433e1386b3613ea5667b12ee14c3ef0588c Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 24 Mar 2010 19:44:52 +0300 Subject: [PATCH] * Add FreeBSD port --- CMakeLists.txt | 2 +- freebsd/port/Makefile | 85 +++++++++++++++++++++++++ freebsd/port/distinfo | 3 + freebsd/port/files/patch-CMakeLists.txt | 13 ++++ freebsd/port/files/patch-perl_Rspamd.pm | 57 +++++++++++++++++ freebsd/port/pkg-descr | 5 ++ freebsd/port/pkg-plist | 35 ++++++++++ perl/Rspamd.pm | 54 ---------------- 8 files changed, 199 insertions(+), 55 deletions(-) create mode 100644 freebsd/port/Makefile create mode 100644 freebsd/port/distinfo create mode 100644 freebsd/port/files/patch-CMakeLists.txt create mode 100644 freebsd/port/files/patch-perl_Rspamd.pm create mode 100644 freebsd/port/pkg-descr create mode 100644 freebsd/port/pkg-plist delete mode 100644 perl/Rspamd.pm diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d1d60ce0..52b91581f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -507,7 +507,7 @@ ADD_CUSTOM_COMMAND(OUTPUT src/modules.c IF(PERL_EXECUTABLE) ADD_CUSTOM_COMMAND(OUTPUT perl/Makefile DEPENDS perl/Makefile.PL - COMMAND ${PERL_EXECUTABLE} ./Makefile.PL + COMMAND ${PERL_EXECUTABLE} ./Makefile.PL PREFIX=${CMAKE_INSTALL_PREFIX} INSTALLMAN3DIR=${CMAKE_INSTALL_PREFIX}/man/man3 WORKING_DIRECTORY perl) CONFIGURE_FILE(perl/Makefile.PL.in perl/Makefile.PL) ADD_CUSTOM_TARGET(perlmodule diff --git a/freebsd/port/Makefile b/freebsd/port/Makefile new file mode 100644 index 000000000..668d8d8d4 --- /dev/null +++ b/freebsd/port/Makefile @@ -0,0 +1,85 @@ +# New ports collection makefile for: rspamd +# Date created: 2010-03-24 +# Whom: Vsevolod Stakhov +# +# $FreeBSD$ +# + +PORTNAME= rspamd +PORTVERSION= 0.2.9 +CATEGORIES= mail +MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION} + +MAINTAINER= vsevolod@FreeBSD.org +COMMENT= Fast spam filtering system + +RUN_DEPENDS= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL \ + ${SITE_PERL}/IO/String.pm:${PORTSDIR}/devel/p5-IO-String +LIB_DEPENDS= pcre.0:${PORTSDIR}/devel/pcre \ + gmime-2.0:${PORTSDIR}/mail/gmime2 \ + event-1.4:${PORTSDIR}/devel/libevent + +USE_GNOME= glib20 +USE_CMAKE= yes +USE_LDCONFIG= yes +WANT_PERL= yes +USE_PERL5= yes + +OPTIONS= RSPAMD_GPERF "Enable google perf-tools profiling" off \ + RSPAMD_JUDY "Enable judy arrays usage for performance" off \ + RSPAMD_LUA "Enable lua plugins support in rspamd" on \ + RSPAMD_OPTFLAGS "Turn on compiler optimizations" off \ + RSPAMD_REDIRECTOR "Install HTTP redirector" off \ + RSPAMD_STATIC "Build static version of rspamd" off + +MAN3= Mail::Rspamd::Client.3 +CMAKE_ARGS+= -DETC_PREFIX=${PREFIX}/etc -DPREFIX=${PREFIX} +PLIST_SUB+= ETCDIR=etc/rspamd + +.include + +.if defined(WITH_RSPAMD_GPERF) +CMAKE_ARGS+= -DENABLE_GPERF_TOOLS=ON +LIB_DEPENDS+= profiler.0:${PORTSDIR}/devel/google-perftools +.endif + +.if defined(WITH_RSPAMD_JUDY) +LIB_DEPENDS+= Judy:${PORTSDIR}/devel/judy +.endif + +.if defined(WITH_RSPAMD_LUA) +USE_LUA= 5.1- +PLIST_SUB+= LUA="" +.else +CMAKE_ARGS+= -DENABLE_LUA=OFF +PLIST_SUB+= LUA="@comment" +.endif + +.if defined(WITH_RSPAMD_OPTFLAGS) +CMAKE_ARGS+= -DENABLE_OPTIMIZATION=ON +.endif + +.if defined(WITH_RSPAMD_REDIRECTOR) +CMAKE_ARGS+= -DENABLE_REDIRECTOR=ON +PLIST_SUB+= REDIRECTOR="" +RUN_DEPENDS+= ${SITE_PERL}/POE/Component/Client/DNS.pm:${PORTSDIR}/dns/p5-POE-Component-Client-DNS \ + ${SITE_PERL}/POE/Component/Client/HTTP.pm:${PORTSDIR}/www/p5-POE-Component-Client-HTTP \ + ${SITE_PERL}/POE/Component/Server/HTTP.pm:${PORTSDIR}/www/p5-POE-Component-Server-HTTP \ + ${SITE_PERL}/${PERL_ARCH}/Cache/Memcached/Fast.pm:${PORTSDIR}/databases/p5-Cache-Memcached-Fast \ + ${SITE_PERL}/Proc/PidUtil.pm:${PORTSDIR}/sysutils/p5-Proc-PidUtil \ + ${SITE_PERL}/Proc/Daemon.pm:${PORTSDIR}/devel/p5-Proc-Daemon \ + ${SITE_PERL}/${PERL_ARCH}/Digest/SHA256.pm:${PORTSDIR}/security/p5-Digest-SHA256 \ + ${SITE_PERL}/SWF/File.pm:${PORTSDIR}/graphics/p5-SWF-File +.else +PLIST_SUB+= REDIRECTOR="@comment" +.endif + +.if defined(WITH_RSPAMD_STATIC) +CMAKE_ARGS+= -DENABLE_STATIC=ON +PLIST_SUB+= CPLUGINS="@comment" +USE_LDCONFIG= no +.else +PLIST_SUB+= CPLUGINS="" +.endif + +.include diff --git a/freebsd/port/distinfo b/freebsd/port/distinfo new file mode 100644 index 000000000..030b49dff --- /dev/null +++ b/freebsd/port/distinfo @@ -0,0 +1,3 @@ +MD5 (rspamd-0.2.9.tar.gz) = 45b99d5914610e805782dbcd16f44241 +SHA256 (rspamd-0.2.9.tar.gz) = 78b944f24c3f9af6781db97ec68b7a4d8f62d157e3b9a05456254e30c54b8f46 +SIZE (rspamd-0.2.9.tar.gz) = 578750 diff --git a/freebsd/port/files/patch-CMakeLists.txt b/freebsd/port/files/patch-CMakeLists.txt new file mode 100644 index 000000000..9665c3bfc --- /dev/null +++ b/freebsd/port/files/patch-CMakeLists.txt @@ -0,0 +1,13 @@ +diff -r f2989bcf7b80 CMakeLists.txt +--- CMakeLists.txt Tue Mar 23 18:40:50 2010 +0300 ++++ CMakeLists.txt Wed Mar 24 18:51:53 2010 +0300 +@@ -507,7 +507,7 @@ + IF(PERL_EXECUTABLE) + ADD_CUSTOM_COMMAND(OUTPUT perl/Makefile + DEPENDS perl/Makefile.PL +- COMMAND ${PERL_EXECUTABLE} ./Makefile.PL ++ COMMAND ${PERL_EXECUTABLE} ./Makefile.PL PREFIX=${CMAKE_INSTALL_PREFIX} INSTALLMAN3DIR=${CMAKE_INSTALL_PREFIX}/man/man3 INSTALLSITEMAN3DIR=${CMAKE_INSTALL_PREFIX}/man/man3 + WORKING_DIRECTORY perl) + CONFIGURE_FILE(perl/Makefile.PL.in perl/Makefile.PL) + ADD_CUSTOM_TARGET(perlmodule + diff --git a/freebsd/port/files/patch-perl_Rspamd.pm b/freebsd/port/files/patch-perl_Rspamd.pm new file mode 100644 index 000000000..d4cd5a915 --- /dev/null +++ b/freebsd/port/files/patch-perl_Rspamd.pm @@ -0,0 +1,57 @@ +--- perl/Rspamd.pm 2010-03-24 16:39:28.000000000 +0300 ++++ perl/Rspamd.pm 2010-03-24 19:35:13.000000000 +0300 +@@ -1,54 +0,0 @@ +-package Mail::Rspamd; +- +-use 5.006001; +-use strict; +-use warnings; +- +-require Exporter; +- +-our @ISA = qw(Exporter); +-our @EXPORT = qw( +- module_init +- module_reload +- LOG_ERROR +- LOG_WARNING +- LOG_MESSAGE +- LOG_INFO +- LOG_DEBUG +-); +- +-our $VERSION = '0.0.1'; +- +-require XSLoader; +-XSLoader::load('Rspamd', $VERSION); +- +-sub module_init { +- my ($cfg) = @_; +-} +- +-sub module_reload { +- my ($cfg) = @_; +-} +- +-use constant LOG_ERROR => 1 << 3; +-use constant LOG_WARNING => 1 << 4; +-use constant LOG_MESSAGE => 1 << 5; +-use constant LOG_INFO => 1 << 6; +-use constant LOG_DEBUG => 1 << 7; +- +-1; +-__END__ +- +-=head1 NAME +- +-rspamd - Perl interface to the rspamd API +- +-=head1 SYNOPSIS +- +- use rspamd; +- +-=head1 DESCRIPTION +- +-TODO: Not ready yet +- +-=cut diff --git a/freebsd/port/pkg-descr b/freebsd/port/pkg-descr new file mode 100644 index 000000000..e69b81ef1 --- /dev/null +++ b/freebsd/port/pkg-descr @@ -0,0 +1,5 @@ +Rspamd is fast, modular and lightweight spam filter. It is designed to work +with big ammount of mail and can be easily extended with own filters written in +lua. + +WWW: http://rspamd.sourceforge.net diff --git a/freebsd/port/pkg-plist b/freebsd/port/pkg-plist new file mode 100644 index 000000000..6957829bf --- /dev/null +++ b/freebsd/port/pkg-plist @@ -0,0 +1,35 @@ +bin/rspamc +bin/rspamd +etc/rc.d/rspamd.sh +%%REDIRECTOR%%bin/rspamd-redirector +%%REDIRECTOR%%etc/rc.d/redirector.sh + +etc/rspamd.conf.sample + +@unexec if cmp -s %D/%%ETCDIR%%/2tld.inc %D/%%ETCDIR%%/2tld.inc.orig; then rm -f %D/%%ETCDIR%%/2tld.inc; fi +%%ETCDIR%%/2tld.inc.orig +@unexec if cmp -s %D/%%ETCDIR%%/drugs.inc %D/%%ETCDIR%%/drugs.inc.orig; then rm -f %D/%%ETCDIR%%/drugs.inc; fi +%%ETCDIR%%/drugs.inc.orig +@unexec if cmp -s %D/%%ETCDIR%%/fraud.inc %D/%%ETCDIR%%/fraud.inc.orig; then rm -f %D/%%ETCDIR%%/fraud.inc; fi +%%ETCDIR%%/fraud.inc.orig +@unexec if cmp -s %D/%%ETCDIR%%/headers.inc %D/%%ETCDIR%%/headers.inc.orig; then rm -f %D/%%ETCDIR%%/headers.inc; fi +%%ETCDIR%%/headers.inc.orig +@unexec if cmp -s %D/%%ETCDIR%%/html.inc %D/%%ETCDIR%%/html.inc.orig; then rm -f %D/%%ETCDIR%%/html.inc; fi +%%ETCDIR%%/html.inc.orig +@unexec if cmp -s %D/%%ETCDIR%%/lotto.inc %D/%%ETCDIR%%/lotto.inc.orig; then rm -f %D/%%ETCDIR%%/lotto.inc; fi +%%ETCDIR%%/lotto.inc.orig + +%%LUA%%%%ETCDIR%%/plugins/lua/forged_recipients.lua +%%LUA%%%%ETCDIR%%/plugins/lua/maillist.lua +%%LUA%%%%ETCDIR%%/plugins/lua/once_received.lua +%%LUA%%%%ETCDIR%%/plugins/lua/received_rbl.lua +%%LUA%%%%ETCDIR%%/plugins/lua/whitelist.lua +%%LUA%%@dirrmtry %%ETCDIR%%/plugins/lua + +@dirrmtry %%ETCDIR%%/plugins +@dirrmtry %%ETCDIR%% +%%CPLUGINS%%lib/librspamd_ipmark.so +%%CPLUGINS%%lib/librspamd_regmark.so +%%SITE_PERL%%/Mail/Rspamd/Client.pm +@dirrm %%SITE_PERL%%/Mail/Rspamd +@dirrmtry %%SITE_PERL%%/Mail diff --git a/perl/Rspamd.pm b/perl/Rspamd.pm deleted file mode 100644 index 2966cb3ca..000000000 --- a/perl/Rspamd.pm +++ /dev/null @@ -1,54 +0,0 @@ -package Mail::Rspamd; - -use 5.006001; -use strict; -use warnings; - -require Exporter; - -our @ISA = qw(Exporter); -our @EXPORT = qw( - module_init - module_reload - LOG_ERROR - LOG_WARNING - LOG_MESSAGE - LOG_INFO - LOG_DEBUG -); - -our $VERSION = '0.0.1'; - -require XSLoader; -XSLoader::load('Rspamd', $VERSION); - -sub module_init { - my ($cfg) = @_; -} - -sub module_reload { - my ($cfg) = @_; -} - -use constant LOG_ERROR => 1 << 3; -use constant LOG_WARNING => 1 << 4; -use constant LOG_MESSAGE => 1 << 5; -use constant LOG_INFO => 1 << 6; -use constant LOG_DEBUG => 1 << 7; - -1; -__END__ - -=head1 NAME - -rspamd - Perl interface to the rspamd API - -=head1 SYNOPSIS - - use rspamd; - -=head1 DESCRIPTION - -TODO: Not ready yet - -=cut -- 2.39.5