summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEray Aslan <eras@gentoo.org>2012-10-15 12:35:16 +0000
committerEray Aslan <eras@gentoo.org>2012-10-15 12:35:16 +0000
commit3cc3d0e573bd8e48db44c959a118ff59a0d7be44 (patch)
tree85067016b53d48668cd11fc4cc43c4ebb822b6ca
parentVersion bump. Fixes bugs #437264 and #437264. (diff)
downloadgentoo-2-3cc3d0e573bd8e48db44c959a118ff59a0d7be44.tar.gz
gentoo-2-3cc3d0e573bd8e48db44c959a118ff59a0d7be44.tar.bz2
gentoo-2-3cc3d0e573bd8e48db44c959a118ff59a0d7be44.zip
Add topal and chappa USE flags for use with mail-client/alpine - bug #391387. Fix ssl linkage.
(Portage version: 2.2.0_alpha138/cvs/Linux x86_64, signed Manifest commit with key 0x586A3B1F)
-rw-r--r--net-libs/c-client/ChangeLog9
-rw-r--r--net-libs/c-client/c-client-2007f-r4.ebuild131
-rw-r--r--net-libs/c-client/files/c-client-2007f-topal.patch27
-rw-r--r--net-libs/c-client/metadata.xml4
4 files changed, 170 insertions, 1 deletions
diff --git a/net-libs/c-client/ChangeLog b/net-libs/c-client/ChangeLog
index 5610ae897512..65a19a9de3d2 100644
--- a/net-libs/c-client/ChangeLog
+++ b/net-libs/c-client/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-libs/c-client
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/c-client/ChangeLog,v 1.93 2012/10/08 23:39:18 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/c-client/ChangeLog,v 1.94 2012/10/15 12:35:16 eras Exp $
+
+*c-client-2007f-r4 (15 Oct 2012)
+
+ 15 Oct 2012; Eray Aslan <eras@gentoo.org> +c-client-2007f-r4.ebuild,
+ +files/c-client-2007f-topal.patch, metadata.xml:
+ Add topal and chappa USE flags for use with mail-client/alpine - bug #391387.
+ Fix ssl linkage.
08 Oct 2012; Robin H. Johnson <robbat2@gentoo.org>
+files/c-client-2007f-ldflags.patch, c-client-2007f-r3.ebuild:
diff --git a/net-libs/c-client/c-client-2007f-r4.ebuild b/net-libs/c-client/c-client-2007f-r4.ebuild
new file mode 100644
index 000000000000..314ccf0f8ac2
--- /dev/null
+++ b/net-libs/c-client/c-client-2007f-r4.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/c-client/c-client-2007f-r4.ebuild,v 1.1 2012/10/15 12:35:16 eras Exp $
+
+EAPI=4
+
+inherit flag-o-matic eutils libtool toolchain-funcs multilib
+
+MY_PN=imap
+MY_P="${MY_PN}-${PV}"
+S=${WORKDIR}/${MY_P}
+
+CHAPPA_PL=115
+DESCRIPTION="UW IMAP c-client library"
+HOMEPAGE="http://www.washington.edu/imap/"
+SRC_URI="ftp://ftp.cac.washington.edu/imap/${MY_P}.tar.Z
+ chappa? ( mirror://gentoo/${P}-chappa-${CHAPPA_PL}-all.patch.gz )"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc +ipv6 kerberos kernel_linux kernel_FreeBSD pam ssl static-libs topal chappa"
+
+RDEPEND="ssl? ( dev-libs/openssl )
+ !net-mail/uw-imap
+ kerberos? ( app-crypt/mit-krb5 )"
+DEPEND="${RDEPEND}
+ kernel_linux? ( pam? ( >=sys-libs/pam-0.72 ) )"
+
+src_prepare() {
+ # Tarball packed with bad file perms
+ chmod -R u+rwX,go-w .
+
+ # lots of things need -fPIC, including various platforms, and this library
+ # generally should be built with it anyway.
+ append-flags -fPIC
+
+ # Modifications so we can build it optimally and correctly
+ sed \
+ -e "s:BASECFLAGS=\".*\":BASECFLAGS=:g" \
+ -e 's:SSLDIR=/usr/local/ssl:SSLDIR=/usr:g' \
+ -e 's:SSLCERTS=$(SSLDIR)/certs:SSLCERTS=/etc/ssl/certs:g' \
+ -i src/osdep/unix/Makefile || die "Makefile sed fixing failed"
+
+ # 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"
+
+ # Targets should use the Gentoo (ie linux) fs
+ sed -e '/^bsf:/,/^$/ s:ACTIVEFILE=.*:ACTIVEFILE=/var/lib/news/active:g' \
+ -i src/osdep/unix/Makefile || die "Makefile sex fixing failed for FreeBSD"
+
+ # Apply a patch to only build the stuff we need for c-client
+ epatch "${FILESDIR}"/${PN}-2006k_GENTOO_Makefile.patch
+
+ # Apply patch to add the compilation of a .so for PHP
+ # This was previously conditional, but is more widely useful.
+ epatch "${FILESDIR}"/${PN}-2006k_GENTOO_amd64-so-fix.patch
+
+ # Remove the pesky checks about SSL stuff
+ sed -e '/read.*exit/d' -i Makefile || die
+
+ # Respect LDFLAGS
+ epatch "${FILESDIR}"/${PN}-2007f-ldflags.patch
+ sed -e "s/CC=cc/CC=$(tc-getCC)/" \
+ -e "s/ARRC=ar/ARRC=$(tc-getAR)/" \
+ -e "s/RANLIB=ranlib/RANLIB=$(tc-getRANLIB)/" \
+ -i src/osdep/unix/Makefile || die "Respecting build flags"
+
+ use topal && epatch "${FILESDIR}/${P}-topal.patch"
+ use chappa && epatch "${DISTDIR}/${P}-chappa-${CHAPPA_PL}-all.patch.gz"
+
+ elibtoolize
+}
+
+src_compile() {
+ local mymake ipver ssltype target passwdtype
+ ipver='IP=4'
+ use ipv6 && ipver="IP=6" && touch ip6
+ use ssl && ssltype="unix" || ssltype="none"
+ if use kernel_linux ; then
+ use pam && target=lnp passwdtype=pam || target=lnx passwdtype=std
+ elif use kernel_FreeBSD ; then
+ target=bsf passwdtype=pam
+ fi
+ use kerberos \
+ && mymake="EXTRAAUTHENTICATORS=gss" \
+ && EXTRALIBS="-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" \
+ # no parallel builds supported!
+ emake -j1 SSLTYPE=${ssltype} $target \
+ PASSWDTYPE=${passwdtype} ${ipver} ${mymake} \
+ EXTRACFLAGS="${CFLAGS}" \
+ EXTRALDFLAGS="${LDFLAGS}" \
+ EXTRALIBS="${EXTRALIBS}" \
+ GSSDIR=/usr
+}
+
+src_install() {
+ if use static-libs; then
+ # Library binary
+ dolib.a c-client/c-client.a
+ dosym c-client.a /usr/$(get_libdir)/libc-client.a
+ fi
+
+ # Now the shared library
+ 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
+
+ # Headers
+ insinto /usr/include/imap
+ doins src/osdep/unix/*.h
+ doins src/c-client/*.h
+ doins c-client/linkage.h
+ doins c-client/linkage.c
+ doins c-client/osdep.h
+ if use ssl; then
+ echo " ssl_onceonlyinit ();" >> "${D}"/usr/include/imap/linkage.c || die
+ fi
+ # Docs
+ dodoc README docs/*.txt docs/BUILD docs/CONFIG docs/RELNOTES docs/SSLBUILD
+ if use doc; then
+ docinto rfc
+ dodoc docs/rfc/*.txt
+ docinto draft
+ dodoc docs/draft/*
+ fi
+}
diff --git a/net-libs/c-client/files/c-client-2007f-topal.patch b/net-libs/c-client/files/c-client-2007f-topal.patch
new file mode 100644
index 000000000000..2b5db04cace5
--- /dev/null
+++ b/net-libs/c-client/files/c-client-2007f-topal.patch
@@ -0,0 +1,27 @@
+diff -cr alpine-2.00.orig/imap/src/c-client/mail.h alpine-2.00.new/imap/src/c-client/mail.h
+*** src/c-client/mail.h 2008-08-08 18:34:22.000000000 +0100
+--- src/c-client/mail.h 2009-05-01 13:40:37.000000000 +0100
+***************
+*** 775,780 ****
+--- 775,781 ----
+ unsigned long bytes; /* size of text in octets */
+ } size;
+ char *md5; /* MD5 checksum */
++ unsigned short topal_hack; /* set to 1 if topal has wrecked the sending */
+ void *sparep; /* spare pointer reserved for main program */
+ };
+
+diff -cr alpine-2.00.orig/imap/src/c-client/mail.c alpine-2.00.new/imap/src/c-client/mail.c
+*** src/c-client/mail.c 2008-06-04 19:39:54.000000000 +0100
+--- src/c-client/mail.c 2009-04-30 22:34:13.000000000 +0100
+***************
+*** 2712,2717 ****
+--- 2712,2719 ----
+ BODY *b = NIL;
+ PART *pt;
+ unsigned long i;
++ /* Topal hack 2 */
++ mail_fetchstructure (stream,msgno,&b);
+ /* make sure have a body */
+ if (section && *section && mail_fetchstructure (stream,msgno,&b) && b)
+ while (*section) { /* find desired section */
diff --git a/net-libs/c-client/metadata.xml b/net-libs/c-client/metadata.xml
index d257d4fc66f9..20b32568dbd9 100644
--- a/net-libs/c-client/metadata.xml
+++ b/net-libs/c-client/metadata.xml
@@ -4,5 +4,9 @@
<herd>net-mail</herd>
<use>
<flag name="doc">Install RFCs related to IMAP</flag>
+ <flag name='topal'>Enable support for <pkg>net-mail/topal</pkg>
+ for use with <pkg>mail-client/alpine</pkg></flag>
+ <flag name='chappa'>Enable Eduardo Chappa's patches for use with
+ <pkg>mail-client/alpine</pkg> (mainly adds support for maildir)</flag>
</use>
</pkgmetadata>