# Maintainer (Arch): AndyRTR <andyrtr@archlinux.org>
# Contributor (Arch): tobias <tobias@archlinux.org>
# Contributor (Arch): Low Kian Seong <fastmail_low@speedymail.org>
# Maintainer: Luke Shumaker <lukeshu@parabola.nu>

# Justification for being in [libre]: The source tarball contains
# nonfree documentation files.  This does not affect the resulting
# package, but it is an FSDG violation, so we must repack the source
# tarball.

pkgname=bogofilter
pkgver=1.2.4
pkgrel=4
pkgrel+=.par1
pkgdesc="A fast Bayesian spam filtering tool, without noncommercial files"
_srcrel=1 # increment this to rebuild the sourceball without bumping pkgver
pkgdesc="A fast Bayesian spam filtering tool"
arch=('x86_64')
arch+=('i686' 'armv7h')
license=('GPL3')
url="http://bogofilter.sourceforge.net"
depends=('db' 'perl' 'gsl') # 'sqlite'
makedepends=('valgrind' 'xmlto')
backup=('etc/bogofilter/bogofilter.cf')
source=(https://repo.parabola.nu/other/bogofilter-libre/${pkgname}-${pkgver}-libre${_srcrel}.tar.gz
        bogofilter-1.2.4-test-env.patch)
sha256sums=('6637eb34f41f99b1c1caf839589896ef0070f2063ad5fe2b3a849be08f64310e'
            'e24638d2187074f48cfc19e1146b5f5b37167fa3c6576e2f8920295414fbfe0c')

replaces=(bogofilter-libre)
conflicts=(bogofilter-libre)

mksource=(https://sourceforge.net/projects/${pkgname}/files/${pkgname}-current/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2)
mksha256sums=('e10287a58d135feaea26880ce7d4b9fa2841fb114a2154bf7da8da98aab0a6b4')
mksource() {
  # Several of the documentation files are nonfree
  rm "${srcdir}/${pkgname}-${pkgver}"/doc/bogofilter-SA-{2005-0{1,2},2010-01}
}

# keep Berkeley DB as backend for now
# sqlite3 based backend doesn't allow
# to use db-transaction option that is
# used to bf_compact the wordlist.db
# other backend aren't available 
# currently in Arch repos

prepare() {
  cd ${pkgname}-${pkgver}
  # taken from Gentoo
  patch -Np1 -i $srcdir/bogofilter-1.2.4-test-env.patch
  chmod +x src/tests/t.{ctype,leakfind,lexer.qpcr,lexer.eoh,message_id,queue_id}
  autoreconf -vfi
}

build() {
  cd ${pkgname}-${pkgver}
  ./configure --prefix=/usr \
              --sysconfdir=/etc/bogofilter  \
              --localstatedir=/var \
              --enable-transactions \
              --with-database=db  #--help
  make
}

check() {
  cd $pkgname-$pkgver
  BF_RUN_VALGRIND=1 make -k -C src check || /bin/true
}

package() {
  cd ${pkgname}-${pkgver}
  make DESTDIR="${pkgdir}" install

  mv "${pkgdir}/etc/bogofilter/bogofilter.cf.example" "${pkgdir}/etc/bogofilter/bogofilter.cf"

  install -dm755 "${pkgdir}/usr/share/${pkgname}/contrib"
  install -m644 contrib/* "${pkgdir}/usr/share/${pkgname}/contrib/"
}
