view mail-client/alpine/alpine-2.00.ebuild @ 124:fbc8ef03d0ec

postgresql-8.3.7 is in portage
author holger@hoho.dyndns.org
date Fri, 10 Apr 2009 13:18:15 +0200
parents 47db27a12ba2
children
line wrap: on
line source

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils flag-o-matic

DESCRIPTION="alpine is the successor of the famous mail and news reader pine"
HOMEPAGE="http://www.washington.edu/alpine/ http://staff.washington.edu/chappa/alpine/"
SRC_URI="ftp://ftp.cac.washington.edu/alpine/${P}.tar.bz2
	     chappa? ( http://staff.washington.edu/chappa/alpine/patches/${P}/all.patch.gz )"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~x86 ~amd64 ~x86-fbsd"
IUSE="chappa doc ipv6 kerberos ldap nls onlyalpine passfile smime spell ssl threads topal userland_BSD"

DEPEND="virtual/pam
	    >=sys-libs/ncurses-5.1
	    ssl? ( dev-libs/openssl )
	    ldap? ( net-nds/openldap )
	    kerberos? ( app-crypt/mit-krb5 )
	    spell? ( app-text/aspell )
	    topal? ( >=mail-client/topal-62 )"
RDEPEND="${DEPEND}
	app-misc/mime-types
	!onlyalpine? ( !app-editors/pico )
	!onlyalpine? ( !mail-client/pine )
	!<=net-mail/uw-imap-2004g"

maildir_warn() {
		elog
		elog "This build of ${PN} has Maildir support built in as"
		elog "part of the chappa-all patch."
		elog
		elog "If you have a maildir at ~/Maildir it will be your"
		elog "default INBOX. The path may be changed with the"
		elog "\"maildir-location\" setting in alpine."
		elog
		elog "To use /var/spool/mail INBOX again, set"
		elog "\"disable-these-drivers=md\" in your .pinerc file."
		elog
		elog "Alternately, you might want to read following webpage, which explains how to"
		elog "use multiple mailboxes simultaneously:"
		elog
		elog "http://www.math.washington.edu/~chappa/pine/pine-info/collections/incoming-folders/"
		elog
}

src_unpack() {
	unpack ${A}
	use chappa && epatch "${WORKDIR}"/all.patch
	# topal needs updating for alpine 2.00
	#use topal && epatch /usr/share/topal/patches/${P}.patch
	use topal && die "topal needs updating for ${P}. Please disable it for now."
}

src_compile() {
	local myconf="--without-tcl
				  --with-system-pinerc=/etc/pine.conf
				  --with-system-fixed-pinerc=/etc/pine.conf.fixed
				  --with-ssl-certs-dir=/etc/ssl/certs"

	use ssl || myconf="${myconf} --without-ssl"
	use ldap || myconf="${myconf} --without-ldap"
	use passfile && myconf="${myconf} --with-passfile=.pinepwd"
	use kerberos || myconf="${myconf} --without-krb5"
	use threads || myconf="${myconf} --without-pthread"
	use spell && myconf="${myconf} --with-interactive-spellcheck=/usr/bin/aspell"
	use nls || myconf="${myconf} --disable-nls"
	use ipv6 || myconf="${myconf} --without-ipv6"
	use smime || myconf="${myconf} --without-smime"

	# fixme
	# --with-system-mail-directory=DIR?

	# fixme
	# --as-needed breaks linking of c-client for executables
	# filter-ldflags --as-needed does not work for "-Wl,-O1,--as-needed,-z,now" ??
	LDFLAGS=`echo $LDFLAGS | sed s/--as-needed//g | sed s/,,/,/g`
	econf ${myconf} LDFLAGS="$LDFLAGS" || die "configure problem"

	if use userland_BSD; then
		make || die "make failed"
	else
		emake || die "emake failed"
	fi
}

src_install() {
	if use onlyalpine; then
		dobin alpine/alpine
		doman doc/alpine.1
	else
		if use userland_BSD; then
			make DESTDIR="${D}" install
		else
			emake DESTDIR="${D}" install
		fi

		doman doc/rpdump.1 doc/rpload.1
	fi

	dodoc NOTICE
	if use chappa; then
		dodoc README.maildir
	fi

	if use doc; then
		dodoc README doc/brochure.txt doc/tech-notes.txt
		docinto imap
		dodoc imap/docs/*.txt imap/docs/CONFIG imap/docs/RELNOTES

		docinto imap/rfc
		dodoc imap/docs/rfc/*.txt

		docinto html/tech-notes
		dohtml -r doc/tech-notes/
	fi
}

pkg_postinst() {
	use chappa && maildir_warn
	if use spell; then
		elog
		elog "In order to use spell checking"
		elog "  emerge app-dicts/aspell-\<your_langs\>"
		elog "and setup alpine with:"
		elog "  Speller = /usr/bin/aspell -c"
		elog
	fi
	if use topal; then
		elog
		elog "In order to use gpg with topal"
		elog "  read /usr/doc/topal/README.txt"
		elog
	fi
	if use passfile ; then
		elog
		elog "${PN} will cache passwords between connections."
		elog "File ~/.pinepw will be used for this."
		elog
	fi
}