diff options
author | Eray Aslan <eras@gentoo.org> | 2012-10-15 12:35:16 +0000 |
---|---|---|
committer | Eray Aslan <eras@gentoo.org> | 2012-10-15 12:35:16 +0000 |
commit | 3cc3d0e573bd8e48db44c959a118ff59a0d7be44 (patch) | |
tree | 85067016b53d48668cd11fc4cc43c4ebb822b6ca | |
parent | Version bump. Fixes bugs #437264 and #437264. (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | net-libs/c-client/c-client-2007f-r4.ebuild | 131 | ||||
-rw-r--r-- | net-libs/c-client/files/c-client-2007f-topal.patch | 27 | ||||
-rw-r--r-- | net-libs/c-client/metadata.xml | 4 |
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> |