Date: Saturday, January 8, 2022 @ 23:56:53 Author: arojas Revision: 1097485
Fix crashes with curl 7.81 (FS#73282) Added: julia/trunk/julia-curl-7.81.patch Modified: julia/trunk/PKGBUILD -----------------------+ PKGBUILD | 17 ++++++++++++++--- julia-curl-7.81.patch | 28 ++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-01-08 23:49:11 UTC (rev 1097484) +++ PKGBUILD 2022-01-08 23:56:53 UTC (rev 1097485) @@ -9,7 +9,7 @@ pkgname=julia epoch=2 pkgver=1.7.1 -pkgrel=3 +pkgrel=4 arch=(x86_64) pkgdesc='High-level, high-performance, dynamic programming language' url='https://julialang.org/' @@ -30,7 +30,8 @@ julia-hardcoded-libs.patch make-install-no-build.patch julia-llvm-patchelf.patch - julia-libunwind-1.6.patch) + julia-libunwind-1.6.patch + julia-curl-7.81.patch) backup=(etc/julia/startup.jl) sha256sums=('add869121b7e788ff487a234fd39484469dbb3ded29b17041c63c4757515dd58' 'SKIP' @@ -44,7 +45,8 @@ '03043f005c133ac9af1d4dc113ea8b525ad3b393690625be77975f0e29dd6457' '8be4605f92a009072ca7e843549c225fc4e959893498e7c4f8f79e861e63714d' '6048c69c987f33f2b17d78b63368b0762d1d6a1e531ef9932d0c23bda49d1384' - '3afa172e8b54ce48e77542677b2b7143199d444bfeed39be1644ce88b513a3d0') + '3afa172e8b54ce48e77542677b2b7143199d444bfeed39be1644ce88b513a3d0' + '710587dd88c7698dc5cdf47a1a50f6f144b584b7d9ffb85fac3f5f79c65fce11') validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495') # Julia (Binary signing key) <[email protected]> prepare() { @@ -70,6 +72,15 @@ sed -e 's|0.22314355f0 + 3.1415927f0im|0.22314355f0 - 3.1415927f0im|' -i stdlib/LinearAlgebra/test/lu.jl # Don't try to run patchelf on system LLVM patch -p1 -i ../julia-llvm-patchelf.patch + +# Fix segfault with curl 7.81 + cd stdlib/srccache + tar -xzf Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz + patch -d JuliaLang-Downloads.jl-26d79af -p1 < "$srcdir"/julia-curl-7.81.patch + rm Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz + tar -czf Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz JuliaLang-Downloads.jl-26d79af + md5sum Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz/md5 + sha512sum Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/Downloads-26d79afcde9cf837a331fce023b31f1d3699700c.tar.gz/sha512 } _buildopts="prefix=/usr \ Added: julia-curl-7.81.patch =================================================================== --- julia-curl-7.81.patch (rev 0) +++ julia-curl-7.81.patch 2022-01-08 23:56:53 UTC (rev 1097485) @@ -0,0 +1,28 @@ +From a6d88d774087a1bff90a853e769b307a06de9293 Mon Sep 17 00:00:00 2001 +From: Jameson Nash <[email protected]> +Date: Mon, 8 Nov 2021 14:25:20 -0500 +Subject: [PATCH] Avoid infinite recursion in `timer_callback` + +Fixes https://github.com/JuliaLang/Downloads.jl/issues/163 +--- + src/Curl/Multi.jl | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/src/Curl/Multi.jl b/src/Curl/Multi.jl +index fc865b0..0ef1b63 100644 +--- a/src/Curl/Multi.jl ++++ b/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
