diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-mail/uw-imap/uw-imap-2007f-r1.ebuild | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-mail/uw-imap/uw-imap-2007f-r1.ebuild')
-rw-r--r-- | net-mail/uw-imap/uw-imap-2007f-r1.ebuild | 162 |
1 files changed, 162 insertions, 0 deletions
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..fcacbbc643dd --- /dev/null +++ b/net-mail/uw-imap/uw-imap-2007f-r1.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 +} |