summaryrefslogtreecommitdiff
blob: 8a0f8bb25dd214c3b1aa17ac8a5378dd12ee6395 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit autotools eutils flag-o-matic

if (( ${PV} == 9999 )); then
	inherit git-r3
	EGIT_REPO_URI="https://github.com/neomutt/neomutt.git"
	EGIT_CHECKOUT_DIR="${WORKDIR}/neomutt-${P}"
	KEYWORDS=""
else
	SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz"
	KEYWORDS="~amd64 ~x86"
fi

DESCRIPTION="A small but very powerful text-based mail client"
HOMEPAGE="https://www.neomutt.org/"

LICENSE="GPL-2"
SLOT="0"
IUSE="berkdb crypt doc gdbm gnutls gpg gpgme idn kerberos kyotocabinet
	libressl lmdb nls notmuch pgp_classic qdbm sasl selinux slang smime
	smime_classic ssl tokyocabinet"

CDEPEND="
	app-misc/mime-types
	berkdb? ( >=sys-libs/db-4:= )
	gdbm? ( sys-libs/gdbm )
	kyotocabinet? ( dev-db/kyotocabinet )
	lmdb? ( dev-db/lmdb )
	nls? ( virtual/libintl )
	qdbm? ( dev-db/qdbm )
	tokyocabinet? ( dev-db/tokyocabinet )
	gnutls? ( >=net-libs/gnutls-1.0.17 )
	gpg? ( >=app-crypt/gpgme-0.9.0 )
	gpgme? ( >=app-crypt/gpgme-0.9.0 )
	idn? ( net-dns/libidn )
	kerberos? ( virtual/krb5 )
	notmuch? ( net-mail/notmuch )
	sasl? ( >=dev-libs/cyrus-sasl-2 )
	!slang? ( sys-libs/ncurses:0 )
	slang? ( sys-libs/slang )
	ssl? (
		!libressl? ( >=dev-libs/openssl-0.9.6:0 )
		libressl? ( dev-libs/libressl )
	)
"
DEPEND="${CDEPEND}
	net-mail/mailbase
	doc? (
		dev-libs/libxml2
		dev-libs/libxslt
		app-text/docbook-xsl-stylesheets
		|| ( www-client/lynx www-client/w3m www-client/elinks )
	)"
RDEPEND="${CDEPEND}
	selinux? ( sec-policy/selinux-mutt )
"

S="${WORKDIR}/${PN}-${P}"

src_prepare() {
	eapply_user
	eautoreconf
}

src_configure() {
	local myconf=(
		"$(use_enable doc)"
		"$(use_enable gpg gpgme)"
		"$(use_enable gpgme)"
		"$(use_enable nls)"
		"$(use_enable notmuch)"
		"$(use_enable crypt pgp)"
		"$(use_enable pgp_classic pgp)"
		"$(use_enable smime)"
		"$(use_enable smime_classic smime)"
		"$(use_with berkdb bdb)"
		"$(use_with gdbm)"
		"$(use_with idn)"
		"$(use_with kerberos gss)"
		"$(use_with kyotocabinet)"
		"$(use_with lmdb)"
		"$(use_with qdbm)"
		"$(use_with sasl)"
		"$(use_with tokyocabinet)"
		"--with-$(usex slang slang curses)"
		"--sysconfdir=${EPREFIX}/etc/${PN}"
		"--with-docdir=${EPREFIX}/usr/share/doc/${PF}"
	)

	if use gnutls; then
		myconf+=( "--with-gnutls" )
	elif use ssl; then
		myconf+=( "--with-ssl" )
	fi

	econf "${myconf[@]}"
}

src_install() {
	emake DESTDIR="${D}" install

	# A man-page is always handy, so fake one
	if use !doc; then
		emake -C doc neomuttrc.man
		# make the fake slightly better, bug #413405
		sed -e 's#@docdir@/manual.txt#http://www.neomutt.org/guide#' \
			-e 's#in @docdir@,#at http://www.neomutt.org/,#' \
			-e "s#@sysconfdir@#${EPREFIX}/etc/${PN}#" \
			-e "s#@bindir@#${EPREFIX}/usr/bin#" \
			doc/neomutt.man > neomutt.1 || die
		cp doc/neomuttrc.man neomuttrc.5 || die
		doman neomutt.1 neomuttrc.5
	fi

	dodoc COPYRIGHT LICENSE* ChangeLog* README*
}

pkg_postinst() {
	ewarn "Pleae note that the crypto related USE flags of neomutt have changed."
	ewarn "(https://bugs.gentoo.org/637176)"
	ewarn "crypt -> pgp_classic"
	ewarn "gpg -> gpgme"
	ewarn "smime -> smime_classic"
	ewarn "The old USE flags still work but their use is deprecated and will"
	ewarn "be removed in a future release."
}