aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/lisp-xyz.scm6
-rw-r--r--gnu/packages/patches/sbcl-s-sysdeps-bt2.patch61
3 files changed, 66 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index ad5494fe95..7b8f295566 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2081,6 +2081,7 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
%D%/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch \
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
+ %D%/packages/patches/sbcl-s-sysdeps-bt2.patch \
%D%/packages/patches/scalapack-gcc-10-compilation.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scilab-better-compiler-detection.patch \
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 1b684c61bd..1e7825fdb7 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -25144,10 +25144,12 @@ Rucksack with some enhancements.")
(uri (git-reference
(url home-page)
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-s-sysdeps" version))
(sha256
(base32
- "0rp81iq0rgl48qdwbmfy89glga81hmry2lp8adjbr5h5ybr92b4n"))))
+ "0rp81iq0rgl48qdwbmfy89glga81hmry2lp8adjbr5h5ybr92b4n"))
+ (patches
+ (search-patches "sbcl-s-sysdeps-bt2.patch"))))
(inputs
(list sbcl-bordeaux-threads sbcl-usocket))
(synopsis "Common Lisp abstraction layer over platform dependent functionality")
diff --git a/gnu/packages/patches/sbcl-s-sysdeps-bt2.patch b/gnu/packages/patches/sbcl-s-sysdeps-bt2.patch
new file mode 100644
index 0000000000..60749c6e62
--- /dev/null
+++ b/gnu/packages/patches/sbcl-s-sysdeps-bt2.patch
@@ -0,0 +1,61 @@
+From 800ca497282f6fb61e41ea151038d3baa05cdaeb Mon Sep 17 00:00:00 2001
+From: kilianmh <kilian.haemmerle@protonmail.com>
+Date: Sun, 9 Jun 2024 09:02:00 +0200
+Subject: [PATCH] Chore: Update to bordeaux-threads-2
+
+---
+ src/sysdeps.lisp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/sysdeps.lisp b/src/sysdeps.lisp
+index 638e88c..f3a9f19 100644
+--- a/src/sysdeps.lisp
++++ b/src/sysdeps.lisp
+@@ -21,19 +21,19 @@
+
+ (defun current-process ()
+ "Return the object representing the current process"
+- (bt:current-thread))
++ (bt2:current-thread))
+
+ (defun kill-process (process)
+ "Kill the process represented by the object process"
+- (bt:destroy-thread process))
++ (bt2:destroy-thread process))
+
+ (defun run-process (name function &rest arguments)
+ "Create and run a new process with name, executing function on arguments"
+- (bt:make-thread #'(lambda () (apply function arguments)) :name name))
++ (bt2:make-thread #'(lambda () (apply function arguments)) :name name))
+
+ (defun all-processes ()
+ "Return a list of all processes currently running"
+- (bt:all-threads))
++ (bt2:all-threads))
+
+ ;; opening a client TCP/IP socket stream
+
+@@ -75,19 +75,19 @@
+
+ (defun stop-process (name)
+ "Stop a named process by destroying it"
+- (let ((thread (find name (bt:all-threads) :key #'bt:thread-name :test #'equal)))
++ (let ((thread (find name (bt2:all-threads) :key #'bt2:thread-name :test #'equal)))
+ (when thread
+- (bt:destroy-thread thread)
++ (bt2:destroy-thread thread)
+ name)))
+
+ ;; working with process locks
+
+ (defun make-process-lock (name)
+ "Create a named process lock object"
+- (bt:make-recursive-lock name))
++ (bt2:make-recursive-lock :name name))
+
+ (defmacro with-process-lock ((lock) &body body)
+ "Execute body wih the process lock grabbed, wait otherwise"
+- `(bt:with-recursive-lock-held (,lock) ,@body))
++ `(bt2:with-recursive-lock-held (,lock) ,@body))
+
+ ;;;; eof