blob: 0f26b0f1af26081daee07f3de891452f1f22b34a [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -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;md5=2e9fb35867314fe31c6a4977ef7dd531"
7
Andrew Geisslerc3d88e42020-10-02 09:45:00 -05008SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \
Andrew Geissler82c905d2020-04-13 13:39:40 -05009 file://0001-replace-krb5-config-with-pkg-config.patch \
10"
11
Andrew Geissler6ce62a22020-11-30 19:58:47 -060012SRC_URI[sha256sum] = "cf34fe0b07b800f1c01a499a6e8b2af548f6d0e044dca4a29d88a4bee146d131"
Andrew Geissler82c905d2020-04-13 13:39:40 -050013
Andrew Geisslerc9f78652020-09-18 14:11:35 -050014# Curl has used many names over the years...
15CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
16
Andrew Geissler82c905d2020-04-13 13:39:40 -050017inherit autotools pkgconfig binconfig multilib_header
18
19PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib"
20PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
21PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
22
23# 'ares' and 'threaded-resolver' are mutually exclusive
24PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver"
25PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
26PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
27PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
28PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
29PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
30PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
31PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
32PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
33PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,"
34PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,"
35PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
36PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
37PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
Andrew Geissler4b740dc2020-05-05 08:54:39 -050038PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt,"
Andrew Geissler82c905d2020-04-13 13:39:40 -050039PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
40PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
41PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
42PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
43PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
44PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
45PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
46PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl"
47PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
48PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
49PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
50PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares"
51PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
52PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
53
54EXTRA_OECONF = " \
55 --disable-libcurl-option \
56 --disable-ntlm-wb \
57 --enable-crypto-auth \
58 --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
59 --without-libmetalink \
60 --without-libpsl \
Andrew Geisslerd25ed322020-06-27 00:28:28 -050061 --enable-debug \
62 --enable-optimize \
63 --disable-curldebug \
Andrew Geissler82c905d2020-04-13 13:39:40 -050064"
65
66do_install_append_class-target() {
67 # cleanup buildpaths from curl-config
68 sed -i \
69 -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
70 -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
71 -e 's|${DEBUG_PREFIX_MAP}||g' \
72 ${D}${bindir}/curl-config
73}
74
75PACKAGES =+ "lib${BPN}"
76
77FILES_lib${BPN} = "${libdir}/lib*.so.*"
78RRECOMMENDS_lib${BPN} += "ca-certificates"
79
80FILES_${PN} += "${datadir}/zsh"
81
82inherit multilib_script
83MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
84
85BBCLASSEXTEND = "native nativesdk"