1 |
# Copyright 1999-2013 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.30.0.ebuild,v 1.14 2013/11/06 17:57:09 zerochaos Exp $ |
4 |
|
5 |
EAPI="5" |
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 ~arm-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 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 |
# only one ssl provider can be enabled |
68 |
REQUIRED_USE=" |
69 |
threads? ( !adns ) |
70 |
ssl? ( |
71 |
^^ ( |
72 |
curl_ssl_axtls |
73 |
curl_ssl_cyassl |
74 |
curl_ssl_gnutls |
75 |
curl_ssl_openssl |
76 |
curl_ssl_nss |
77 |
curl_ssl_polarssl |
78 |
) |
79 |
)" |
80 |
|
81 |
DOCS=( CHANGES README docs/FEATURES docs/INTERNALS \ |
82 |
docs/MANUAL docs/FAQ docs/BUGS docs/CONTRIBUTE) |
83 |
|
84 |
src_prepare() { |
85 |
epatch \ |
86 |
"${FILESDIR}"/${PN}-7.30.0-prefix.patch \ |
87 |
"${FILESDIR}"/${PN}-respect-cflags-3.patch \ |
88 |
"${FILESDIR}"/${PN}-fix-gnutls-nettle.patch |
89 |
sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241 |
90 |
|
91 |
eprefixify curl-config.in |
92 |
eautoreconf |
93 |
} |
94 |
|
95 |
src_configure() { |
96 |
einfo "\033[1;32m**************************************************\033[00m" |
97 |
|
98 |
# We make use of the fact that later flags override earlier ones |
99 |
# So start with all ssl providers off until proven otherwise |
100 |
local myconf=() |
101 |
myconf+=( --without-axtls --without-cyassl --without-gnutls --without-nss --without-polarssl --without-ssl ) |
102 |
myconf+=( --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) |
103 |
if use ssl ; then |
104 |
if use curl_ssl_axtls; then |
105 |
einfo "SSL provided by axtls" |
106 |
einfo "NOTE: axtls is meant for embedded systems and" |
107 |
einfo "may not be the best choice as an ssl provider" |
108 |
myconf+=( --with-axtls ) |
109 |
fi |
110 |
if use curl_ssl_cyassl; then |
111 |
einfo "SSL provided by cyassl" |
112 |
einfo "NOTE: cyassl is meant for embedded systems and" |
113 |
einfo "may not be the best choice as an ssl provider" |
114 |
myconf+=( --with-cyassl ) |
115 |
fi |
116 |
if use curl_ssl_gnutls; then |
117 |
einfo "SSL provided by gnutls" |
118 |
if has_version ">=net-libs/gnutls-3" || has_version "=net-libs/gnutls-2.12*[nettle]"; then |
119 |
einfo "gnutls compiled with dev-libs/nettle" |
120 |
myconf+=( --with-gnutls --with-nettle ) |
121 |
else |
122 |
einfo "gnutls compiled with dev-libs/libgcrypt" |
123 |
myconf+=( --with-gnutls --without-nettle ) |
124 |
fi |
125 |
fi |
126 |
if use curl_ssl_nss; then |
127 |
einfo "SSL provided by nss" |
128 |
myconf+=( --with-nss ) |
129 |
fi |
130 |
if use curl_ssl_polarssl; then |
131 |
einfo "SSL provided by polarssl" |
132 |
einfo "NOTE: polarssl is meant for embedded systems and" |
133 |
einfo "may not be the best choice as an ssl provider" |
134 |
myconf+=( --with-polarssl ) |
135 |
fi |
136 |
if use curl_ssl_openssl; then |
137 |
einfo "SSL provided by openssl" |
138 |
myconf+=( --with-ssl --without-ca-bundle --with-ca-path="${EPREFIX}"/etc/ssl/certs ) |
139 |
fi |
140 |
else |
141 |
einfo "SSL disabled" |
142 |
fi |
143 |
einfo "\033[1;32m**************************************************\033[00m" |
144 |
|
145 |
# These configuration options are organized alphabetically |
146 |
# within each category. This should make it easier if we |
147 |
# ever decide to make any of them contingent on USE flags: |
148 |
# 1) protocols first. To see them all do |
149 |
# 'grep SUPPORT_PROTOCOLS configure.ac' |
150 |
# 2) --enable/disable options second. |
151 |
# 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort |
152 |
# 3) --with/without options third. |
153 |
# grep -- --with configure | grep Check | awk '{ print $4 }' | sort |
154 |
econf \ |
155 |
--enable-dict \ |
156 |
--enable-file \ |
157 |
--enable-ftp \ |
158 |
--enable-gopher \ |
159 |
--enable-http \ |
160 |
--enable-imap \ |
161 |
$(use_enable ldap) \ |
162 |
$(use_enable ldap ldaps) \ |
163 |
--enable-pop3 \ |
164 |
--enable-rtsp \ |
165 |
$(use_with ssh libssh2) \ |
166 |
--enable-smtp \ |
167 |
--enable-telnet \ |
168 |
--enable-tftp \ |
169 |
$(use_enable adns ares) \ |
170 |
--enable-cookies \ |
171 |
--enable-hidden-symbols \ |
172 |
$(use_enable ipv6) \ |
173 |
--enable-largefile \ |
174 |
--enable-manual \ |
175 |
--enable-proxy \ |
176 |
--disable-soname-bump \ |
177 |
--disable-sspi \ |
178 |
$(use_enable static-libs static) \ |
179 |
$(use_enable threads threaded-resolver) \ |
180 |
--disable-versioned-symbols \ |
181 |
--without-darwinssl \ |
182 |
$(use_with idn libidn) \ |
183 |
$(use_with kerberos gssapi "${EPREFIX}"/usr) \ |
184 |
--without-krb4 \ |
185 |
$(use_with metalink libmetalink) \ |
186 |
$(use_with rtmp librtmp) \ |
187 |
--without-spnego \ |
188 |
--without-winidn \ |
189 |
--without-winssl \ |
190 |
--with-zlib \ |
191 |
"${myconf[@]}" |
192 |
} |
193 |
|
194 |
src_install() { |
195 |
default |
196 |
find "${ED}" -name '*.la' -delete |
197 |
rm -rf "${ED}"/etc/ |
198 |
|
199 |
# https://sourceforge.net/tracker/index.php?func=detail&aid=1705197&group_id=976&atid=350976 |
200 |
insinto /usr/share/aclocal |
201 |
doins docs/libcurl/libcurl.m4 |
202 |
} |