diff options
Diffstat (limited to 'meta/recipes-support/curl/curl_8.5.0.bb')
-rw-r--r-- | meta/recipes-support/curl/curl_8.5.0.bb | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/meta/recipes-support/curl/curl_8.5.0.bb b/meta/recipes-support/curl/curl_8.5.0.bb new file mode 100644 index 0000000000..115ec7189f --- /dev/null +++ b/meta/recipes-support/curl/curl_8.5.0.bb | |||
@@ -0,0 +1,139 @@ | |||
1 | SUMMARY = "Command line tool and library for client-side URL transfers" | ||
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!" | ||
6 | HOMEPAGE = "https://curl.se/" | ||
7 | BUGTRACKER = "https://github.com/curl/curl/issues" | ||
8 | SECTION = "console/network" | ||
9 | LICENSE = "curl" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=db8448a1e43eb2125f7740fc397db1f6" | ||
11 | |||
12 | SRC_URI = " \ | ||
13 | https://curl.se/download/${BP}.tar.xz \ | ||
14 | file://run-ptest \ | ||
15 | file://disable-tests \ | ||
16 | " | ||
17 | SRC_URI[sha256sum] = "42ab8db9e20d8290a3b633e7fbb3cec15db34df65fd1015ef8ac1e4723750eeb" | ||
18 | |||
19 | # Curl has used many names over the years... | ||
20 | CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" | ||
21 | |||
22 | inherit autotools pkgconfig binconfig multilib_header ptest | ||
23 | |||
24 | # Entropy source for random PACKAGECONFIG option | ||
25 | RANDOM ?= "/dev/urandom" | ||
26 | |||
27 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} aws basic-auth bearer-auth digest-auth negotiate-auth libidn openssl proxy random threaded-resolver verbose zlib" | ||
28 | PACKAGECONFIG:class-native = "ipv6 openssl proxy random threaded-resolver verbose zlib" | ||
29 | PACKAGECONFIG:class-nativesdk = "ipv6 openssl proxy random threaded-resolver verbose zlib" | ||
30 | |||
31 | # 'ares' and 'threaded-resolver' are mutually exclusive | ||
32 | PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" | ||
33 | PACKAGECONFIG[aws] = "--enable-aws,--disable-aws" | ||
34 | PACKAGECONFIG[basic-auth] = "--enable-basic-auth,--disable-basic-auth" | ||
35 | PACKAGECONFIG[bearer-auth] = "--enable-bearer-auth,--disable-bearer-auth" | ||
36 | PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" | ||
37 | PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" | ||
38 | # Don't use this in production | ||
39 | PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" | ||
40 | PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," | ||
41 | PACKAGECONFIG[digest-auth] = "--enable-digest-auth,--disable-digest-auth" | ||
42 | PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" | ||
43 | PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," | ||
44 | PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," | ||
45 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," | ||
46 | PACKAGECONFIG[kerberos-auth] = "--enable-kerberos-auth,--disable-kerberos-auth" | ||
47 | PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" | ||
48 | PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" | ||
49 | PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,openldap" | ||
50 | PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl" | ||
51 | PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" | ||
52 | PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" | ||
53 | PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" | ||
54 | PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," | ||
55 | PACKAGECONFIG[negotiate-auth] = "--enable-negotiate-auth,--disable-negotiate-auth" | ||
56 | PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" | ||
57 | PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" | ||
58 | PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," | ||
59 | PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," | ||
60 | PACKAGECONFIG[random] = "--with-random=${RANDOM},--without-random" | ||
61 | PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" | ||
62 | PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," | ||
63 | PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," | ||
64 | PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," | ||
65 | PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," | ||
66 | PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," | ||
67 | PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" | ||
68 | PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" | ||
69 | PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" | ||
70 | PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd" | ||
71 | |||
72 | EXTRA_OECONF = " \ | ||
73 | --disable-libcurl-option \ | ||
74 | --disable-ntlm-wb \ | ||
75 | --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ | ||
76 | --without-libpsl \ | ||
77 | --enable-optimize \ | ||
78 | ${@'--without-ssl' if (bb.utils.filter('PACKAGECONFIG', 'gnutls mbedtls openssl', d) == '') else ''} \ | ||
79 | " | ||
80 | |||
81 | do_install:append:class-target() { | ||
82 | # cleanup buildpaths from curl-config | ||
83 | sed -i \ | ||
84 | -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ | ||
85 | -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ | ||
86 | -e 's|${DEBUG_PREFIX_MAP}||g' \ | ||
87 | -e 's|${@" ".join(d.getVar("DEBUG_PREFIX_MAP").split())}||g' \ | ||
88 | ${D}${bindir}/curl-config | ||
89 | } | ||
90 | |||
91 | do_compile_ptest() { | ||
92 | oe_runmake -C ${B}/tests | ||
93 | } | ||
94 | |||
95 | do_install_ptest() { | ||
96 | cat ${WORKDIR}/disable-tests >> ${S}/tests/data/DISABLED | ||
97 | rm -f ${B}/tests/configurehelp.pm | ||
98 | cp -rf ${B}/tests ${D}${PTEST_PATH} | ||
99 | rm -f ${D}${PTEST_PATH}/tests/libtest/.libs/libhostname.la | ||
100 | rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la | ||
101 | mv ${D}${PTEST_PATH}/tests/libtest/.libs/* ${D}${PTEST_PATH}/tests/libtest/ | ||
102 | mv ${D}${PTEST_PATH}/tests/libtest/libhostname.so ${D}${PTEST_PATH}/tests/libtest/.libs/ | ||
103 | mv ${D}${PTEST_PATH}/tests/http/clients/.libs/* ${D}${PTEST_PATH}/tests/http/clients/ | ||
104 | cp -rf ${S}/tests ${D}${PTEST_PATH} | ||
105 | find ${D}${PTEST_PATH}/ -type f -name Makefile.am -o -name Makefile.in -o -name Makefile -delete | ||
106 | install -d ${D}${PTEST_PATH}/src | ||
107 | ln -sf ${bindir}/curl ${D}${PTEST_PATH}/src/curl | ||
108 | cp -rf ${D}${bindir}/curl-config ${D}${PTEST_PATH} | ||
109 | } | ||
110 | |||
111 | RDEPENDS:${PN}-ptest += " \ | ||
112 | bash \ | ||
113 | perl-module-b \ | ||
114 | perl-module-base \ | ||
115 | perl-module-cwd \ | ||
116 | perl-module-digest \ | ||
117 | perl-module-digest-md5 \ | ||
118 | perl-module-file-basename \ | ||
119 | perl-module-file-spec \ | ||
120 | perl-module-file-temp \ | ||
121 | perl-module-io-socket \ | ||
122 | perl-module-ipc-open2 \ | ||
123 | perl-module-list-util \ | ||
124 | perl-module-memoize \ | ||
125 | perl-module-storable \ | ||
126 | perl-module-time-hires \ | ||
127 | " | ||
128 | |||
129 | PACKAGES =+ "lib${BPN}" | ||
130 | |||
131 | FILES:lib${BPN} = "${libdir}/lib*.so.*" | ||
132 | RRECOMMENDS:lib${BPN} += "ca-certificates" | ||
133 | |||
134 | FILES:${PN} += "${datadir}/zsh" | ||
135 | |||
136 | inherit multilib_script | ||
137 | MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" | ||
138 | |||
139 | BBCLASSEXTEND = "native nativesdk" | ||