gnu: curl: Fix build on some systems.

* gnu/packages/curl.scm (curl-7.84.0)[source]: Add patch to work around
implicit function declaration.
* gnu/packages/patches/curl-easy-lock.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
This commit is contained in:
Efraim Flashner 2022-07-01 18:53:35 +03:00
parent cec5a522e1
commit 89fe091bb4
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
3 changed files with 35 additions and 1 deletions

View File

@ -977,6 +977,7 @@ dist_patch_DATA = \
%D%/packages/patches/crda-optional-gcrypt.patch \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/curl-easy-lock.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \

View File

@ -153,7 +153,9 @@ tunneling, and so on.")
version ".tar.xz"))
(sha256
(base32
"1f2xgj0wvys9xw50h7vcbaraavjr9rxx9n06x2xfbgs7ym1qn49d"))))
"1f2xgj0wvys9xw50h7vcbaraavjr9rxx9n06x2xfbgs7ym1qn49d"))
(patches (append (origin-patches (package-source curl))
(search-patches "curl-easy-lock.patch")))))
(arguments (substitute-keyword-arguments (package-arguments curl)
((#:phases phases)
(cond

View File

@ -0,0 +1,31 @@
This patch is taken from upstream master, and should probably be dropped
with the next release.
ihttps://github.com/curl/curl/commit/e2e7f54b7bea521fa8373095d0f43261a720cda0.patch
From e2e7f54b7bea521fa8373095d0f43261a720cda0 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 27 Jun 2022 08:46:21 +0200
Subject: [PATCH] easy_lock.h: include sched.h if available to fix build
Patched-by: Harry Sintonen
Closes #9054
---
lib/easy_lock.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/easy_lock.h b/lib/easy_lock.h
index 819f50ce815b8..1f54289ceb2d3 100644
--- a/lib/easy_lock.h
+++ b/lib/easy_lock.h
@@ -36,6 +36,9 @@
#elif defined (HAVE_ATOMIC)
#include <stdatomic.h>
+#if defined(HAVE_SCHED_YIELD)
+#include <sched.h>
+#endif
#define curl_simple_lock atomic_bool
#define CURL_SIMPLE_LOCK_INIT false