| 1 |
# Copyright 1999-2012 Gentoo Foundation
|
| 2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/curl-7.28.0.ebuild,v 1.2 2012/10/18 17:20:39 blueness Exp $
|
| 4 |
|
| 5 |
EAPI="4"
|
| 6 |
|
| 7 |
inherit autotools eutils prefix
|
| 8 |
|
| 9 |
DESCRIPTION="A Client that groks URLs"
|
| 10 |
HOMEPAGE="http://curl.haxx.se/"
|
| 11 |
SRC_URI="http://curl.haxx.se/download/${P}.tar.bz2"
|
| 12 |
|
| 13 |
LICENSE="MIT"
|
| 14 |
SLOT="0"
|
| 15 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
| 16 |
IUSE="adns idn ipv6 kerberos ldap metalink +nonblocking rtmp ssh ssl static-libs test threads"
|
| 17 |
IUSE="${IUSE} curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl curl_ssl_polarssl"
|
| 18 |
|
| 19 |
#lead to lots of false negatives, bug #285669
|
| 20 |
RESTRICT="test"
|
| 21 |
|
| 22 |
RDEPEND="ldap? ( net-nds/openldap )
|
| 23 |
ssl? (
|
| 24 |
curl_ssl_axtls? ( net-libs/axtls app-misc/ca-certificates )
|
| 25 |
curl_ssl_cyassl? ( net-libs/cyassl app-misc/ca-certificates )
|
| 26 |
curl_ssl_gnutls? (
|
| 27 |
|| (
|
| 28 |
( >=net-libs/gnutls-3[static-libs?] dev-libs/nettle )
|
| 29 |
( =net-libs/gnutls-2.12*[nettle,static-libs?] dev-libs/nettle )
|
| 30 |
( =net-libs/gnutls-2.12*[-nettle,static-libs?] dev-libs/libgcrypt[static-libs?] )
|
| 31 |
)
|
| 32 |
app-misc/ca-certificates
|
| 33 |
)
|
| 34 |
curl_ssl_openssl? ( dev-libs/openssl[static-libs?] )
|
| 35 |
curl_ssl_nss? ( dev-libs/nss app-misc/ca-certificates )
|
| 36 |
curl_ssl_polarssl? ( net-libs/polarssl app-misc/ca-certificates )
|
| 37 |
)
|
| 38 |
idn? ( net-dns/libidn[static-libs?] )
|
| 39 |
adns? ( net-dns/c-ares )
|
| 40 |
kerberos? ( virtual/krb5 )
|
| 41 |
metalink? ( >=media-libs/libmetalink-0.1.0 )
|
| 42 |
rtmp? ( media-video/rtmpdump )
|
| 43 |
ssh? ( net-libs/libssh2[static-libs?] )
|
| 44 |
sys-libs/zlib"
|
| 45 |
|
| 46 |
# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
|
| 47 |
# rtmp? (
|
| 48 |
# media-video/rtmpdump
|
| 49 |
# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
|
| 50 |
# curl_ssl_polarssl? ( media-video/rtmpdump[polarssl] )
|
| 51 |
# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,-polarssl,ssl] )
|
| 52 |
# )
|
| 53 |
|
| 54 |
# ssl providers to be added:
|
| 55 |
# fbopenssl $(use_with spnego)
|
| 56 |
|
| 57 |
# krb4 http://web.mit.edu/kerberos/www/krb4-end-of-life.html
|
| 58 |
|
| 59 |
DEPEND="${RDEPEND}
|
| 60 |
virtual/pkgconfig
|
| 61 |
test? (
|
| 62 |
sys-apps/diffutils
|
| 63 |
dev-lang/perl
|
| 64 |
)"
|
| 65 |
|
| 66 |
# c-ares must be disabled for threads
|
| 67 |
# metalink cannot use nss for its backend #433822
|
| 68 |
# only one ssl provider can be enabled
|
| 69 |
REQUIRED_USE="
|
| 70 |
threads? ( !adns )
|
| 71 |
metalink? ( !curl_ssl_nss )
|
| 72 |
ssl? (
|
| 73 |
^^ (
|
| 74 |
curl_ssl_axtls
|
| 75 |
curl_ssl_cyassl
|
| 76 |
curl_ssl_gnutls
|
| 77 |
curl_ssl_openssl
|
| 78 |
curl_ssl_nss
|
| 79 |
curl_ssl_polarssl
|
| 80 |
)
|
| 81 |
)"
|
| 82 |
|
| 83 |
DOCS=( CHANGES README docs/FEATURES docs/INTERNALS \
|
| 84 |
docs/MANUAL docs/FAQ docs/BUGS docs/CONTRIBUTE)
|
| 85 |
|
| 86 |
src_prepare() {
|
| 87 |
epatch \
|
| 88 |
"${FILESDIR}"/${PN}-7.28.0-prefix.patch \
|
| 89 |
"${FILESDIR}"/${PN}-respect-cflags-3.patch \
|
| 90 |
"${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
|
| 91 |
sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
|
| 92 |
|
| 93 |
eprefixify curl-config.in
|
| 94 |
eautoreconf
|
| 95 |
}
|
| 96 |
|
| 97 |
src_configure() {
|
| 98 |
einfo "\033[1;32m**************************************************\033[00m"
|
| 99 |
|
| 100 |
# We make use of the fact that later flags override earlier ones
|
| 101 |
# So start with all ssl providers off until proven otherwise
|
| 102 |
local myconf=()
|
| 103 |
myconf+=( --without-axtls --without-cyassl --without-gnutls --without-nss --without-polarssl --without-ssl )
|
| 104 |
myconf+=( --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
|
| 105 |
if use ssl ; then
|
| 106 |
if use curl_ssl_axtls; then
|
| 107 |
einfo "SSL provided by axtls"
|
| 108 |
einfo "NOTE: axtls is meant for embedded systems and"
|
| 109 |
einfo "may not be the best choice as an ssl provider"
|
| 110 |
myconf+=( --with-axtls )
|
| 111 |
fi
|
| 112 |
if use curl_ssl_cyassl; then
|
| 113 |
einfo "SSL provided by cyassl"
|
| 114 |
einfo "NOTE: cyassl is meant for embedded systems and"
|
| 115 |
einfo "may not be the best choice as an ssl provider"
|
| 116 |
myconf+=( --with-cyassl )
|
| 117 |
fi
|
| 118 |
if use curl_ssl_gnutls; then
|
| 119 |
einfo "SSL provided by gnutls"
|
| 120 |
if has_version ">=net-libs/gnutls-3" || has_version "=net-libs/gnutls-2.12*[nettle]"; then
|
| 121 |
einfo "gnutls compiled with dev-libs/nettle"
|
| 122 |
myconf+=( --with-gnutls --with-nettle )
|
| 123 |
else
|
| 124 |
einfo "gnutls compiled with dev-libs/libgcrypt"
|
| 125 |
myconf+=( --with-gnutls --without-nettle )
|
| 126 |
fi
|
| 127 |
fi
|
| 128 |
if use curl_ssl_nss; then
|
| 129 |
einfo "SSL provided by nss"
|
| 130 |
myconf+=( --with-nss )
|
| 131 |
fi
|
| 132 |
if use curl_ssl_polarssl; then
|
| 133 |
einfo "SSL provided by polarssl"
|
| 134 |
einfo "NOTE: polarssl is meant for embedded systems and"
|
| 135 |
einfo "may not be the best choice as an ssl provider"
|
| 136 |
myconf+=( --with-polarssl )
|
| 137 |
fi
|
| 138 |
if use curl_ssl_openssl; then
|
| 139 |
einfo "SSL provided by openssl"
|
| 140 |
myconf+=( --with-ssl --without-ca-bundle --with-ca-path="${EPREFIX}"/etc/ssl/certs )
|
| 141 |
fi
|
| 142 |
else
|
| 143 |
einfo "SSL disabled"
|
| 144 |
fi
|
| 145 |
einfo "\033[1;32m**************************************************\033[00m"
|
| 146 |
|
| 147 |
# These configuration options are organized alphabetically
|
| 148 |
# within each category. This should make it easier if we
|
| 149 |
# ever decide to make any of them contingent on USE flags:
|
| 150 |
# 1) protocols first. To see them all do
|
| 151 |
# 'grep SUPPORT_PROTOCOLS configure.ac'
|
| 152 |
# 2) --enable/disable options second.
|
| 153 |
# 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
|
| 154 |
# 3) --with/without options third.
|
| 155 |
# grep -- --with configure | grep Check | awk '{ print $4 }' | sort
|
| 156 |
econf \
|
| 157 |
--enable-dict \
|
| 158 |
--enable-file \
|
| 159 |
--enable-ftp \
|
| 160 |
--enable-gopher \
|
| 161 |
--enable-http \
|
| 162 |
--enable-imap \
|
| 163 |
$(use_enable ldap) \
|
| 164 |
$(use_enable ldap ldaps) \
|
| 165 |
--enable-pop3 \
|
| 166 |
--enable-rtsp \
|
| 167 |
$(use_with ssh libssh2) \
|
| 168 |
--enable-smtp \
|
| 169 |
--enable-telnet \
|
| 170 |
--enable-tftp \
|
| 171 |
$(use_enable adns ares) \
|
| 172 |
--enable-cookies \
|
| 173 |
--enable-hidden-symbols \
|
| 174 |
$(use_enable ipv6) \
|
| 175 |
--enable-largefile \
|
| 176 |
--enable-manual \
|
| 177 |
$(use_enable nonblocking) \
|
| 178 |
--enable-proxy \
|
| 179 |
--disable-soname-bump \
|
| 180 |
--disable-sspi \
|
| 181 |
$(use_enable static-libs static) \
|
| 182 |
$(use_enable threads threaded-resolver) \
|
| 183 |
--disable-versioned-symbols \
|
| 184 |
--without-darwinssl \
|
| 185 |
$(use_with idn libidn) \
|
| 186 |
$(use_with kerberos gssapi "${EPREFIX}"/usr) \
|
| 187 |
--without-krb4 \
|
| 188 |
$(use_with metalink libmetalink) \
|
| 189 |
$(use_with rtmp librtmp) \
|
| 190 |
--without-spnego \
|
| 191 |
--without-winidn \
|
| 192 |
--without-winssl \
|
| 193 |
--with-zlib \
|
| 194 |
"${myconf[@]}"
|
| 195 |
}
|
| 196 |
|
| 197 |
src_install() {
|
| 198 |
default
|
| 199 |
find "${ED}" -name '*.la' -delete
|
| 200 |
rm -rf "${ED}"/etc/
|
| 201 |
|
| 202 |
# https://sourceforge.net/tracker/index.php?func=detail&aid=1705197&group_id=976&atid=350976
|
| 203 |
insinto /usr/share/aclocal
|
| 204 |
doins docs/libcurl/libcurl.m4
|
| 205 |
}
|