blob: 58f05316fefee8483ffdb1ea93dce4b896961e2f [file] [log] [blame]
Brad Bishopd7bf8c12018-02-25 22:55:05 -05001SUMMARY = "Command line tool and library for client-side URL transfers"
2HOMEPAGE = "http://curl.haxx.se/"
3BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker"
4SECTION = "console/network"
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://COPYING;beginline=8;md5=3a34942f4ae3fbf1a303160714e664ac"
7
8SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
9 file://0001-replace-krb5-config-with-pkg-config.patch \
10 file://CVE-2017-1000099.patch \
11 file://CVE-2017-1000100.patch \
12 file://CVE-2017-1000101.patch \
13 file://CVE-2017-1000254.patch \
14"
15
16SRC_URI_append_class-target = " \
17 file://reproducible-mkhelp.patch \
18"
19
20# curl likes to set -g0 in CFLAGS, so we stop it
21# from mucking around with debug options
22#
23SRC_URI += " file://configure_ac.patch"
24
25SRC_URI[md5sum] = "6b6eb722f512e7a24855ff084f54fe55"
26SRC_URI[sha256sum] = "fdfc4df2d001ee0c44ec071186e770046249263c491fcae48df0e1a3ca8f25a0"
27
28CVE_PRODUCT = "libcurl"
29inherit autotools pkgconfig binconfig multilib_header
30
31PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls proxy threaded-resolver zlib"
32PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver zlib"
33PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver zlib"
34
35# 'ares' and 'threaded-resolver' are mutually exclusive
36PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares"
37PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
38PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
39PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
40PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
41PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
42PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,"
43PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,"
44PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn"
45PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
46PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
47PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
48PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
49PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
50PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
51PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
52PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl"
53PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
54PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
55PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver"
56PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
57PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
58PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
59
60EXTRA_OECONF = " \
61 --enable-crypto-auth \
62 --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
63 --without-libmetalink \
64 --without-libpsl \
65"
66
67do_install_append() {
68 oe_multilib_header curl/curlbuild.h
69}
70
71do_install_append_class-target() {
72 # cleanup buildpaths from curl-config
73 sed -i \
74 -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
75 -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
76 -e 's|${DEBUG_PREFIX_MAP}||g' \
77 ${D}${bindir}/curl-config
78}
79
80PACKAGES =+ "lib${BPN}"
81
82FILES_lib${BPN} = "${libdir}/lib*.so.*"
83RRECOMMENDS_lib${BPN} += "ca-certificates"
84
85FILES_${PN} += "${datadir}/zsh"
86
87BBCLASSEXTEND = "native nativesdk"