summaryrefslogtreecommitdiff
blob: c9758a86b79d351bf42a5937839cf238986cce3f (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
152
153
154
155
156
157
# Copyright 1999-2000 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# Author Jerry Alexandratos <jerry@gentoo.org>
# /home/cvsroot/gentoo-x86/skel.ebuild,v 1.1 2000/10/09 18:00:52 achim Exp

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


DEPEND="virtual/glibc
        perl? ( >=sys-devel/perl-5.6.0 )
        pam? ( >=sys-libs/pam-0.75 )
        >=sys-libs/db-3.2"


TLS_DEP=">=dev-libs/openssl-0.9.6"
LDAP_DEP=">=net-nds/openldap-2.0.7"
MYSQL_DEP=">=dev-db/mysql-3.23.28"

if [ -n "`use mta-tls`" ]; then
    DEPEND="${DEPEND} ${TLS_DEP}"
fi

if [ -n "`use mta-ldap`" ]; then
    DEPEND="${DEPEND} ${LDAP_DEP}"
fi

if [ -n "`use mta-mysql`" ]; then
    DEPEND="${DEPEND} ${MYSQL_DEP}"
fi
RDEPEND="$DEPEND !virtual/mta >=net-mail/mailbase-0.00"

DEPEND="$DEPEND tcpd? ( sys-apps/tcp-wrappers )"


PROVIDE="virtual/mta"

src_unpack() {
    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:# 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
    local myconf
    if [ "`use pam`" ] ; then
        cp Makefile Makefile.orig
        sed -e "s:# SUPPORT_PAM=yes:SUPPORT_PAM=yes:" \
        Makefile.orig > Makefile
        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 ..
    try make

    if [ -n "`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 [ -n "`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() {
    cd ${S}
    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

    insopts -o root -g root -m 0755
    insinto /usr/sbin
    for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb \
    exim_lock exim_tidydb exinext exiwhat
    do
      doins $i
    done

    cd ${S}/util
    insopts -o root -g root -m 0755
    insinto /usr/sbin
    for i in exigrep eximstats exiqsumm
    do
      doins $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

    insopts -o root -g root -m 0755
    insinto /etc/rc.d/init.d
    doins ${FILESDIR}/exim

    dodoc ${S}/doc/*
}

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