diff options
author | Vladimír Čunát <v@cunat.cz> | 2022-07-20 20:26:37 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2022-07-20 20:26:37 +0200 |
commit | ddfcb5ba6828a12749780514c875e336d2ccf3ce (patch) | |
tree | 5d2b8190c71a4434f2ca0e1234945fc73f53d85c /pkgs/tools/networking/curl | |
parent | 461ccfe14d9e60baf7fc2f87fe891e89c8bc0b09 (diff) | |
parent | 5bb4355ad45579deba552649a1e5854000f004bc (diff) |
Merge #180478: curl: fix build on certain platforms
...into staging
Diffstat (limited to 'pkgs/tools/networking/curl')
-rw-r--r-- | pkgs/tools/networking/curl/atomic.patch | 30 | ||||
-rw-r--r-- | pkgs/tools/networking/curl/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/networking/curl/sched.patch | 26 |
3 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/tools/networking/curl/atomic.patch b/pkgs/tools/networking/curl/atomic.patch new file mode 100644 index 0000000000000..77ee610fc117a --- /dev/null +++ b/pkgs/tools/networking/curl/atomic.patch @@ -0,0 +1,30 @@ +From 50efb0822aa0e0ab165158dd0a26e65a2290e6d2 Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg <daniel@haxx.se> +Date: Tue, 28 Jun 2022 09:00:25 +0200 +Subject: [PATCH] easy_lock: switch to using atomic_int instead of bool + +To work with more compilers without requiring separate libs to +link. Like with gcc-12 for RISC-V on Linux. + +Reported-by: Adam Sampson +Fixes #9055 +Closes #9061 +--- + lib/easy_lock.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/easy_lock.h b/lib/easy_lock.h +index 07c85c5ffdd19..9c11bc50c5f20 100644 +--- a/lib/easy_lock.h ++++ b/lib/easy_lock.h +@@ -40,8 +40,8 @@ + #include <sched.h> + #endif + +-#define curl_simple_lock atomic_bool +-#define CURL_SIMPLE_LOCK_INIT false ++#define curl_simple_lock atomic_int ++#define CURL_SIMPLE_LOCK_INIT 0 + + static inline void curl_simple_lock_lock(curl_simple_lock *lock) + { diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 44f0918bd209c..a62b6c8e27bbe 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -60,6 +60,8 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./7.79.1-darwin-no-systemconfiguration.patch + ./sched.patch + ./atomic.patch ] ++ lib.optional patchNetrcRegression ./netrc-regression.patch; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; diff --git a/pkgs/tools/networking/curl/sched.patch b/pkgs/tools/networking/curl/sched.patch new file mode 100644 index 0000000000000..33f08fa42f249 --- /dev/null +++ b/pkgs/tools/networking/curl/sched.patch @@ -0,0 +1,26 @@ +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 |