commit:     82a9c67b930581ce132fda5e15f675e5d2c816cd
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  9 16:06:00 2016 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Oct  9 16:19:01 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82a9c67b

net-libs/c-client: Support libressl (#595328)

Package-Manager: portage-2.3.1

 net-libs/c-client/c-client-2007f-r5.ebuild         | 137 +++++++++++++++++++++
 .../c-client/files/c-client-2007f-ldflags.patch    |   4 +-
 net-libs/c-client/files/c-client-2007f-topal.patch |   8 +-
 3 files changed, 143 insertions(+), 6 deletions(-)

diff --git a/net-libs/c-client/c-client-2007f-r5.ebuild 
b/net-libs/c-client/c-client-2007f-r5.ebuild
new file mode 100644
index 00000000..d5a3ee6
--- /dev/null
+++ b/net-libs/c-client/c-client-2007f-r5.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+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="Apache-2.0"
+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 libressl pam ssl 
static-libs topal chappa"
+
+RDEPEND="
+       ssl? (
+               !libressl? ( dev-libs/openssl:0= )
+               libressl? ( dev-libs/libressl:0= ) )
+       !net-mail/uw-imap
+       kerberos? ( app-crypt/mit-krb5 )
+"
+DEPEND="${RDEPEND}
+       kernel_linux? ( pam? ( >=sys-libs/pam-0.72 ) )
+"
+
+src_prepare() {
+       default
+
+       # 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
+       eapply "${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.
+       eapply "${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
+       eapply "${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 && eapply "${FILESDIR}/${P}-topal.patch"
+       use chappa && eapply "${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-ldflags.patch 
b/net-libs/c-client/files/c-client-2007f-ldflags.patch
index 5c143b7..2f1cf50 100644
--- a/net-libs/c-client/files/c-client-2007f-ldflags.patch
+++ b/net-libs/c-client/files/c-client-2007f-ldflags.patch
@@ -1,5 +1,5 @@
---- src/osdep/unix/Makefile~   2011-06-07 16:04:29.000000000 +0300
-+++ src/osdep/unix/Makefile    2011-06-07 15:55:31.000000000 +0300
+--- a/src/osdep/unix/Makefile~ 2011-06-07 16:04:29.000000000 +0300
++++ b/src/osdep/unix/Makefile  2011-06-07 15:55:31.000000000 +0300
 @@ -954,23 +954,24 @@
  
  # Once-only environment setup

diff --git a/net-libs/c-client/files/c-client-2007f-topal.patch 
b/net-libs/c-client/files/c-client-2007f-topal.patch
index 2b5db04..b15fa4e 100644
--- a/net-libs/c-client/files/c-client-2007f-topal.patch
+++ b/net-libs/c-client/files/c-client-2007f-topal.patch
@@ -1,6 +1,6 @@
 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
+*** a/src/c-client/mail.h      2008-08-08 18:34:22.000000000 +0100
+--- b/src/c-client/mail.h      2009-05-01 13:40:37.000000000 +0100
 ***************
 *** 775,780 ****
 --- 775,781 ----
@@ -12,8 +12,8 @@ diff -cr alpine-2.00.orig/imap/src/c-client/mail.h 
alpine-2.00.new/imap/src/c-cl
   };
   
 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
+*** a/src/c-client/mail.c      2008-06-04 19:39:54.000000000 +0100
+--- b/src/c-client/mail.c      2009-04-30 22:34:13.000000000 +0100
 ***************
 *** 2712,2717 ****
 --- 2712,2719 ----

Reply via email to