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