Commit a92cd99d authored by Gary Palter's avatar Gary Palter Committed by Robert Goldman
Browse files

On Genera running under macOS, do not search /usr/share/common-lisp for ASDF systems:

macOS has implemented a separate read-only system volume and /usr/share is on that volume.
Consequently, /usr/share/common-lisp does not exist nor can it be created. Further, Genera
accesses its host filesystem through NFS and there is no way to export the root (/) or
/usr/share that will not lead Genera into an infinite loop trying to access those mounts.
Instead, just search /usr/local/share which is on the writable Data volume.

Also, change the value return by UIOP/OS:ARCHITECTURE to :VLM when running on a VLM.
parent e169a608
......@@ -322,6 +322,17 @@ also \"Configuration DSL\"\) in the ASDF manual."
(or (remove nil (getenv-absolute-directories "XDG_DATA_DIRS"))
((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)
......@@ -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))))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment