summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mail-filter/bogofilter')
-rw-r--r--mail-filter/bogofilter/Manifest1
-rw-r--r--mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild125
-rw-r--r--mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch24
-rw-r--r--mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch11
-rw-r--r--mail-filter/bogofilter/metadata.xml19
5 files changed, 180 insertions, 0 deletions
diff --git a/mail-filter/bogofilter/Manifest b/mail-filter/bogofilter/Manifest
new file mode 100644
index 000000000000..8cc0b8978eaa
--- /dev/null
+++ b/mail-filter/bogofilter/Manifest
@@ -0,0 +1 @@
+DIST bogofilter-1.2.4.tar.bz2 887848 SHA256 e10287a58d135feaea26880ce7d4b9fa2841fb114a2154bf7da8da98aab0a6b4 SHA512 e8c0b6bcc14f12fbbb2752e697a6d9065e17abfca3f70045ce9fe668d01c1cfad4adaa35c81546ecdd3639b0c28f3f4776bb5ed4699f21e9e2a5b19ca33479db WHIRLPOOL a35a2ce87333d07fe64972d173a4ae6a3105e31577b5915fdd376f41a14fb226e94a173d393c14aac7ca147726aa4267b1c6060ce7df5deea11ca82c3d350a13
diff --git a/mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild b/mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild
new file mode 100644
index 000000000000..348722a62761
--- /dev/null
+++ b/mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools db-use eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Bayesian spam filter designed with fast algorithms, and tuned for speed"
+HOMEPAGE="http://bogofilter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="berkdb sqlite tokyocabinet"
+
+DEPEND="virtual/libiconv
+ berkdb? ( >=sys-libs/db-3.2 )
+ !berkdb? (
+ sqlite? ( >=dev-db/sqlite-3.6.22 )
+ !sqlite? (
+ tokyocabinet? ( dev-db/tokyocabinet )
+ !tokyocabinet? ( >=sys-libs/db-3.2 )
+ )
+ )
+ sci-libs/gsl
+ app-arch/pax"
+# pax needed for bf_tar
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ has_version mail-filter/bogofilter || return 0
+ if ( use berkdb && ! has_version 'mail-filter/bogofilter[berkdb]' ) || \
+ ( ! use berkdb && has_version 'mail-filter/bogofilter[berkdb]' ) || \
+ ( use sqlite && ! has_version 'mail-filter/bogofilter[sqlite]' ) || \
+ ( ! use sqlite && has_version 'mail-filter/bogofilter[sqlite]' ) || \
+ ( has_version '>=mail-filter/bogofilter-1.2.1-r1' && \
+ ( use tokyocabinet && ! has_version 'mail-filter/bogofilter[tokyocabinet]' ) || \
+ ( ! use tokyocabinet && has_version 'mail-filter/bogofilter[tokyocabinet]' )
+ ) ; then
+ ewarn
+ ewarn "If you want to switch the database backend, you must dump the wordlist"
+ ewarn "with the current version (old use flags) and load it with the new version!"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # bug 445918
+ sed -i -e 's/ -ggdb//' configure.ac || die
+
+ # bug 421747
+ epatch "${FILESDIR}"/${P}-test-env.patch
+ chmod +x src/tests/t.{ctype,leakfind,lexer.qpcr,lexer.eoh,message_id,queue_id}
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="" berkdb=true
+ myconf="--without-included-gsl"
+
+ # determine backend: berkdb *is* default
+ if use berkdb && use sqlite ; then
+ elog "Both useflags berkdb and sqlite are in USE:"
+ elog "Using berkdb as database backend."
+ elif use berkdb && use tokyocabinet ; then
+ elog "Both useflags berkdb and tokyocabinet are in USE:"
+ elog "Using berkdb as database backend."
+ elif use sqlite && use tokyocabinet ; then
+ elog "Both useflags sqlite and tokyocabinet are in USE:"
+ elog "Using sqlite as database backend."
+ myconf="${myconf} --with-database=sqlite"
+ berkdb=false
+ elif use sqlite ; then
+ myconf="${myconf} --with-database=sqlite"
+ berkdb=false
+ elif use tokyocabinet ; then
+ myconf="${myconf} --with-database=tokyocabinet"
+ berkdb=false
+ elif ! use berkdb ; then
+ elog "Neither berkdb nor sqlite nor tokyocabinet are in USE:"
+ elog "Using berkdb as database backend."
+ fi
+
+ # Include the right berkdb headers for FreeBSD
+ if ${berkdb} ; then
+ append-cppflags "-I$(db_includedir)"
+ fi
+
+ # bug #324405
+ if [[ $(gcc-version) == "3.4" ]] ; then
+ epatch "${FILESDIR}"/${PN}-1.2.2-gcc34.patch
+ fi
+
+ econf ${myconf}
+}
+
+src_test() {
+ emake -C src/ check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ exeinto /usr/share/${PN}/contrib
+ doexe contrib/{bogofilter-qfe,parmtest,randomtrain}.sh \
+ contrib/{bfproxy,bogominitrain,mime.get.rfc822,printmaildir}.pl \
+ contrib/{spamitarium,stripsearch}.pl
+
+ insinto /usr/share/${PN}/contrib
+ doins contrib/{README.*,dot-qmail-bogofilter-default} \
+ contrib/{bogogrep.c,bogo.R,bogofilter-milter.pl,*.example} \
+ contrib/vm-bogofilter.el \
+ contrib/{trainbogo,scramble}.sh
+
+ dodoc AUTHORS NEWS README RELEASE.NOTES* TODO GETTING.STARTED \
+ doc/integrating-with-* doc/README.{db,sqlite}
+
+ dohtml doc/*.html
+
+ dodir /usr/share/doc/${PF}/samples
+ mv "${D}"/etc/bogofilter.cf.example "${D}"/usr/share/doc/${PF}/samples/ || die
+ rmdir "${D}"/etc || die
+}
diff --git a/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch b/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch
new file mode 100644
index 000000000000..80e4d787cf87
--- /dev/null
+++ b/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch
@@ -0,0 +1,24 @@
+diff -ruN bogofilter-1.2.1-orig/src/Makefile.am bogofilter-1.2.1/src/Makefile.am
+--- bogofilter-1.2.1-orig/src/Makefile.am 2009-05-28 22:59:05.000000000 +0200
++++ bogofilter-1.2.1/src/Makefile.am 2010-06-16 22:52:36.000000000 +0200
+@@ -16,7 +16,7 @@
+ AM_CPPFLAGS = -iquote$(top_srcdir)/gnugetopt -iquote$(top_srcdir)/trio \
+ -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir)
+ else
+-AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I- -I. \
++AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I. \
+ -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir)
+ endif
+
+diff -ruN bogofilter-1.2.1-orig/src/Makefile.in bogofilter-1.2.1/src/Makefile.in
+--- bogofilter-1.2.1-orig/src/Makefile.in 2009-08-01 21:00:51.000000000 +0200
++++ bogofilter-1.2.1/src/Makefile.in 2010-06-16 22:52:23.000000000 +0200
+@@ -483,7 +483,7 @@
+ @ENABLE_MEMDEBUG_TRUE@MEMDEBUG_SRC = memdebug.c memdebug.h
+ noinst_LIBRARIES = libbogofilter.a $(am__append_3) $(am__append_5) \
+ $(am__append_10)
+-@USE_GCC4_FALSE@AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I- -I. \
++@USE_GCC4_FALSE@AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I. \
+ @USE_GCC4_FALSE@ -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir)
+
+ @USE_GCC4_TRUE@AM_CPPFLAGS = -iquote$(top_srcdir)/gnugetopt -iquote$(top_srcdir)/trio \
diff --git a/mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch b/mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch
new file mode 100644
index 000000000000..8cf109c45519
--- /dev/null
+++ b/mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch
@@ -0,0 +1,11 @@
+--- a/src/tests/Makefile.am
++++ b/src/tests/Makefile.am
+@@ -67,7 +67,7 @@
+
+ TESTS=$(BUILT_TESTS) $(TESTSCRIPTS)
+
+-TESTS_ENVIRONMENT=RUN_FROM_MAKE=1 AWK=$(AWK) srcdir=$(srcdir) SHELL="$(SHELL)" $(SHELL) $(VERBOSE)
++TESTS_ENVIRONMENT=RUN_FROM_MAKE=1 AWK=$(AWK) srcdir=$(srcdir) SHELL="$(SHELL)" $(VERBOSE)
+
+ EXTRA_DIST=$(TESTSCRIPTS) t.frame t.save t.skel \
+ printcore t._abort unsort.pl \
diff --git a/mail-filter/bogofilter/metadata.xml b/mail-filter/bogofilter/metadata.xml
new file mode 100644
index 000000000000..5204b3d1809c
--- /dev/null
+++ b/mail-filter/bogofilter/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <longdescription>
+ Bogofilter is a mail filter that classifies mail as spam or ham (non-spam)
+ by a statistical analysis of the message's header and content (body). The
+ program is able to learn from the user's classifications and corrections.
+ </longdescription>
+ <use>
+ <flag name="tokyocabinet">Enable Tokyo Cabinet database support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">bogofilter</remote-id>
+ </upstream>
+</pkgmetadata>