71 lines
2.7 KiB
Diff
71 lines
2.7 KiB
Diff
|
commit 0854f21baa167da1ad19618daa331b1a46cbee07
|
||
|
Author: Satoshi Imai <satoshi.imai@gmail.com>
|
||
|
Date: Tue Jun 15 03:46:57 2021 +0900
|
||
|
|
||
|
Fix to make it works with the current SBCL
|
||
|
|
||
|
diff --git a/api.lisp b/api.lisp
|
||
|
index 2d8c29b..aed38be 100644
|
||
|
--- a/api.lisp
|
||
|
+++ b/api.lisp
|
||
|
@@ -8,8 +8,8 @@
|
||
|
(defun startup-python ()
|
||
|
(.initialize)
|
||
|
(initialize-modules)
|
||
|
- #+(and sbcl unix); python will fail sbcl's sigpipe-handler.
|
||
|
- (sb-unix::enable-interrupt sb-unix::sigpipe #'sb-unix::sigpipe-handler)
|
||
|
+ ;; #+(and sbcl unix); python will fail sbcl's sigpipe-handler.
|
||
|
+ ;; (sb-unix::enable-interrupt sb-unix::sigpipe #'sb-unix::sigpipe-handler)
|
||
|
)
|
||
|
|
||
|
(defun shutdown-python ()
|
||
|
@@ -35,8 +35,9 @@
|
||
|
(let ((cpython-initialized? (.is-initialized)))
|
||
|
(unless cpython-initialized?
|
||
|
(.initialize)
|
||
|
- #+(and sbcl unix); python will fail sbcl's sigpipe-handler.
|
||
|
- (sb-unix::enable-interrupt sb-unix::sigpipe #'sb-unix::sigpipe-handler))
|
||
|
+ ;; #+(and sbcl unix); python will fail sbcl's sigpipe-handler.
|
||
|
+ ;; (sb-unix::enable-interrupt sb-unix::sigpipe #'sb-unix::sigpipe-handler)
|
||
|
+ )
|
||
|
(unwind-protect
|
||
|
(funcall thunk)
|
||
|
(unless cpython-initialized?
|
||
|
diff --git a/ffi-conditions.lisp b/ffi-conditions.lisp
|
||
|
index ac03e80..ba1da33 100644
|
||
|
--- a/ffi-conditions.lisp
|
||
|
+++ b/ffi-conditions.lisp
|
||
|
@@ -3,8 +3,9 @@
|
||
|
;; Python must have been initialized for our macroexpansions to work.
|
||
|
(eval-when (:compile-toplevel :load-toplevel)
|
||
|
(.initialize)
|
||
|
- #+(and sbcl unix); python will fail sbcl's sigpipe-handler.
|
||
|
- (sb-unix::enable-interrupt sb-unix::sigpipe #'sb-unix::sigpipe-handler))
|
||
|
+ ;; #+(and sbcl unix); python will fail sbcl's sigpipe-handler.
|
||
|
+ ;; (sb-unix::enable-interrupt sb-unix::sigpipe #'sb-unix::sigpipe-handler)
|
||
|
+ )
|
||
|
|
||
|
(defpyexception "BaseException" (python-condition)
|
||
|
(("args" :initarg :args)))
|
||
|
diff --git a/grovel-include-dir.lisp b/grovel-include-dir.lisp
|
||
|
index 6583084..62e07f3 100644
|
||
|
--- a/grovel-include-dir.lisp
|
||
|
+++ b/grovel-include-dir.lisp
|
||
|
@@ -23,13 +23,15 @@
|
||
|
(or (and (uiop:file-exists-p env-value) (cl:list env-value))
|
||
|
(error "DLL for PYTHON3 not correctly pointed to by BB_PYTHON3_DYLIB: ~A" env-value)))))
|
||
|
|
||
|
+(defvar *detected-library* nil)
|
||
|
+
|
||
|
(defun detect-python ()
|
||
|
(setf *detected-library* nil)
|
||
|
(or
|
||
|
(let ((env-value (uiop:getenv "BB_PYTHON3_INCLUDE_DIR")))
|
||
|
(when env-value
|
||
|
(or (uiop:directory-exists-p env-value)
|
||
|
- (error "BB_PYTHON3_INCLUDE_DIR is set, but does not point to an actual directory: %a" env-value))))
|
||
|
+ (error "BB_PYTHON3_INCLUDE_DIR is set, but does not point to an actual directory: ~A" env-value))))
|
||
|
(when *miniconda3*
|
||
|
(let ((path (if (pathnamep *miniconda3*)
|
||
|
*miniconda3*
|