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