blob: 8635c3e353026b7ea77ed990312245679e7ab8b2 (
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-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/cyrus-sasl-2.1.15.ebuild,v 1.7 2004/06/03 17:00:39 agriffis Exp $
IUSE="gdbm berkdb ldap mysql kerberos static ssl java pam" # otp krb4
inherit eutils flag-o-matic
DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
HOMEPAGE="http://asg.web.cmu.edu/sasl/"
SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz"
LICENSE="as-is"
SLOT="2"
KEYWORDS="~x86 ~ppc ~sparc ~hppa ~amd64 ~alpha"
RDEPEND=">=sys-libs/db-3.2
>=sys-libs/pam-0.75
>=dev-libs/openssl-0.9.6d
gdbm? ( >=sys-libs/gdbm-1.8.0 )
berkdb? ( >=sys-libs/db-3.2.9 )
ldap? ( >=net-nds/openldap-2.0.25 )
mysql? ( >=dev-db/mysql-3.23.51 )
kerberos? ( >=app-crypt/mit-krb5-1.2.6 )
java? ( virtual/jdk )"
DEPEND="${RDEPEND}
sys-devel/libtool
sys-devel/autoconf
sys-devel/automake"
src_unpack() {
unpack ${A}; cd ${S}
# Updated the cyrus-sasl-2.1.14-db4.patch
epatch ${FILESDIR}/2.1.14-db4.patch
}
src_compile() {
# compaq-sdk checks for -D_REENTRANT.
# use -pthread to take care of all the cpp stuff.
# -taviso #24998 (17 Aug 03)
use alpha && append-flags -pthread -D_REENTRANT
libtoolize --copy --force
aclocal -I config -I cmulocal || die
autoheader || die
automake -a --foreign || die
autoconf || die
autoconf saslauthd/configure.in > saslauthd/configure || die
chmod +x saslauthd/configure || die
local myconf
myconf="--with-gnu-ld --enable-login --enable-ntlm"
use static && myconf="${myconf} --enable-static"
use ssl && myconf="${myconf} --with-openssl" \
|| myconf="${myconf} --without-openssl"
use ldap && myconf="${myconf} --with-ldap" \
|| myconf="${myconf} --without-ldap"
use mysql && myconf="${myconf} --with-mysql" \
|| myconf="${myconf} --without-mysql"
if use berkdb; then
myconf="${myconf} --with-dblib=berkeley"
elif use gdbm; then
myconf="${myconf} --with-dblib=gdbm --with-gdbm=/usr"
else
myconf="${myconf} --with-dblib=berkeley"
fi
use kerberos && myconf="${myconf} --enable-gssapi" \
|| myconf="${myconf} --disable-gssapi"
# Kerberos 4 support doesn't compile.. and i'm not sure why
# If you want to test/fix for me, emerge kth-krb
# and have at it. :) -raker 02/07/2003
#
#if use krb4; then
# myconf="${myconf} --enable-krb4=/usr/athena"
#else
myconf="${myconf} --disable-krb4"
#fi
use java && myconf="${myconf} --enable-java --with-javabase=${JAVA_HOME}"
use pam || myconf="${myconf} --without-pam"
# opie is not in portage yet so no otp support
myconf="${myconf} --disable-otp"
# use otp && myconf="${myconf} --with-opie=/usr"
econf \
--with-saslauthd=/var/lib/sasl2 \
--with-pwcheck=/var/lib/sasl2 \
--with-configdir=/etc/sasl2 \
--with-plugindir=/usr/lib/sasl2 \
--with-dbpath=/etc/sasl2/sasldb2 \
${myconf} || die "econf failed"
emake || die "compile problem"
}
src_install () {
einstall || die "install problem"
dodoc AUTHORS ChangeLog COPYING NEWS README doc/*.txt
docinto examples ; dodoc sample/{*.[ch],Makefile}
newdoc pwcheck/README README.pwcheck
dohtml doc/*
dodir /var/lib/sasl2
dodir /etc/sasl2
# generate an empty sasldb2 with correct permissions
LD_OLD=${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=${S}/lib/.libs
echo "gentoo" | ${D}usr/sbin/saslpasswd2 -f ${D}etc/sasl2/sasldb2 -p cyrus
${D}usr/sbin/saslpasswd2 -f ${D}etc/sasl2/sasldb2 -d cyrus
export LD_LIBRARY_PATH=${LD_OLD}
chown root:mail ${D}etc/sasl2/sasldb2
chmod 0640 ${D}etc/sasl2/sasldb2
insinto /etc/conf.d ; newins ${FILESDIR}/saslauthd.conf saslauthd
exeinto /etc/init.d ; newexe ${FILESDIR}/saslauthd2.rc6 saslauthd
exeinto /etc/init.d ; newexe ${FILESDIR}/pwcheck.rc6 pwcheck
}
|