summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEray Aslan <eras@gentoo.org>2012-07-11 19:17:27 +0000
committerEray Aslan <eras@gentoo.org>2012-07-11 19:17:27 +0000
commitb13d91c5da4e14bd5a1c91db66aa4b744e3bb2e1 (patch)
tree75df99b78c20017d0beaf63bdbb04d929c8c659f /net-mail
parentMarking mtdev-1.1.2 ppc64 for bug 419473 (diff)
downloadgentoo-2-b13d91c5da4e14bd5a1c91db66aa4b744e3bb2e1.tar.gz
gentoo-2-b13d91c5da4e14bd5a1c91db66aa4b744e3bb2e1.tar.bz2
gentoo-2-b13d91c5da4e14bd5a1c91db66aa4b744e3bb2e1.zip
Make build system multilib aware
(Portage version: 2.1.11.5/cvs/Linux x86_64)
Diffstat (limited to 'net-mail')
-rw-r--r--net-mail/uw-imap/ChangeLog7
-rw-r--r--net-mail/uw-imap/uw-imap-2007f-r1.ebuild162
2 files changed, 168 insertions, 1 deletions
diff --git a/net-mail/uw-imap/ChangeLog b/net-mail/uw-imap/ChangeLog
index 90d0b57704be..265eee3db9f4 100644
--- a/net-mail/uw-imap/ChangeLog
+++ b/net-mail/uw-imap/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-mail/uw-imap
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/uw-imap/ChangeLog,v 1.135 2012/03/09 14:10:36 eras Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/uw-imap/ChangeLog,v 1.136 2012/07/11 19:17:27 eras Exp $
+
+*uw-imap-2007f-r1 (11 Jul 2012)
+
+ 11 Jul 2012; Eray Aslan <eras@gentoo.org> +uw-imap-2007f-r1.ebuild:
+ Make build system multilib aware
09 Mar 2012; Eray Aslan <eras@gentoo.org> -uw-imap-2007e-r1.ebuild,
-uw-imap-2007e-r2.ebuild:
diff --git a/net-mail/uw-imap/uw-imap-2007f-r1.ebuild b/net-mail/uw-imap/uw-imap-2007f-r1.ebuild
new file mode 100644
index 000000000000..ac093f32b3d5
--- /dev/null
+++ b/net-mail/uw-imap/uw-imap-2007f-r1.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/uw-imap/uw-imap-2007f-r1.ebuild,v 1.1 2012/07/11 19:17:27 eras Exp $
+
+EAPI=4
+
+inherit eutils flag-o-matic ssl-cert multilib
+
+MY_P="imap-${PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="UW server daemons for IMAP and POP network mail protocols."
+SRC_URI="ftp://ftp.cac.washington.edu/imap/${MY_P}.tar.Z"
+HOMEPAGE="http://www.washington.edu/imap/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="ipv6 +ssl kerberos clearpasswd"
+
+DEPEND="!net-libs/c-client
+ >=sys-libs/pam-0.72
+ >=net-mail/mailbase-0.00-r8[pam]
+ ssl? ( dev-libs/openssl )
+ kerberos? ( app-crypt/mit-krb5 )"
+
+RDEPEND="${DEPEND}
+ >=net-mail/uw-mailutils-${PV}
+ sys-apps/xinetd"
+
+# get rid of old style virtual - bug 350792
+# all blockers really needed?
+RDEPEND="${RDEPEND}
+ !net-mail/dovecot
+ !mail-mta/courier
+ !net-mail/courier-imap
+ !net-mail/cyrus-imapd"
+
+REQUIRED_USE="!clearpasswd? ( ssl )"
+
+src_unpack() {
+ unpack ${A}
+ # Tarball packed with bad file perms
+ chmod -R ug+w "${S}"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2004c-amd64-so-fix.patch
+ epatch "${FILESDIR}/${PN}-ldflags.patch"
+
+ # no interactive build
+ sed -i -e "/read x; case/s/^/#/" Makefile || die
+ sed -i -e "/make noip6/s/.*/\t@echo/" Makefile || die
+
+ # Now we must make all the individual Makefiles use different CFLAGS,
+ # otherwise they would all use -fPIC
+ sed -i -e "s|\`cat \$C/CFLAGS\`|${CFLAGS}|g" src/dmail/Makefile \
+ src/imapd/Makefile src/ipopd/Makefile src/mailutil/Makefile \
+ src/mlock/Makefile src/mtest/Makefile src/tmail/Makefile \
+ || die "sed failed patching Makefile FLAGS."
+
+ # Now there is only c-client left, which should be built with -fPIC
+ append-flags -fPIC
+
+ sed -i \
+ -e "s:BASECFLAGS=\".*\":BASECFLAGS=:g" \
+ -e 's,SSLDIR=/usr/local/ssl,SSLDIR=/usr,g' \
+ -e 's,SSLCERTS=$(SSLDIR)/certs,SSLCERTS=/etc/ssl/certs,g' \
+ src/osdep/unix/Makefile || die
+
+ sed -i \
+ -e "s/CC=cc/CC=$(tc-getCC)/" \
+ -e "s/ARRC=ar/ARRC=$(tc-getAR)/" \
+ -e "s/RANLIB=ranlib/RANLIB=$(tc-getRANLIB)/" \
+ src/osdep/unix/Makefile || die
+
+ sed -i -e "s,GSSDIR=/usr/local,GSSDIR=/usr,g" \
+ src/osdep/unix/Makefile.gss || die
+
+ # Make the build system more multilib aware
+ sed \
+ -e "s:^SSLLIB=\$(SSLDIR)/lib:SSLLIB=\$(SSLDIR)/$(get_libdir):" \
+ -e "s:^AFSLIB=\$(AFSDIR)/lib:AFSLIB=\$(AFSDIR)/$(get_libdir):" \
+ -i src/osdep/unix/Makefile || die "Makefile sed fixing failed"
+}
+
+src_compile() {
+ local mymake ipver ssltype target
+ ipver="IP=4"
+ target=lnp
+ use ipv6 && ipver="IP=6"
+ use kerberos && mymake="EXTRAAUTHENTICATORS=gss"
+ use kernel_FreeBSD && target=bsf
+ if use ssl ; then
+ if use clearpasswd ; then
+ ssltype=unix
+ else
+ ssltype=unix.nopwd
+ fi
+ else
+ ssltype=none
+ fi
+
+ emake -j1 SSLTYPE=${ssltype} ${target} ${mymake} ${ipver} EXTRACFLAGS="${CFLAGS}" EXTRALDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dosbin imapd/imapd ipopd/ipop?d dmail/dmail tmail/tmail
+ dobin mlock/mlock
+
+ dolib.so c-client/libc-client.so.1.0.0
+ dosym libc-client.so.1.0.0 /usr/$(get_libdir)/libc-client.so
+ dosym libc-client.so.1.0.0 /usr/$(get_libdir)/libc-client.so.1
+
+ insinto /usr/include/imap
+ doins src/c-client/{c-client,flstring,mail,imap4r1,rfc822,misc,smtp,nntp,utf8,utf8aux}.h
+ doins src/c-client/{env,fs,ftl,nl,tcp}.h
+ doins src/osdep/unix/env_unix.h
+ doins c-client/linkage.{c,h}
+
+ dolib.a c-client/c-client.a
+ dosym c-client.a /usr/$(get_libdir)/libc-client.a
+
+ doman src/ipopd/ipopd.8 src/imapd/imapd.8
+ doman src/dmail/dmail.1 src/tmail/tmail.1
+ dodoc README docs/*.txt docs/CONFIG docs/RELNOTES
+
+ docinto rfc
+ dodoc docs/rfc/*.txt
+
+ # install headers - bug #375393
+ cp c-client/*.h "${D}"/usr/include/imap/ || die
+ cp c-client/linkage.c "${D}"/usr/include/imap/ || die
+ #exclude these dupes (can't do it before now due to symlink hell)
+ rm "${D}"/usr/include/imap/os_*.h
+
+ # gentoo config stuff
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/uw-imap.xinetd imap
+ newins "${FILESDIR}"/uw-ipop2.xinetd ipop2
+ newins "${FILESDIR}"/uw-ipop3.xinetd ipop3
+ newins "${FILESDIR}"/uw-ipop3s.xinetd ipop3s
+ newins "${FILESDIR}"/uw-imaps.xinetd imaps
+}
+
+pkg_postinst() {
+ if use ssl; then
+ # Let's not make a new certificate if we already have one
+ if ! [[ -e "${ROOT}"/etc/ssl/certs/imapd.pem && \
+ -e "${ROOT}"/etc/ssl/certs/imapd.key ]]; then
+ einfo "Creating SSL certificate for IMAP"
+ SSL_ORGANIZATION="${SSL_ORGANIZATION:-UW-IMAP Server}"
+ install_cert /etc/ssl/certs/imapd
+ fi
+ if ! [[ -e "${ROOT}"/etc/ssl/certs/ipop3d.pem && \
+ -e "${ROOT}"/etc/ssl/certs/ipop3d.key ]]; then
+ einfo "Creating SSL certificate for POP3"
+ SSL_ORGANIZATION="${SSL_ORGANIZATION:-UW-POP3 Server}"
+ install_cert /etc/ssl/certs/ipop3d
+ fi
+ fi
+}