PKGBUILDs/extra/imap/PKGBUILD
2009-10-09 21:23:22 -05:00

82 lines
2.6 KiB
Bash

# $Id: PKGBUILD 49412 2009-08-07 15:46:57Z pierre $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=imap
pkgver=2007e
pkgrel=1
pkgdesc="An IMAP/POP server"
arch=('i686' 'x86_64')
license=('APACHE')
url="http://www.washington.edu/imap"
depends=('openssl' 'pam')
provides=('imap-server' 'pop3-server')
conflicts=('courier-mta' 'courier-imap')
source=("ftp://ftp.cac.washington.edu/imap/${pkgname}-${pkgver}.tar.gz"
'imap' 'ipop2' 'ipop3')
backup=(etc/xinetd.d/{imap,ipop2,ipop3} etc/ssl/certs/{imapd,ipop3d}.pem)
md5sums=('7903800dc2604000016de070e0c55840'
'e77dedb80c2fec9bf2ef784ed5f976fb'
'cc3eba6453242aa0b1bc8881160b2136'
'0a5e27183a9b7e8ec5f6703125371e0a')
build() {
# fix Makefile
cd $srcdir/$pkgname-$pkgver/src/osdep/unix
cp Makefile Makefile.orig
sed \
-e "s:-g -fno-omit-frame-pointer -O6:\${CFLAGS}:" \
-e "s:SSLDIR=/usr/local/ssl:SSLDIR=/usr:" \
-e "s:SSLCERTS=\$(SSLDIR)/certs:SSLCERTS=/etc/ssl/certs:" \
< Makefile.orig > Makefile
cd $srcdir/$pkgname-$pkgver
# NOTE: if you wish to enforce SSL, use SSLTYPE=unix.nopwd
if [ "$CARCH" == "x86_64" ]; then
yes "y" | make lnp SPECIALAUTHENTICATORS=ssl SSLTYPE=unix EXTRACFLAGS="${CFLAGS} -fPIC" || return 1
else yes "y" | make lnp SPECIALAUTHENTICATORS=ssl SSLTYPE=unix || return 1
fi
mkdir -p $pkgdir/usr/sbin
install -D -m755 imapd/imapd $pkgdir/usr/sbin/imapd
install -D -m755 ipopd/ipop2d $pkgdir/usr/sbin/ipop2d
install -D -m755 ipopd/ipop3d $pkgdir/usr/sbin/ipop3d
for i in c-client mail imap4r1 rfc822 linkage misc smtp nntp \
osdep env_unix env fs ftl nl tcp sslio utf8 utf8aux; do
install -D -m644 c-client/${i}.h $pkgdir/usr/include/imap/${i}.h
done
install -D -m644 c-client/c-client.a $pkgdir/usr/lib/c-client.a
ln -sf c-client.a $pkgdir/usr/lib/libc-client.a
# create ssl certs for secure imap
for i in imapd ipop3d; do
umask 077
PEM1=`/usr/bin/mktemp /tmp/openssl.XXXXXX`
PEM2=`/usr/bin/mktemp /tmp/openssl.XXXXXX`
/usr/bin/openssl req -newkey rsa:1024 -keyout $$PEM1 \
-nodes -x509 -days 365 -out $$PEM2 << EOF
--
SomeState
SomeCity
SomeOrganization
SomeOrganizationalUnit
localhost.localdomain
root@localhost.localdomain
EOF
cat $$PEM1 > ${i}.pem
echo "" >> ${i}.pem
cat $$PEM2 >> ${i}.pem
rm $$PEM1 $$PEM2
umask 022
done
# install 'em
install -D -m600 imapd.pem $pkgdir/etc/ssl/certs/imapd.pem
install -D -m600 ipop3d.pem $pkgdir/etc/ssl/certs/ipop3d.pem
# install xinetd.d configs
install -D -m644 ../imap $pkgdir/etc/xinetd.d/imap
install -D -m644 ../ipop2 $pkgdir/etc/xinetd.d/ipop2
install -D -m644 ../ipop3 $pkgdir/etc/xinetd.d/ipop3
}