commit 0854f21baa167da1ad19618daa331b1a46cbee07 Author: Satoshi Imai 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* /td>secret-service: Allow cooperative scheduling when Fibers is used....This lets the 'childhurd' service start in the background, letting shepherd perform other tasks in the meantime, including serving clients (such as the 'herd' command). * gnu/build/secret-service.scm (with-modules): New macro. (wait-for-readable-fd): Add cooperative implementation when Fibers is in use. (secret-service-send-secrets): Define 'sleep' so that it cooperates when Fibers is in use. Ludovic Courtès 2022-04-07secret-service: Abstract 'wait-for-readable-fd'....* gnu/build/secret-service.scm (wait-for-readable-fd): New procedure. (secret-service-send-secrets): Use it instead of 'select'. Ludovic Courtès 2021-12-12services: secret-service: Turn into a Shepherd service....* gnu/services/virtualization.scm (secret-service-activation): Remove. (secret-service-shepherd-services): New procedure. (secret-service-type)[extensions]: Remove ACTIVATION-SERVICE-TYPE extension. Add SHEPHERD-ROOT-SERVICE-TYPE and USER-PROCESSES-SERVICE-TYPE extensions. * gnu/build/secret-service.scm (delete-file*): New procedure. (secret-service-receive-secrets): Use it. Ludovic Courtès