git: 175c1f57e85c - main - lang/julia: unbreak build when using libcurl 7.81

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Tue, 25 Jan 2022 09:28:14 UTC
The branch main has been updated by fernape:

URL: https://cgit.FreeBSD.org/ports/commit/?id=175c1f57e85c9a0936731219240483df64c43691

commit 175c1f57e85c9a0936731219240483df64c43691
Author:     Eric Reardon <rizor.reardon@yahoo.com>
AuthorDate: 2022-01-24 16:09:02 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2022-01-25 09:25:59 +0000

    lang/julia: unbreak build when using libcurl 7.81
    
    See:
    
     * https://github.com/JuliaLang/Downloads.jl/issues/172
     * https://github.com/conda-forge/julia-feedstock/issues/169#issuecomment-1007411498
    
    PR:     261417
    Reported by:    rizor.reardon@yahoo.com
---
 lang/julia/Makefile                                      |  8 +++++++-
 ...afcde9cf837a331fce023b31f1d3699700c_src_Curl_Multi.jl | 16 ++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/lang/julia/Makefile b/lang/julia/Makefile
index cac210d03cf5..0ff9ee9d24a9 100644
--- a/lang/julia/Makefile
+++ b/lang/julia/Makefile
@@ -3,7 +3,7 @@
 PORTNAME=	julia
 DISTVERSION=	1.7.1
 DISTVERSIONSUFFIX=	-full
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	lang math
 MASTER_SITES=	https://github.com/JuliaLang/julia/releases/download/v${DISTVERSION}/
 
@@ -96,6 +96,12 @@ GPL_LIBS_MAKE_ARGS=	USE_SYSTEM_LIBSUITESPARSE=1 \
 NATIVE_DESC=		Build with native CPU JIT tuning
 NATIVE_MAKE_ARGS=	MARCH=native
 
+post-extract:
+	${MKDIR} ${WRKSRC}/stdlib/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c/
+	${TAR} -C ${WRKSRC}/stdlib/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c/ --strip-components 1 \
+		-xf ${WRKSRC}/stdlib/srccache/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz
+	echo "1" > ${WRKSRC}/stdlib/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c/source-extracted
+
 post-patch:
 	echo "override TAGGED_RELEASE_BANNER=\"FreeBSD port lang/${PORTNAME} build\"" >> ${WRKSRC}/Make.user
 	# unset ARCH for auto-detection
diff --git a/lang/julia/files/patch-stdlib_Downloads-26d79afcde9cf837a331fce023b31f1d3699700c_src_Curl_Multi.jl b/lang/julia/files/patch-stdlib_Downloads-26d79afcde9cf837a331fce023b31f1d3699700c_src_Curl_Multi.jl
new file mode 100644
index 000000000000..da0227e7c083
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_Downloads-26d79afcde9cf837a331fce023b31f1d3699700c_src_Curl_Multi.jl
@@ -0,0 +1,16 @@
+--- stdlib/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c/src/Curl/Multi.jl.orig	2021-10-26 22:48:36 UTC
++++ stdlib/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c/src/Curl/Multi.jl
+@@ -142,12 +142,7 @@ function timer_callback(
+ )::Cint
+     multi = unsafe_pointer_to_objref(multi_p)::Multi
+     @assert multi_h == multi.handle
+-    if timeout_ms == 0
+-        lock(multi.lock) do
+-            @check curl_multi_socket_action(multi.handle, CURL_SOCKET_TIMEOUT, 0)
+-            check_multi_info(multi)
+-        end
+-    elseif timeout_ms >= 0
++    if timeout_ms >= 0
+         timeout_cb = @cfunction(timeout_callback, Cvoid, (Ptr{Cvoid},))
+         uv_timer_start(multi.timer, timeout_cb, max(1, timeout_ms), 0)
+     elseif timeout_ms == -1