[arch-commits] Commit in julia/trunk (PKGBUILD julia-curl-7.81.patch)

Antonio Rojas arojas at gemini.archlinux.org
Sat Jan 8 23:56:53 UTC 2022


    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) <buildbot at julialang.org>
 
 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 <vtjnash at gmail.com>
+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



More information about the arch-commits mailing list