From 96720ca4607d95dc05f9df044f08bbadb3c5a479 Mon Sep 17 00:00:00 2001 From: Vertexwahn Date: Sat, 3 Feb 2024 23:46:13 +0100 Subject: [PATCH] Add curl 7.69.1 --- modules/curl/7.69.1/MODULE.bazel | 10 + .../curl/7.69.1/patches/add_build_file.patch | 748 ++++++++++++++++++ .../7.69.1/patches/module_dot_bazel.patch | 13 + modules/curl/7.69.1/presubmit.yml | 17 + modules/curl/7.69.1/source.json | 10 + modules/curl/metadata.json | 17 + 6 files changed, 815 insertions(+) create mode 100644 modules/curl/7.69.1/MODULE.bazel create mode 100644 modules/curl/7.69.1/patches/add_build_file.patch create mode 100644 modules/curl/7.69.1/patches/module_dot_bazel.patch create mode 100644 modules/curl/7.69.1/presubmit.yml create mode 100644 modules/curl/7.69.1/source.json create mode 100644 modules/curl/metadata.json diff --git a/modules/curl/7.69.1/MODULE.bazel b/modules/curl/7.69.1/MODULE.bazel new file mode 100644 index 00000000000..f5f4b8cb27b --- /dev/null +++ b/modules/curl/7.69.1/MODULE.bazel @@ -0,0 +1,10 @@ +module( + name = "curl", + compatibility_level = 7, + version = "7.69.1", +) + +bazel_dep(name = "grpc", version = "1.56.3") +bazel_dep(name = "boringssl", version = "0.0.0-20240126-22d349c") +bazel_dep(name = "c-ares", version = "1.16.1") +bazel_dep(name = "zlib", version = "1.3") diff --git a/modules/curl/7.69.1/patches/add_build_file.patch b/modules/curl/7.69.1/patches/add_build_file.patch new file mode 100644 index 00000000000..208c80d92de --- /dev/null +++ b/modules/curl/7.69.1/patches/add_build_file.patch @@ -0,0 +1,748 @@ +--- /dev/null ++++ BUILD.bazel +@@ -0,0 +1,745 @@ ++# This is based on: ++# https://raw.githubusercontent.com/googleapis/google-cloud-cpp/e3dfb90502e5f7b844f5dc7452bf8cd249353c57/bazel/curl.BUILD ++ ++# Copyright 2018 Google LLC ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# https://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++ ++# Description: ++# curl is a tool for talking to web servers. ++ ++licenses(["notice"]) # MIT/X derivative license ++ ++exports_files(["COPYING"]) ++ ++config_setting( ++ name = "windows", ++ constraint_values = [ ++ "@platforms//os:windows", ++ "@platforms//cpu:x86_64", ++ ], ++ visibility = ["//visibility:public"], ++) ++ ++config_setting( ++ name = "macos", ++ constraint_values = [ ++ "@platforms//os:macos", ++ ], ++ visibility = ["//visibility:public"], ++) ++ ++# On Linux, libcurl needs to know, at compile time, the location for the ++# Certificate Authority (CA) bundle file. By default we dynamically guess the ++# location for most common Linux distribution, but this guessing makes the build ++# not cacheable. ++# ++# In our CI builds we define the CA bundle location using a --define option. ++# This makes the CI results more amenable to caching, at the cost of "some" ++# complexity in this BUILD file. ++# ++# Note that builds issued by developers in the command-line should continue to ++# work, it is just that the build results are less cacheable than they make ++# wish. ++ ++# First convert the --define ca_bundle_style=... option into a config_setting ++# rule: ++config_setting( ++ name = "ca_bundle_style_is_redhat", ++ define_values = { ++ "ca_bundle_style": "redhat", ++ }, ++) ++ ++config_setting( ++ name = "ca_bundle_style_is_debian", ++ define_values = { ++ "ca_bundle_style": "debian", ++ }, ++) ++ ++# This just generates a header file with the right value for the CURL_CA_BUNDLE ++# macro. The file is included by curl_config.h if the macro is *not* provided ++# in the build line using -DCURL_CA_BUNDLE=. Note that this rule ++# only runs on Linux; the dependency is suppressed (via a `select()`) on other ++# platforms. ++genrule( ++ name = "gen-ca-bundle-linux", ++ outs = ["include/curl_ca_bundle_location.h"], ++ cmd = """ ++ if [ -f /etc/fedora-release ]; then ++ echo '#define CURL_CA_BUNDLE "/etc/pki/tls/certs/ca-bundle.crt"' ++ elif [ -f /etc/redhat-release ]; then ++ echo '#define CURL_CA_BUNDLE "/etc/pki/tls/certs/ca-bundle.crt"' ++ elif [ -f /etc/debian_version ]; then ++ echo '#define CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt"' ++ elif [ -f /etc/arch-release ]; then ++ echo '#define CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt"' ++ else ++ >&2 echo "Unknown platform, cannot guess location of CA bundle" ++ exit 1 ++ fi >$@ ++ """, ++) ++ ++# This is the default depending to define CURL_CA_BUNDLE on Linux, it is tagged ++# as `no-cache` because the output on one host cannot be used in another host. ++cc_library( ++ name = "define-ca-bundle-location-guess", ++ hdrs = ["include/curl_ca_bundle_location.h"], ++ tags = ["no-cache"], ++) ++ ++# This library is used on redhat-like hosts (RHEL, CentOS, and Fedora for ++# example), because all such hosts use the same value, we can cache this ++# library. ++cc_library( ++ name = "define-ca-bundle-location-redhat", ++ hdrs = [], ++ defines = ["""CURL_CA_BUNDLE='"/etc/pki/tls/certs/ca-bundle.crt"'"""], ++ tags = [], ++) ++ ++# This library is used on debian-like hosts (Debian, and Ubuntu for example), ++# because all such hosts use the same value, we can cache this library. ++cc_library( ++ name = "define-ca-bundle-location-debian", ++ hdrs = [], ++ defines = ["""CURL_CA_BUNDLE='"/etc/ssl/certs/ca-certificates.crt"'"""], ++ tags = [], ++) ++ ++# This library uses the `ca_bundle_style*` config setting to branch the ++# dependency ++cc_library( ++ name = "define-ca-bundle-location-linux", ++ deps = select({ ++ ":ca_bundle_style_is_redhat": [":define-ca-bundle-location-redhat"], ++ ":ca_bundle_style_is_debian": [":define-ca-bundle-location-debian"], ++ "//conditions:default": [":define-ca-bundle-location-guess"], ++ }), ++) ++ ++# Finally, on Windows and macOS we do not need to define CURL_CA_BUNDLE at all, ++# so on those platforms we skip the branch of the dependencies altogether. ++cc_library( ++ name = "define-ca-bundle-location", ++ deps = select({ ++ ":windows": [], ++ ":macos": [], ++ "//conditions:default": [":define-ca-bundle-location-linux"], ++ }), ++) ++ ++CURL_WIN_COPTS = [ ++ "/Iexternal/com_github_curl_curl/lib", ++ "/DBUILDING_LIBCURL", ++ "/DHAVE_CONFIG_H", ++ "/DCURL_DISABLE_FTP", ++ "/DCURL_DISABLE_NTLM", ++ "/DCURL_DISABLE_PROXY", ++ "/DHAVE_LIBZ", ++ "/DHAVE_ZLIB_H", ++ # Defining _USING_V110_SDK71_ is hackery to defeat curl's incorrect ++ # detection of what OS releases we can build on with VC 2012. This ++ # may not be needed (or may have to change) if the WINVER setting ++ # changes in //third_party/msvc/vc_12_0/CROSSTOOL. ++ "/D_USING_V110_SDK71_", ++] ++ ++CURL_WIN_SRCS = [ ++ "lib/asyn-thread.c", ++ "lib/inet_ntop.c", ++ "lib/system_win32.c", ++ "lib/x509asn1.c", ++ "lib/vtls/schannel.c", ++ "lib/vtls/schannel_verify.c", ++ "lib/idn_win32.c", ++] ++ ++cc_library( ++ name = "curl", ++ srcs = [ ++ "include/curl_config.h", ++ "lib/amigaos.h", ++ "lib/arpa_telnet.h", ++ "lib/asyn.h", ++ "lib/asyn-ares.c", ++ "lib/base64.c", ++ "lib/config-win32.h", ++ "lib/conncache.c", ++ "lib/conncache.h", ++ "lib/connect.c", ++ "lib/connect.h", ++ "lib/content_encoding.c", ++ "lib/content_encoding.h", ++ "lib/cookie.c", ++ "lib/cookie.h", ++ "lib/curl_addrinfo.c", ++ "lib/curl_addrinfo.h", ++ "lib/curl_base64.h", ++ "lib/curl_ctype.c", ++ "lib/curl_ctype.h", ++ "lib/curl_des.h", ++ "lib/curl_endian.h", ++ "lib/curl_fnmatch.c", ++ "lib/curl_fnmatch.h", ++ "lib/curl_gethostname.c", ++ "lib/curl_gethostname.h", ++ "lib/curl_gssapi.h", ++ "lib/curl_hmac.h", ++ "lib/curl_ldap.h", ++ "lib/curl_md4.h", ++ "lib/curl_md5.h", ++ "lib/curl_memory.h", ++ "lib/curl_memrchr.c", ++ "lib/curl_memrchr.h", ++ "lib/curl_multibyte.c", ++ "lib/curl_multibyte.h", ++ "lib/curl_ntlm_core.h", ++ "lib/curl_ntlm_wb.h", ++ "lib/curl_printf.h", ++ "lib/curl_rtmp.c", ++ "lib/curl_rtmp.h", ++ "lib/curl_sasl.c", ++ "lib/curl_sasl.h", ++ "lib/curl_sec.h", ++ "lib/curl_setup.h", ++ "lib/curl_setup_once.h", ++ "lib/curl_sha256.h", ++ "lib/curl_sspi.c", ++ "lib/curl_sspi.h", ++ "lib/curl_threads.c", ++ "lib/curl_threads.h", ++ "lib/curlx.h", ++ "lib/dict.h", ++ "lib/dotdot.c", ++ "lib/dotdot.h", ++ "lib/easy.c", ++ "lib/easyif.h", ++ "lib/escape.c", ++ "lib/escape.h", ++ "lib/file.h", ++ "lib/fileinfo.c", ++ "lib/fileinfo.h", ++ "lib/formdata.c", ++ "lib/formdata.h", ++ "lib/ftp.h", ++ "lib/ftplistparser.h", ++ "lib/getenv.c", ++ "lib/getinfo.c", ++ "lib/getinfo.h", ++ "lib/gopher.h", ++ "lib/hash.c", ++ "lib/hash.h", ++ "lib/hmac.c", ++ "lib/hostasyn.c", ++ "lib/hostcheck.c", ++ "lib/hostcheck.h", ++ "lib/hostip.c", ++ "lib/hostip.h", ++ "lib/hostip4.c", ++ "lib/hostip6.c", ++ "lib/hostsyn.c", ++ "lib/http.c", ++ "lib/http.h", ++ "lib/http2.c", ++ "lib/http2.h", ++ "lib/http_chunks.c", ++ "lib/http_chunks.h", ++ "lib/http_digest.c", ++ "lib/http_digest.h", ++ "lib/http_negotiate.h", ++ "lib/http_ntlm.h", ++ "lib/http_proxy.c", ++ "lib/http_proxy.h", ++ "lib/if2ip.c", ++ "lib/if2ip.h", ++ "lib/imap.h", ++ "lib/inet_ntop.h", ++ "lib/inet_pton.c", ++ "lib/inet_pton.h", ++ "lib/krb5.c", ++ "lib/llist.c", ++ "lib/llist.h", ++ "lib/md4.c", ++ "lib/md5.c", ++ "lib/memdebug.c", ++ "lib/memdebug.h", ++ "lib/mime.c", ++ "lib/mime.h", ++ "lib/mprintf.c", ++ "lib/multi.c", ++ "lib/multihandle.h", ++ "lib/multiif.h", ++ "lib/netrc.c", ++ "lib/netrc.h", ++ "lib/non-ascii.h", ++ "lib/nonblock.c", ++ "lib/nonblock.h", ++ "lib/nwlib.c", ++ "lib/nwos.c", ++ "lib/parsedate.c", ++ "lib/parsedate.h", ++ "lib/pingpong.h", ++ "lib/pingpong.c", ++ "lib/pop3.h", ++ "lib/progress.c", ++ "lib/progress.h", ++ "lib/quic.h", ++ "lib/rand.c", ++ "lib/rand.h", ++ "lib/rename.h", ++ "lib/rename.c", ++ "lib/rtsp.c", ++ "lib/rtsp.h", ++ "lib/security.c", ++ "lib/select.c", ++ "lib/select.h", ++ "lib/sendf.c", ++ "lib/sendf.h", ++ "lib/setopt.c", ++ "lib/setopt.h", ++ "lib/setup-os400.h", ++ "lib/setup-vms.h", ++ "lib/sha256.c", ++ "lib/share.c", ++ "lib/share.h", ++ "lib/sigpipe.h", ++ "lib/slist.c", ++ "lib/slist.h", ++ "lib/smb.h", ++ "lib/smtp.h", ++ "lib/sockaddr.h", ++ "lib/socketpair.h", ++ "lib/socketpair.c", ++ "lib/socks.c", ++ "lib/socks.h", ++ "lib/speedcheck.c", ++ "lib/speedcheck.h", ++ "lib/splay.c", ++ "lib/splay.h", ++ "lib/strcase.c", ++ "lib/strcase.h", ++ "lib/strdup.c", ++ "lib/strdup.h", ++ "lib/strerror.c", ++ "lib/strerror.h", ++ "lib/strtok.c", ++ "lib/strtok.h", ++ "lib/strtoofft.c", ++ "lib/strtoofft.h", ++ "lib/system_win32.h", ++ "lib/telnet.h", ++ "lib/tftp.h", ++ "lib/timeval.c", ++ "lib/timeval.h", ++ "lib/transfer.c", ++ "lib/transfer.h", ++ "lib/url.c", ++ "lib/url.h", ++ "lib/urldata.h", ++ "lib/vauth/cleartext.c", ++ "lib/vauth/cram.c", ++ "lib/vauth/digest.c", ++ "lib/vauth/digest.h", ++ "lib/vauth/ntlm.h", ++ "lib/vauth/oauth2.c", ++ "lib/vauth/vauth.c", ++ "lib/vauth/vauth.h", ++ "lib/version.c", ++ "lib/vssh/ssh.h", ++ "lib/vtls/bearssl.h", ++ "lib/vtls/gskit.h", ++ "lib/vtls/gtls.h", ++ "lib/vtls/mbedtls.h", ++ "lib/vtls/nssg.h", ++ "lib/vtls/openssl.h", ++ "lib/vtls/schannel.h", ++ "lib/vtls/vtls.c", ++ "lib/vtls/vtls.h", ++ "lib/vtls/wolfssl.h", ++ "lib/warnless.c", ++ "lib/warnless.h", ++ "lib/wildcard.c", ++ "lib/wildcard.h", ++ "lib/x509asn1.h", ++ "lib/psl.h", ++ "lib/psl.c", ++ "lib/vtls/sectransp.h", ++ "lib/vtls/mesalink.h", ++ "lib/vtls/mesalink.c", ++ "lib/curl_get_line.h", ++ "lib/curl_get_line.c", ++ "lib/urlapi-int.h", ++ "lib/urlapi.c", ++ "lib/altsvc.h", ++ "lib/altsvc.c", ++ "lib/doh.h", ++ "lib/doh.c", ++ ] + select({ ++ ":macos": [ ++ "lib/vtls/sectransp.c", ++ ], ++ ":windows": CURL_WIN_SRCS, ++ "//conditions:default": [ ++ "lib/vtls/openssl.c", ++ ], ++ }), ++ hdrs = [ ++ "include/curl/curl.h", ++ "include/curl/curlver.h", ++ "include/curl/easy.h", ++ "include/curl/mprintf.h", ++ "include/curl/multi.h", ++ "include/curl/stdcheaders.h", ++ "include/curl/system.h", ++ "include/curl/typecheck-gcc.h", ++ "include/curl/urlapi.h", ++ ], ++ copts = select({ ++ ":windows": CURL_WIN_COPTS, ++ "//conditions:default": [ ++ "-Iexternal/com_github_curl_curl/lib", ++ "-D_GNU_SOURCE", ++ "-DBUILDING_LIBCURL", ++ "-DHAVE_CONFIG_H", ++ "-DCURL_DISABLE_FTP", ++ "-DCURL_DISABLE_NTLM", # turning it off in configure is not enough ++ "-DHAVE_LIBZ", ++ "-DHAVE_ZLIB_H", ++ "-Wno-string-plus-int", ++ ], ++ }) + select({ ++ ":macos": [ ++ "-fno-constant-cfstrings", ++ ], ++ "//conditions:default": [], ++ }), ++ defines = ["CURL_STATICLIB"] + select({ ++ ":windows": [ ++ # See curl.h for discussion of write size and Windows ++ "CURL_MAX_WRITE_SIZE=16384", ++ ], ++ "//conditions:default": [ ++ "CURL_MAX_WRITE_SIZE=65536", ++ # Avoid false positives on builds with Undefined Behavior Sanitizer. ++ "CURL_STRICTER", ++ ], ++ }), ++ includes = ["include", "lib"], ++ linkopts = select({ ++ ":macos": [ ++ "-Wl,-framework", ++ "-Wl,CoreFoundation", ++ "-Wl,-framework", ++ "-Wl,Security", ++ ], ++ ":windows": [ ++ "-DEFAULTLIB:ws2_32.lib", ++ "-DEFAULTLIB:advapi32.lib", ++ "-DEFAULTLIB:crypt32.lib", ++ "-DEFAULTLIB:Normaliz.lib", ++ ], ++ "//conditions:default": [ ++ "-lrt", ++ ], ++ }), ++ visibility = ["//visibility:public"], ++ deps = [ ++ # Use the same version of zlib and c-ares that gRPC does. ++ #"//external:madler_zlib", ++ "@zlib//:zlib", ++ #"//external:cares", ++ "@c-ares//:ares", ++ ":define-ca-bundle-location", ++ ] + select({ ++ ":windows": [], ++ "//conditions:default": [ ++ "@boringssl//:ssl", ++ ], ++ }), ++) ++ ++load("@bazel_skylib//rules:write_file.bzl", "write_file") ++ ++write_file( ++ name = "configure", ++ out = "include/curl_config.h", ++ content = [ ++ "#ifndef EXTERNAL_CURL_INCLUDE_CURL_CONFIG_H_", ++ "#define EXTERNAL_CURL_INCLUDE_CURL_CONFIG_H_", ++ "", ++ "#if !defined(_WIN32) && !defined(__APPLE__)", ++ "# include ", ++ "# if defined(OPENSSL_IS_BORINGSSL)", ++ "# define HAVE_BORINGSSL 1", ++ "# endif", ++ "#endif", ++ "", ++ "# define USE_ARES 1", ++ "", ++ "#if defined(_WIN32)", ++ "# include \"lib/config-win32.h\"", ++ "# define BUILDING_LIBCURL 1", ++ "# define CURL_DISABLE_CRYPTO_AUTH 1", ++ "# define CURL_DISABLE_DICT 1", ++ "# define CURL_DISABLE_FILE 1", ++ "# define CURL_DISABLE_GOPHER 1", ++ "# define CURL_DISABLE_IMAP 1", ++ "# define CURL_DISABLE_LDAP 1", ++ "# define CURL_DISABLE_LDAPS 1", ++ "# define CURL_DISABLE_POP3 1", ++ "# define CURL_PULL_WS2TCPIP_H 1", ++ "# define CURL_DISABLE_SMTP 1", ++ "# define CURL_DISABLE_TELNET 1", ++ "# define CURL_DISABLE_TFTP 1", ++ "# define CURL_PULL_WS2TCPIP_H 1", ++ "# define USE_WINDOWS_SSPI 1", ++ "# define USE_WIN32_IDN 1", ++ "# define USE_SCHANNEL 1", ++ "# define WANT_IDN_PROTOTYPES 1", ++ "#elif defined(__APPLE__)", ++ "# define HAVE_FSETXATTR_6 1", ++ "# define HAVE_SETMODE 1", ++ "# define HAVE_SYS_FILIO_H 1", ++ "# define HAVE_SYS_SOCKIO_H 1", ++ "# define OS \"x86_64-apple-darwin15.5.0\"", ++ "# define USE_SECTRANSP 1", ++ "#else", ++ "# if !defined(CURL_CA_BUNDLE)", ++ "# include \"include/curl_ca_bundle_location.h\"", ++ "# endif // CURL_CA_BUNDLE", ++ "# define GETSERVBYPORT_R_ARGS 6", ++ "# define GETSERVBYPORT_R_BUFSIZE 4096", ++ "# define HAVE_BORINGSSL 1", ++ "# define HAVE_CLOCK_GETTIME_MONOTONIC 1", ++ "# define HAVE_CONNECT 1", ++ "# define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1", ++ "# define HAVE_FSETXATTR_5 1", ++ "# define HAVE_GETHOSTBYADDR_R 1", ++ "# define HAVE_GETHOSTBYADDR_R_8 1", ++ "# define HAVE_GETHOSTBYNAME_R 1", ++ "# define HAVE_GETHOSTBYNAME_R_6 1", ++ "# define HAVE_GETSERVBYPORT_R 1", ++ "# define HAVE_LIBSSL 1", ++ "# define HAVE_MALLOC_H 1", ++ "# define HAVE_MSG_NOSIGNAL 1", ++ "# define HAVE_OPENSSL_CRYPTO_H 1", ++ "# define HAVE_OPENSSL_ERR_H 1", ++ "# define HAVE_OPENSSL_PEM_H 1", ++ "# define HAVE_OPENSSL_PKCS12_H 1", ++ "# define HAVE_OPENSSL_RSA_H 1", ++ "# define HAVE_OPENSSL_SSL_H 1", ++ "# define HAVE_OPENSSL_X509_H 1", ++ "# define HAVE_RAND_EGD 1", ++ "# define HAVE_RAND_STATUS 1", ++ "# define HAVE_SSL_GET_SHUTDOWN 1", ++ "# define HAVE_TERMIOS_H 1", ++ "# define OS \"x86_64-pc-linux-gnu\"", ++ "# define RANDOM_FILE \"/dev/urandom\"", ++ "# define USE_OPENSSL 1", ++ "#endif", ++ "", ++ "#if !defined(_WIN32)", ++ "# define CURL_DISABLE_DICT 1", ++ "# define CURL_DISABLE_FILE 1", ++ "# define CURL_DISABLE_GOPHER 1", ++ "# define CURL_DISABLE_IMAP 1", ++ "# define CURL_DISABLE_LDAP 1", ++ "# define CURL_DISABLE_LDAPS 1", ++ "# define CURL_DISABLE_POP3 1", ++ "# define CURL_DISABLE_SMTP 1", ++ "# define CURL_DISABLE_TELNET 1", ++ "# define CURL_DISABLE_TFTP 1", ++ "# define CURL_EXTERN_SYMBOL __attribute__ ((__visibility__ (\"default\")))", ++ "# define ENABLE_IPV6 1", ++ "# define GETHOSTNAME_TYPE_ARG2 size_t", ++ "# define GETNAMEINFO_QUAL_ARG1 const", ++ "# define GETNAMEINFO_TYPE_ARG1 struct sockaddr *", ++ "# define GETNAMEINFO_TYPE_ARG2 socklen_t", ++ "# define GETNAMEINFO_TYPE_ARG46 socklen_t", ++ "# define GETNAMEINFO_TYPE_ARG7 int", ++ "# define HAVE_ALARM 1", ++ "# define HAVE_ALLOCA_H 1", ++ "# define HAVE_ARPA_INET_H 1", ++ "# define HAVE_ARPA_TFTP_H 1", ++ "# define HAVE_ASSERT_H 1", ++ "# define HAVE_BASENAME 1", ++ "# define HAVE_BOOL_T 1", ++ "# define HAVE_CONNECT 1", ++ "# define HAVE_DLFCN_H 1", ++ "# define HAVE_ERRNO_H 1", ++ "# define HAVE_FCNTL 1", ++ "# define HAVE_FCNTL_H 1", ++ "# define HAVE_FCNTL_O_NONBLOCK 1", ++ "# define HAVE_FDOPEN 1", ++ "# define HAVE_FORK 1", ++ "# define HAVE_FREEADDRINFO 1", ++ "# define HAVE_FREEIFADDRS 1", ++ "# if !defined(__ANDROID__)", ++ "# define HAVE_FSETXATTR 1", ++ "# endif", ++ "# define HAVE_FTRUNCATE 1", ++ "# define HAVE_GAI_STRERROR 1", ++ "# define HAVE_GETADDRINFO 1", ++ "# define HAVE_GETADDRINFO_THREADSAFE 1", ++ "# define HAVE_GETEUID 1", ++ "# define HAVE_GETHOSTBYADDR 1", ++ "# define HAVE_GETHOSTBYNAME 1", ++ "# define HAVE_GETHOSTNAME 1", ++ "# if !defined(__ANDROID__)", ++ "# define HAVE_GETIFADDRS 1", ++ "# endif", ++ "# define HAVE_GETNAMEINFO 1", ++ "# define HAVE_GETPEERNAME 1", ++ "# define HAVE_GETPPID 1", ++ "# define HAVE_GETPROTOBYNAME 1", ++ "# define HAVE_GETPWUID 1", ++ "# if !defined(__ANDROID__)", ++ "# define HAVE_GETPWUID_R 1", ++ "# endif", ++ "# define HAVE_GETRLIMIT 1", ++ "# define HAVE_GETSOCKNAME 1", ++ "# define HAVE_GETTIMEOFDAY 1", ++ "# define HAVE_GMTIME_R 1", ++ "# if !defined(__ANDROID__)", ++ "# define HAVE_IFADDRS_H 1", ++ "# endif", ++ "# define HAVE_IF_NAMETOINDEX 1", ++ "# define HAVE_INET_ADDR 1", ++ "# define HAVE_INET_NTOP 1", ++ "# define HAVE_INET_PTON 1", ++ "# define HAVE_INTTYPES_H 1", ++ "# define HAVE_IOCTL 1", ++ "# define HAVE_IOCTL_FIONBIO 1", ++ "# define HAVE_IOCTL_SIOCGIFADDR 1", ++ "# define HAVE_LIBGEN_H 1", ++ "# define HAVE_LIBZ 1", ++ "# define HAVE_LIMITS_H 1", ++ "# define HAVE_LL 1", ++ "# define HAVE_LOCALE_H 1", ++ "# define HAVE_LOCALTIME_R 1", ++ "# define HAVE_LONGLONG 1", ++ "# define HAVE_MEMORY_H 1", ++ "# define HAVE_NETDB_H 1", ++ "# define HAVE_NETINET_IN_H 1", ++ "# define HAVE_NETINET_TCP_H 1", ++ "# define HAVE_NET_IF_H 1", ++ "# define HAVE_PERROR 1", ++ "# define HAVE_PIPE 1", ++ "# define HAVE_POLL 1", ++ "# define HAVE_POLL_FINE 1", ++ "# define HAVE_POLL_H 1", ++ "# define HAVE_POSIX_STRERROR_R 1", ++ "# define HAVE_PWD_H 1", ++ "# define HAVE_RECV 1", ++ "# define HAVE_SELECT 1", ++ "# define HAVE_SEND 1", ++ "# define HAVE_SETJMP_H 1", ++ "# define HAVE_SETLOCALE 1", ++ "# define HAVE_SETRLIMIT 1", ++ "# define HAVE_SETSOCKOPT 1", ++ "# define HAVE_SGTTY_H 1", ++ "# define HAVE_SIGACTION 1", ++ "# define HAVE_SIGINTERRUPT 1", ++ "# define HAVE_SIGNAL 1", ++ "# define HAVE_SIGNAL_H 1", ++ "# define HAVE_SIGSETJMP 1", ++ "# define HAVE_SIG_ATOMIC_T 1", ++ "# define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1", ++ "# define HAVE_SOCKET 1", ++ "# define HAVE_SOCKETPAIR 1", ++ "# define HAVE_STDBOOL_H 1", ++ "# define HAVE_STDINT_H 1", ++ "# define HAVE_STDIO_H 1", ++ "# define HAVE_STDLIB_H 1", ++ "# define HAVE_STRCASECMP 1", ++ "# define HAVE_STRDUP 1", ++ "# define HAVE_STRERROR_R 1", ++ "# define HAVE_STRINGS_H 1", ++ "# define HAVE_STRING_H 1", ++ "# define HAVE_STRNCASECMP 1", ++ "# define HAVE_STRSTR 1", ++ "# define HAVE_STRTOK_R 1", ++ "# define HAVE_STRTOLL 1", ++ "# define HAVE_STRUCT_SOCKADDR_STORAGE 1", ++ "# define HAVE_STRUCT_TIMEVAL 1", ++ "# define HAVE_SYS_IOCTL_H 1", ++ "# define HAVE_SYS_PARAM_H 1", ++ "# define HAVE_SYS_POLL_H 1", ++ "# define HAVE_SYS_RESOURCE_H 1", ++ "# define HAVE_SYS_SELECT_H 1", ++ "# define HAVE_SYS_SOCKET_H 1", ++ "# define HAVE_SYS_STAT_H 1", ++ "# define HAVE_SYS_TIME_H 1", ++ "# define HAVE_SYS_TYPES_H 1", ++ "# define HAVE_SYS_UIO_H 1", ++ "# define HAVE_SYS_UN_H 1", ++ "# define HAVE_SYS_WAIT_H 1", ++ "# define HAVE_SYS_XATTR_H 1", ++ "# define HAVE_TIME_H 1", ++ "# define HAVE_UNAME 1", ++ "# define HAVE_UNISTD_H 1", ++ "# define HAVE_UTIME 1", ++ "# define HAVE_UTIME_H 1", ++ "# define HAVE_VARIADIC_MACROS_C99 1", ++ "# define HAVE_VARIADIC_MACROS_GCC 1", ++ "# define HAVE_WRITABLE_ARGV 1", ++ "# define HAVE_WRITEV 1", ++ "# define HAVE_ZLIB_H 1", ++ "# define LT_OBJDIR \".libs/\"", ++ "# define PACKAGE \"curl\"", ++ "# define PACKAGE_BUGREPORT \"a suitable curl mailing list: https://curl.haxx.se/mail/\"", ++ "# define PACKAGE_NAME \"curl\"", ++ "# define PACKAGE_STRING \"curl -\"", ++ "# define PACKAGE_TARNAME \"curl\"", ++ "# define PACKAGE_URL \"\"", ++ "# define PACKAGE_VERSION \"-\"", ++ "# define RECV_TYPE_ARG1 int", ++ "# define RECV_TYPE_ARG2 void *", ++ "# define RECV_TYPE_ARG3 size_t", ++ "# define RECV_TYPE_ARG4 int", ++ "# define RECV_TYPE_RETV ssize_t", ++ "# define RETSIGTYPE void", ++ "# define SELECT_QUAL_ARG5", ++ "# define SELECT_TYPE_ARG1 int", ++ "# define SELECT_TYPE_ARG234 fd_set *", ++ "# define SELECT_TYPE_ARG5 struct timeval *", ++ "# define SELECT_TYPE_RETV int", ++ "# define SEND_QUAL_ARG2 const", ++ "# define SEND_TYPE_ARG1 int", ++ "# define SEND_TYPE_ARG2 void *", ++ "# define SEND_TYPE_ARG3 size_t", ++ "# define SEND_TYPE_ARG4 int", ++ "# define SEND_TYPE_RETV ssize_t", ++ "# define SIZEOF_INT 4", ++ "# define SIZEOF_LONG 8", ++ "# define SIZEOF_OFF_T 8", ++ "# define SIZEOF_CURL_OFF_T 8", ++ "# define SIZEOF_SHORT 2", ++ "# define SIZEOF_SIZE_T 8", ++ "# define SIZEOF_TIME_T 8", ++ "# define SIZEOF_VOIDP 8", ++ "# define STDC_HEADERS 1", ++ "# define STRERROR_R_TYPE_ARG3 size_t", ++ "# define TIME_WITH_SYS_TIME 1", ++ "# define VERSION \"-\"", ++ "# ifndef _DARWIN_USE_64_BIT_INODE", ++ "# define _DARWIN_USE_64_BIT_INODE 1", ++ "# endif", ++ "#endif", ++ "", ++ "#endif // EXTERNAL_CURL_INCLUDE_CURL_CONFIG_H_", ++ ], ++) diff --git a/modules/curl/7.69.1/patches/module_dot_bazel.patch b/modules/curl/7.69.1/patches/module_dot_bazel.patch new file mode 100644 index 00000000000..c444573a6f5 --- /dev/null +++ b/modules/curl/7.69.1/patches/module_dot_bazel.patch @@ -0,0 +1,13 @@ +--- MODULE.bazel ++++ MODULE.bazel +@@ -0,0 +1,10 @@ ++module( ++ name = "curl", ++ compatibility_level = 7, ++ version = "7.69.1", ++) ++ ++bazel_dep(name = "grpc", version = "1.56.3") ++bazel_dep(name = "boringssl", version = "0.0.0-20240126-22d349c") ++bazel_dep(name = "c-ares", version = "1.16.1") ++bazel_dep(name = "zlib", version = "1.3") diff --git a/modules/curl/7.69.1/presubmit.yml b/modules/curl/7.69.1/presubmit.yml new file mode 100644 index 00000000000..581327dc799 --- /dev/null +++ b/modules/curl/7.69.1/presubmit.yml @@ -0,0 +1,17 @@ +matrix: + platform: + - debian10 + - ubuntu2004 + - macos + - macos_arm64 + - windows + bazel: + - 7.x + - 6.x +tasks: + verify_targets: + name: Verify build targets + platform: ${{ platform }} + bazel: ${{ bazel }} + build_targets: + - '@curl//:curl' diff --git a/modules/curl/7.69.1/source.json b/modules/curl/7.69.1/source.json new file mode 100644 index 00000000000..39ff124abf2 --- /dev/null +++ b/modules/curl/7.69.1/source.json @@ -0,0 +1,10 @@ +{ + "url": "https://github.com/curl/curl/releases/download/curl-7_69_1/curl-7.69.1.tar.gz", + "integrity": "sha256-Aa4MEj3uRbAbuu+UwLwA7Srsicsu4P1Zjg0wKmteCpg=", + "strip_prefix": "curl-7.69.1", + "patch_strip": 0, + "patches": { + "add_build_file.patch": "sha256-LHHkpSiD9xdxAgAPRK2MlKN3cV+nU+MS7jZemHEbWeY=", + "module_dot_bazel.patch": "sha256-QpNKgdgDmX7gHm/3q+yTdxJ4alUN/6UWmo4eHQR7Wnw=" + } +} diff --git a/modules/curl/metadata.json b/modules/curl/metadata.json new file mode 100644 index 00000000000..1f78273e091 --- /dev/null +++ b/modules/curl/metadata.json @@ -0,0 +1,17 @@ +{ + "homepage": "https://github.com/curl/curl", + "maintainers": [ + { + "email": "julian.amann@tum.de", + "github": "Vertexwahn", + "name": "Julian Amann" + } + ], + "repository": [ + "github:curl/curl" + ], + "versions": [ + "7.69.1" + ], + "yanked_versions": {} +}