diff --git a/uiop/configuration.lisp b/uiop/configuration.lisp index 9d3a5282cb30fff42fc102917bfabc539c955ad9..4c6b315a40f2d0816832678e3eb350605404fb6c 100644 --- a/uiop/configuration.lisp +++ b/uiop/configuration.lisp @@ -322,6 +322,17 @@ also \"Configuration DSL\"\) in the ASDF manual." (or (remove nil (getenv-absolute-directories "XDG_DATA_DIRS")) (os-cond ((os-windows-p) (mapcar 'get-folder-path '(:appdata :common-appdata))) + ;; macOS' separate read-only system volume means that the contents + ;; of /usr/share are frozen by Apple. Unlike when running natively + ;; on macOS, Genera must access the filesystem through NFS. Attempting + ;; to export either the root (/) or /usr/share simply doesn't work. + ;; (Genera will go into an infinite loop trying to access those mounts.) + ;; So, when running Genera on macOS, only search /usr/local/share. + ((and (os-genera-p) + #+Genera (sys:system-case + (darwin-vlm t) + (otherwise nil))) + (mapcar 'parse-unix-namestring '("/usr/local/share/"))) (t (mapcar 'parse-unix-namestring '("/usr/local/share/" "/usr/share/"))))))) (defun xdg-config-dirs (&rest more) diff --git a/uiop/os.lisp b/uiop/os.lisp index 925a55a6f589f158fd5093e80f1f553049636fcf..729b9919749a28d60610aabd016b23fd92b5aee8 100644 --- a/uiop/os.lisp +++ b/uiop/os.lisp @@ -188,7 +188,7 @@ then returning the non-empty string value of the variable" (:x86 :x86 :i386 :i486 :i586 :i686 :pentium3 :pentium4 :pc386 :iapx386 :x8632-target) (:ppc64 :ppc64 :ppc64-target) (:ppc32 :ppc32 :ppc32-target :ppc :powerpc) :hppa64 :hppa :sparc64 (:sparc32 :sparc32 :sparc) - :mipsel :mipseb :mips :alpha (:arm :arm :arm-target) :imach + :mipsel :mipseb :mips :alpha (:arm :arm :arm-target) :vlm :imach ;; Java comes last: if someone uses C via CFFI or otherwise JNA or JNI, ;; we may have to segregate the code still by architecture. (:java :java :java-1.4 :java-1.5 :java-1.6 :java-1.7))))