# Contributor: Ɓukasz Jendrysik
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=claws-mail
pkgver=3.14.1
pkgrel=1
pkgdesc="A GTK+ based e-mail client."
url="http://www.claws-mail.org"
arch="all"
license="GPL3"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang
	$pkgname-plugins-acpi-notifier:_acpi
	$pkgname-plugins-address-keeper:_address_keeper
	$pkgname-plugins-archive:_archive
	$pkgname-plugins-att-remove:_att_remover
	$pkgname-plugins-attatchwarner:_attatchwarner
	$pkgname-plugins-clamd:_clamd
	$pkgname-plugins-fetchinfo:_fetchinfo
	$pkgname-plugins-mailmbox:_mailmbox
	$pkgname-plugins-notification:_notification
	$pkgname-plugins-pdf-viewer:_pdf
	$pkgname-plugins-perl:_perl
	$pkgname-plugins-pgp:_pgp
	$pkgname-plugins-python:_python
	$pkgname-plugins-rssyl:_rssyl
	$pkgname-plugins-smime:_smime
	$pkgname-plugins-spamassassin:_spamassassin
	$pkgname-plugins-spamreport:_spamreport
	$pkgname-plugins-tnef:_tnef
	$pkgname-plugins-vcalendar:_vcalendar
	"

makedepends="gtk+-dev libressl-dev startup-notification-dev enchant-dev
	libgcrypt-dev libsm-dev gnutls-dev curl-dev dbus-glib-dev
	libetpan-dev openldap-dev gpgme-dev libsoup-dev perl-dev
	poppler-dev python2-dev py-gtk-dev libarchive-dev libnotify-dev
	pinentry-gtk spamassassin
	"
depends="aspell-en"
install=
source="http://www.claws-mail.org/download.php?file=releases/claws-mail-$pkgver.tar.gz"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1 ;;
		esac
	done
}

build() {
	cd "$_builddir"
	DATADIRNAME=share ./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--disable-static \
		--enable-enchant \
		--enable-gnutls \
		--enable-ldap \
		--disable-crash-dialog \
		--enable-pgpmime-plugin \
		--enable-spamassassin-plugin \
		--disable-bogofilter-plugin \
		--enable-compface \
		--enable-pdf_viewer-plugin \
		--disable-jpilot \
		--disable-bsfilter-plugin \
		--disable-newmail-plugin \
		|| return 1

	# force disabling of backtrace. the core dump was more useful
	sed -i -e '/HAVE_BACKTRACE/d' config.h

	make || return 1
	cd tools
	make
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
	find tools -maxdepth 1 -type f -and -perm 111 -or -name '*.conf' | while read i; do
		install -D -m755 ${i} "$pkgdir"/usr/lib/claws-mail/tools/${i}
	done
}

_plugin() {
	pkdesc="$1"
	depends="claws-mail=$pkgver-r$pkgrel $2"
	local _i=
	shift 2
	mkdir -p "$subpkgdir"/usr/lib/claws-mail/plugins
	for _i; do
		mv "$pkgdir"/usr/lib/claws-mail/plugins/${_i}* \
			"$subpkgdir"/usr/lib/claws-mail/plugins/ || return 1
	done
}

_acpi() {
	_plugin "ACPI notification plugin for Claws Mail" "" acpi_notifier
}

_address_keeper() {
	_plugin "Never forget a typed address in Claws Mail" "" address_keeper
}

_archive() {
	_plugin "Archiving features for Claws Mail" "" archive
}

_att_remover() {
	_plugin "Attachments remover plugin for Claws Mail" "" att_remover
}

_attatchwarner() {
	_plugin "Attachments warner plugin for Claws Mail" "" attachwarner
}

_clamd() {
	_plugin "Use Clam AntiVirus to scan messages in Claws Mail" "" clamd
}

_fetchinfo() {
	_plugin "Modify headers of downloaded messages in Claws Mail" "" \
		fetchinfo
}

_mailmbox() {
	_plugin "Add support for mailboxes in mbox format to Claws Mail" "" \
		mailmbox
}

_notification() {
	_plugin "Various ways to notify about new messages in Claws Mail" "" \
		notification
}

_pdf() {
	_plugin "PDF and ghostscript viewer plugin Claws Mail" "" pdf
}

_perl() {
	_plugin "Perl based extended filtering engine for Claws Mail" "" perl
}

_pgp() {
	_plugin "PGP plugin for signing and encrypting with Claws Mail" \
		"pinentry-gtk" pgp
}

_python() {
	_plugin "Python plugin for Claws Mail" "" python
}

_rssyl() {
	_plugin "RSS plugin for Claws Mail" "" rssyl
}

_smime() {
	_plugin "S/MIME support for Claws Mail" "claws-mail-plugins-pgp" smime
}

_spamassassin() {
	_plugin "Spamassassin plugin for Claws Mail" "spamassassin" spamass
}

_spamreport() {
	_plugin "Report spam mail to various places with Claws Mail" "" \
		spamreport
}

_tnef() {
	_plugin "TNEF message parsing for Claws Mail" "" tnef_parse
}

_vcalendar () {
	_plugin "Handling of vCalendar messages in Claws Mail" "" vcalendar
}

md5sums="67ff80ab414fda46e2d7977431c823f5  claws-mail-3.14.1.tar.gz"
sha256sums="b195f87a3b6eca6ee60afb74b3253c18713c34315f133fc46171add80ccabf23  claws-mail-3.14.1.tar.gz"
sha512sums="aba89ada808e16b5b663b5ba9007cdcc91551a5bb287ee7af1c0e77fdbf946d45d81f6cd294b694906e97293d2392ead78b0e496554c72401ce52c6cd85c2e00  claws-mail-3.14.1.tar.gz"