Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/curl/
Date: Wed, 31 Oct 2018 13:46:25
Message-Id: 1540993574.1e27631c9fd6a7055e35628a195fd14c18bc9a1f.jer@gentoo
1 commit: 1e27631c9fd6a7055e35628a195fd14c18bc9a1f
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Wed Oct 31 13:43:47 2018 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 31 13:46:14 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e27631c
7
8 net-misc/curl: Version 7.62.0
9
10 Package-Manager: Portage-2.3.51, Repoman-2.3.11
11 Bug: https://bugs.gentoo.org/670026
12 Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>
13
14 net-misc/curl/Manifest | 1 +
15 net-misc/curl/curl-7.62.0.ebuild | 247 +++++++++++++++++++++++++++++++++++++++
16 2 files changed, 248 insertions(+)
17
18 diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
19 index 0401ed72dc9..b0076ef298b 100644
20 --- a/net-misc/curl/Manifest
21 +++ b/net-misc/curl/Manifest
22 @@ -1 +1,2 @@
23 DIST curl-7.61.1.tar.bz2 2965173 BLAKE2B 16ef6962f64e18a4b67c3cccff78120084a2660207f512974f9827c53037a95b935a6020620f926eee85339fbc558be5585f2a4c001bd287c4d33795e6a6dab5 SHA512 484d33c0d32109539a95309cdb4404c03c0e7164fdbf7a4724a5b01aa20e2d48fbe6363c7cc53060d4d28050cfa6b43f9ed220ab65d4d389eb00efff5db1bfb5
24 +DIST curl-7.62.0.tar.bz2 3014762 BLAKE2B 0cc9ef5d19004dc5cc69444cac3b2fb4fd82ba470a831b761c147e45826fc26087f4e07da76ee0b6a070f6125a1423927607a257786387326f4c9f4e3953d5f7 SHA512 83ca5c2757745f763316eefdd4c3f0e8a211a7f0db6a708b67ae2133ad41fdf17dd2230f9283a4778c9c866126d407454a090291cd2bf274371d0a214c1c13f5
25
26 diff --git a/net-misc/curl/curl-7.62.0.ebuild b/net-misc/curl/curl-7.62.0.ebuild
27 new file mode 100644
28 index 00000000000..d13d87e7796
29 --- /dev/null
30 +++ b/net-misc/curl/curl-7.62.0.ebuild
31 @@ -0,0 +1,247 @@
32 +# Copyright 1999-2018 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI="6"
36 +
37 +inherit autotools eutils prefix multilib-minimal
38 +
39 +DESCRIPTION="A Client that groks URLs"
40 +HOMEPAGE="https://curl.haxx.se/"
41 +SRC_URI="https://curl.haxx.se/download/${P}.tar.bz2"
42 +
43 +LICENSE="MIT"
44 +SLOT="0"
45 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
46 +IUSE="adns brotli http2 idn ipv6 kerberos ldap metalink rtmp samba ssh ssl static-libs test threads"
47 +IUSE+=" curl_ssl_axtls curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
48 +IUSE+=" elibc_Winnt"
49 +
50 +#lead to lots of false negatives, bug #285669
51 +RESTRICT="test"
52 +
53 +RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
54 + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
55 + ssl? (
56 + curl_ssl_axtls? (
57 + net-libs/axtls:0=[${MULTILIB_USEDEP}]
58 + app-misc/ca-certificates
59 + )
60 + curl_ssl_gnutls? (
61 + net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
62 + dev-libs/nettle:0=[${MULTILIB_USEDEP}]
63 + app-misc/ca-certificates
64 + )
65 + curl_ssl_libressl? (
66 + dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}]
67 + )
68 + curl_ssl_mbedtls? (
69 + net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
70 + app-misc/ca-certificates
71 + )
72 + curl_ssl_openssl? (
73 + dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}]
74 + )
75 + curl_ssl_nss? (
76 + dev-libs/nss:0[${MULTILIB_USEDEP}]
77 + app-misc/ca-certificates
78 + )
79 + )
80 + http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
81 + idn? ( net-dns/libidn2:0[static-libs?,${MULTILIB_USEDEP}] )
82 + adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
83 + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
84 + metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
85 + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
86 + ssh? ( net-libs/libssh2[static-libs?,${MULTILIB_USEDEP}] )
87 + sys-libs/zlib[${MULTILIB_USEDEP}]"
88 +
89 +# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
90 +# rtmp? (
91 +# media-video/rtmpdump
92 +# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
93 +# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
94 +# )
95 +
96 +# ssl providers to be added:
97 +# fbopenssl $(use_with spnego)
98 +
99 +DEPEND="${RDEPEND}
100 + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
101 + test? (
102 + sys-apps/diffutils
103 + dev-lang/perl
104 + )"
105 +
106 +# c-ares must be disabled for threads
107 +# only one ssl provider can be enabled
108 +REQUIRED_USE="
109 + curl_ssl_winssl? ( elibc_Winnt )
110 + threads? ( !adns )
111 + ssl? (
112 + ^^ (
113 + curl_ssl_axtls
114 + curl_ssl_gnutls
115 + curl_ssl_libressl
116 + curl_ssl_mbedtls
117 + curl_ssl_nss
118 + curl_ssl_openssl
119 + curl_ssl_winssl
120 + )
121 + )"
122 +
123 +DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \
124 + docs/MANUAL docs/FAQ docs/BUGS docs/CONTRIBUTE.md )
125 +
126 +MULTILIB_WRAPPED_HEADERS=(
127 + /usr/include/curl/curlbuild.h
128 +)
129 +
130 +MULTILIB_CHOST_TOOLS=(
131 + /usr/bin/curl-config
132 +)
133 +
134 +src_prepare() {
135 + eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch
136 + eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch
137 + eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
138 +
139 + sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
140 +
141 + eapply_user
142 + eprefixify curl-config.in
143 + eautoreconf
144 +
145 + if [[ ${CHOST} == *-darwin17 ]] ; then
146 + # https://bugs.gentoo.org/show_bug.cgi?id=637252
147 + sed -i -e '/-Werror=partial-availability/s/Werror/Wno-error/g' \
148 + configure || die
149 + fi
150 +}
151 +
152 +multilib_src_configure() {
153 + # We make use of the fact that later flags override earlier ones
154 + # So start with all ssl providers off until proven otherwise
155 + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
156 + local myconf=()
157 + myconf+=( --without-axtls --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
158 + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
159 + if use ssl ; then
160 + if use curl_ssl_axtls; then
161 + einfo "SSL provided by axtls"
162 + myconf+=( --with-axtls )
163 + elif use curl_ssl_gnutls; then
164 + einfo "SSL provided by gnutls"
165 + myconf+=( --with-gnutls --with-nettle )
166 + elif use curl_ssl_libressl; then
167 + einfo "SSL provided by LibreSSL"
168 + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
169 + elif use curl_ssl_mbedtls; then
170 + einfo "SSL provided by mbedtls"
171 + myconf+=( --with-mbedtls )
172 + elif use curl_ssl_nss; then
173 + einfo "SSL provided by nss"
174 + myconf+=( --with-nss )
175 + elif use curl_ssl_openssl; then
176 + einfo "SSL provided by openssl"
177 + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
178 + elif use curl_ssl_winssl; then
179 + einfo "SSL provided by Windows"
180 + myconf+=( --with-winssl )
181 + else
182 + eerror "We can't be here because of REQUIRED_USE."
183 + fi
184 + else
185 + einfo "SSL disabled"
186 + fi
187 +
188 + # These configuration options are organized alphabetically
189 + # within each category. This should make it easier if we
190 + # ever decide to make any of them contingent on USE flags:
191 + # 1) protocols first. To see them all do
192 + # 'grep SUPPORT_PROTOCOLS configure.ac'
193 + # 2) --enable/disable options second.
194 + # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
195 + # 3) --with/without options third.
196 + # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
197 + ECONF_SOURCE="${S}" \
198 + econf \
199 + --enable-crypto-auth \
200 + --enable-dict \
201 + --enable-file \
202 + --enable-ftp \
203 + --enable-gopher \
204 + --enable-http \
205 + --enable-imap \
206 + $(use_enable ldap) \
207 + $(use_enable ldap ldaps) \
208 + --disable-ntlm-wb \
209 + --enable-pop3 \
210 + --enable-rt \
211 + --enable-rtsp \
212 + $(use_enable samba smb) \
213 + $(use_with ssh libssh2) \
214 + --enable-smtp \
215 + --enable-telnet \
216 + --enable-tftp \
217 + --enable-tls-srp \
218 + $(use_enable adns ares) \
219 + --enable-cookies \
220 + --enable-hidden-symbols \
221 + $(use_enable ipv6) \
222 + --enable-largefile \
223 + --without-libpsl \
224 + --enable-manual \
225 + --enable-proxy \
226 + --disable-sspi \
227 + $(use_enable static-libs static) \
228 + $(use_enable threads threaded-resolver) \
229 + $(use_enable threads pthreads) \
230 + --disable-versioned-symbols \
231 + --without-cyassl \
232 + --without-darwinssl \
233 + $(use_with idn libidn2) \
234 + $(use_with kerberos gssapi "${EPREFIX}"/usr) \
235 + $(use_with metalink libmetalink) \
236 + $(use_with http2 nghttp2) \
237 + $(use_with rtmp librtmp) \
238 + $(use_with brotli) \
239 + --without-spnego \
240 + --without-winidn \
241 + --without-wolfssl \
242 + --with-zlib \
243 + "${myconf[@]}"
244 +
245 + if ! multilib_is_native_abi; then
246 + # avoid building the client
247 + sed -i -e '/SUBDIRS/s:src::' Makefile || die
248 + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
249 + fi
250 +
251 + # Fix up the pkg-config file to be more robust.
252 + # https://github.com/curl/curl/issues/864
253 + local priv=() libs=()
254 + # We always enable zlib.
255 + libs+=( "-lz" )
256 + priv+=( "zlib" )
257 + if use http2; then
258 + libs+=( "-lnghttp2" )
259 + priv+=( "libnghttp2" )
260 + fi
261 + if use ssl && use curl_ssl_openssl; then
262 + libs+=( "-lssl" "-lcrypto" )
263 + priv+=( "openssl" )
264 + fi
265 + grep -q Requires.private libcurl.pc && die "need to update ebuild"
266 + libs=$(printf '|%s' "${libs[@]}")
267 + sed -i -r \
268 + -e "/^Libs.private/s:(${libs#|})( |$)::g" \
269 + libcurl.pc || die
270 + echo "Requires.private: ${priv[*]}" >> libcurl.pc
271 +}
272 +
273 +multilib_src_install_all() {
274 + einstalldocs
275 + prune_libtool_files --all
276 +
277 + rm -rf "${ED}"/etc/
278 +}