summaryrefslogtreecommitdiff
blob: 46c2b8519517302b92699a3102d0923e3f5426bf (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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Copyright 1999-2000 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: /var/cvsroot/gentoo-x86/net-mail/exim/exim-3.32.ebuild,v 1.8 2002/07/11 06:30:47 drobbins Exp $

S=${WORKDIR}/${P}
DESCRIPTION="A highly configurable, drop-in replacement for sendmail"
SRC_URI="ftp://ftp.exim.org/pub/exim/${P}.tar.gz"
HOMEPAGE="http://www.exim.org/"

DEPEND="virtual/glibc
        >=sys-libs/db-3.2
        >=sys-devel/perl-5.6.0
        pam? ( >=sys-libs/pam-0.75 )
        tcpd? ( sys-apps/tcp-wrappers )
        mta-tls? ( >=dev-libs/openssl-0.9.6 )
        mta-ldap? ( >=net-nds/openldap-2.0.7 )
        mta-mysql? ( >=dev-db/mysql-3.23.28 )"

RDEPEND="${DEPEND}
         !virtual/mta
         >=net-mail/mailbase-0.00"

PROVIDE="virtual/mta"


src_unpack() {

    local myconf
    unpack ${A}
    cd ${S}

    mkdir Local
    sed -e "48i\CFLAGS=${CFLAGS}" \
	-e "s:# AUTH_CRAM_MD5=yes:AUTH_CRAM_MD5=yes:" \
	-e "s:# AUTH_PLAINTEXT=yes:AUTH_PLAINTEXT=yes:" \
	-e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=/usr/sbin:" \
	-e "s:COMPRESS_COMMAND=/opt/gnu/bin/gzip:COMPRESS_COMMAND=/usr/bin/gzip:" \
	-e "s:ZCAT_COMMAND=/opt/gnu/bin/zcat:ZCAT_COMMAND=/usr/bin/zcat:" \
	-e "s:CONFIGURE_FILE=/usr/exim/configure:CONFIGURE_FILE=/etc/exim/configure:" \
	-e "s:EXIM_MONITOR=eximon.bin:# EXIM_MONITOR=eximon.bin:" \
	-e "s:# EXIM_PERL=perl.o:EXIM_PERL=perl.o:" \
	-e "s:# INFO_DIRECTORY=/usr/local/info:INFO_DIRECTORY=/usr/share/info:" \
	-e "s:# LOG_FILE_PATH=syslog:LOG_FILE_PATH=syslog:" \
	-e "s:# PID_FILE_PATH=/var/lock/exim%s.pid:PID_FILE_PATH=/var/run/exim%s.pid:" \
	-e "s:# SPOOL_DIRECTORY=/var/spool/exim:SPOOL_DIRECTORY=/var/spool/exim:" \
	-e "s:# SUPPORT_MAILDIR=yes:SUPPORT_MAILDIR=yes:" \
	src/EDITME > Local/Makefile

    cd Local
    if [ "`use pam`" ] ; then
	cp Makefile Makefile.orig
	sed -e "s:# SUPPORT_PAM=yes:SUPPORT_PAM=yes:" Makefile.orig > Makefile
	myconf="${myconf} -lpam"
    fi
    if [ "`use tcpd`" ] ; then
	cp Makefile Makefile.orig
	sed -e "s:# USE_TCP_WRAPPERS=yes:USE_TCP_WRAPPERS=yes:" Makefile.orig > Makefile
	myconf="${myconf} -lwrap"
    fi
    if [ "$myconf" ] ; then
	echo "EXTRALIBS=${myconf}" >> Makefile
    fi

    cd ${S}
    if [ "`use mta-tls`" ] ; then
	cp Local/Makefile Local/Makefile.tmp
	sed -e "s:# SUPPORT_TLS=yes:SUPPORT_TLS=yes:" \
	    -e "s:# TLS_LIBS=-lssl -lcrypto:TLS_LIBS=-lssl -lcrypto:" Local/Makefile.tmp > Local/Makefile
    fi
    if [ "`use mta-ldap`" ] ; then
	cp Local/Makefile Local/Makefile.tmp
	sed -e "s:# LOOKUP_LDAP=yes:LOOKUP_LDAP=yes:" \
	    -e "s:# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include:LOOKUP_INCLUDE=-I/usr/include/ldap -I/usr/include/mysql:" \
	    -e "s:# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq:LOOKUP_LIBS=-L/usr/lib -lldap -llber -lmysqlclient -lpq:" \
	    -e "s:# LDAP_LIB_TYPE=OPENLDAP2:LDAP_LIB_TYPE=OPENLDAP2:" Local/Makefile.tmp >| Local/Makefile
    fi
    if [ -n "`use mta-mysql`" ] ; then
	cp Local/Makefile Local/Makefile.tmp
	sed -e "s:# LOOKUP_MYSQL=yes:LOOKUP_MYSQL=yes:" \
	    -e "s:# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq:LOOKUP_LIBS=-L/usr/lib -lldap -llber -lmysqlclient -lpq:" Local/Makefile.tmp >| Local/Makefile
    fi
}


src_compile() {

    try make
}


src_install () {

    cd ${S}/build-Linux-i386
    insopts -o root -g root -m 4755
    insinto /usr/sbin
    doins exim

    dodir /usr/bin /usr/sbin /usr/lib
    dosym /usr/sbin/exim /usr/bin/mailq
    dosym /usr/sbin/exim /usr/bin/newaliases
    dosym /usr/sbin/exim /usr/bin/mail
    dosym /usr/sbin/exim /usr/lib/sendmail
    dosym /usr/sbin/exim /usr/sbin/sendmail

    exeinto /usr/sbin
    for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock exim_tidydb exinext exiwhat
    do
	doexe $i
    done

    cd ${S}/util
    exeinto /usr/sbin
    for i in exigrep eximstats exiqsumm
    do
	doexe $i
    done

    dodir /etc/exim /etc/exim/samples

    insopts -o root -g root -m 0644
    insinto /etc/exim
    doins ${FILESDIR}/configure

    cd ${S}/src
    insopts -o root -g root -m 0644
    insinto /etc/exim/samples
    doins configure.default

    dodoc ${S}/doc/*

    # INSTALL a pam.d file for SMTP AUTH that works with gentoo's pam
    insinto /etc/pam.d
    doins ${FILESDIR}/pam.d-exim

    # A nice filter for exim to protect your windows clients.
    insinto /etc/exim
    doins ${FILESDIR}/system_filter.exim
    einfo "Read the bottom of /etc/exim/system_filter.exim for usage"
    dodoc ${FILESDIR}/auth_conf.sub
    einfo "Cat this to the end of your configure for AUTH=PAM support"
    # FIXME The above messages should be moved into pkg_postinst !!!

    exeinto /etc/rc.d/init.d
    newexe ${FILESDIR}/exim.rc5 exim
}


pkg_config() {

    ${ROOT}/usr/sbin/rc-update add exim
}