| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=4 |
| |
| inherit eutils flag-o-matic autotools |
| |
| DESCRIPTION="An extensible POP3 server with vmail-sql/MySQL support" |
| HOMEPAGE="http://savannah.nongnu.org/projects/tpop3d/" |
| SRC_URI="http://download.savannah.nongnu.org/releases/tpop3d/${P}.tar.gz" |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="~amd64 x86" |
| IUSE="authexternal debug drac flatfile gdbm ldap maildir mbox mysql offensive |
| pam passwd perl postgres +sha1 shadow ssl tcpd" |
| |
| RDEPEND="sha1? ( >=dev-libs/openssl-0.9.6 ) |
| ssl? ( >=dev-libs/openssl-0.9.6 ) |
| ldap? ( >=net-nds/openldap-2.0.7 ) |
| mysql? ( virtual/mysql ) |
| postgres? ( dev-db/postgresql[server] ) |
| perl? ( >=dev-lang/perl-5.6.1 ) |
| pam? ( virtual/pam |
| >=net-mail/mailbase-0.00-r8 ) |
| tcpd? ( >=sys-apps/tcp-wrappers-7.6 )" |
| |
| DEPEND="${RDEPEND} |
| drac? ( mail-client/drac )" |
| |
| src_prepare() { |
| epatch "${FILESDIR}/${PN}-1.5.4-gold.patch" |
| eautoreconf |
| } |
| |
| src_configure() { |
| local myconf="" |
| local noauth=0 |
| |
| # Various authentication methods |
| use authexternal && myconf="${myconf} --enable-auth-other" |
| use flatfile && myconf="${myconf} --enable-auth-flatfile" |
| use gdbm && myconf="${myconf} --enable-auth-gdbm" |
| use ldap && myconf="${myconf} --enable-auth-ldap" |
| use mysql && myconf="${myconf} --enable-auth-mysql" |
| use pam || myconf="${myconf} --disable-auth-pam" |
| use passwd && myconf="${myconf} --enable-auth-passwd" |
| use perl && myconf="${myconf} --enable-auth-perl" |
| use postgres && myconf="${myconf} --enable-auth-pgsql" |
| use shadow && myconf="${myconf} --enable-auth-passwd --enable-shadow-passwords" |
| |
| use authexternal || use flatfile || use gdbm || use ldap || use mysql || |
| use pam || use passwd || use perl || use postgres || use shadow || |
| noauth=1 |
| |
| if [[ ${noauth} -eq 1 ]]; then |
| ewarn "None of tpop3d's authentication mechanism USE flags are set." |
| ewarn "As a result tpop3d will be built with /etc/passwd authentication only." |
| myconf="${myconf} --enable-auth-passwd" |
| fi |
| |
| # Other optional features |
| use debug && myconf="${myconf} --enable-backtrace" |
| use maildir && myconf="${myconf} --enable-mbox-maildir" |
| use mbox || myconf="${myconf} --disable-mbox-bsd" |
| use offensive || myconf="${myconf} --disable-snide-comments" |
| use sha1 || myconf="${myconf} --disable-sha1-passwords" |
| use ssl && myconf="${myconf} --enable-tls" |
| use tcpd && myconf="${myconf} --enable-tcp-wrappers" |
| |
| # Install mail-client/drac for integration with tpop3d |
| use drac && myconf="${myconf} --enable-drac" |
| |
| econf ${myconf} |
| |
| # Causes crash with "stack smashing attack" on connect, because of bug in |
| # SSP (bug #115285) |
| filter-flags -fstack-protector |
| } |
| |
| src_install() { |
| emake DESTDIR="${D}" install |
| dodir /etc/tpop3d |
| |
| if use pam ; then |
| dodir /etc/pam.d |
| dosym /etc/pam.d/pop3 /etc/pam.d/tpop3d |
| fi |
| |
| newinitd "${FILESDIR}/${PN}-1.5.4.init" tpop3d |
| } |
| |
| pkg_postinst() { |
| elog "Read the tpop3d.conf manpage" |
| elog "Please create /etc/tpop3d/tpop3d.conf to fit your configuration" |
| } |