Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | SUMMARY = "Command line tool and library for client-side URL transfers" |
Andrew Geissler | 90fd73c | 2021-03-05 15:25:55 -0600 | [diff] [blame] | 2 | DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \ |
| 3 | curl is a widely used because of its ability to be flexible and complete \ |
| 4 | complex tasks. For example, you can use curl for things like user authentication, \ |
| 5 | HTTP post, SSL connections, proxy support, FTP uploads, and more!" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 6 | HOMEPAGE = "http://curl.haxx.se/" |
| 7 | BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" |
| 8 | SECTION = "console/network" |
| 9 | LICENSE = "MIT" |
Andrew Geissler | 9b4d8b0 | 2021-02-19 12:26:16 -0600 | [diff] [blame] | 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=425f6fdc767cc067518eef9bbdf4ab7b" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 11 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 12 | SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 13 | file://0001-replace-krb5-config-with-pkg-config.patch \ |
| 14 | " |
| 15 | |
William A. Kennington III | ac69b48 | 2021-06-02 12:28:27 -0700 | [diff] [blame] | 16 | SRC_URI[sha256sum] = "6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 17 | |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 18 | # Curl has used many names over the years... |
| 19 | CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" |
| 20 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 21 | inherit autotools pkgconfig binconfig multilib_header |
| 22 | |
Andrew Geissler | c926e17 | 2021-05-07 16:11:35 -0500 | [diff] [blame] | 23 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} ssl libidn proxy threaded-resolver verbose zlib" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 24 | PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" |
| 25 | PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" |
| 26 | |
| 27 | # 'ares' and 'threaded-resolver' are mutually exclusive |
| 28 | PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" |
| 29 | PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" |
| 30 | PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" |
| 31 | PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," |
| 32 | PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" |
| 33 | PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," |
| 34 | PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," |
| 35 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," |
| 36 | PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" |
| 37 | PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," |
| 38 | PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," |
Andrew Geissler | c926e17 | 2021-05-07 16:11:35 -0500 | [diff] [blame] | 39 | PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 40 | PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" |
| 41 | PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" |
| 42 | PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" |
Andrew Geissler | 4b740dc | 2020-05-05 08:54:39 -0500 | [diff] [blame] | 43 | PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 44 | PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" |
| 45 | PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," |
| 46 | PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," |
| 47 | PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" |
| 48 | PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," |
| 49 | PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," |
| 50 | PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," |
| 51 | PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" |
| 52 | PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" |
| 53 | PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," |
| 54 | PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," |
| 55 | PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" |
| 56 | PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" |
| 57 | PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" |
| 58 | |
| 59 | EXTRA_OECONF = " \ |
| 60 | --disable-libcurl-option \ |
| 61 | --disable-ntlm-wb \ |
| 62 | --enable-crypto-auth \ |
| 63 | --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ |
| 64 | --without-libmetalink \ |
| 65 | --without-libpsl \ |
Andrew Geissler | d25ed32 | 2020-06-27 00:28:28 -0500 | [diff] [blame] | 66 | --enable-debug \ |
| 67 | --enable-optimize \ |
| 68 | --disable-curldebug \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 69 | " |
| 70 | |
| 71 | do_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 | |
| 80 | PACKAGES =+ "lib${BPN}" |
| 81 | |
| 82 | FILES_lib${BPN} = "${libdir}/lib*.so.*" |
| 83 | RRECOMMENDS_lib${BPN} += "ca-certificates" |
| 84 | |
| 85 | FILES_${PN} += "${datadir}/zsh" |
| 86 | |
| 87 | inherit multilib_script |
| 88 | MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" |
| 89 | |
| 90 | BBCLASSEXTEND = "native nativesdk" |