Hey,
I've recently worked a bit to get ECL working on Haiku platform. To make ASDF work there, I had to patch the os-detection part of UIOP to recognize the platform. Patch is very minimal:
-- CUT HERE --
From ea6c95dc35fe3a71912fd6f43c4b704e70d35ac3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= daniel@turtleware.eu Date: Tue, 6 Sep 2016 21:33:10 +0200 Subject: [PATCH] detect-os: add haiku os
--- uiop/os.lisp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/uiop/os.lisp b/uiop/os.lisp index 31e1583..85bd56a 100644 --- a/uiop/os.lisp +++ b/uiop/os.lisp @@ -55,13 +55,18 @@ keywords explicitly." "Is the underlying operating system an (emulated?) MacOS 9 or earlier?" (featurep :mcl))
+ (defun os-haiku-p () + "Is the underlying operating system Haiku?" + (featurep :haiku)) + (defun detect-os () "Detects the current operating system. Only needs be run at compile-time, except on ABCL where it might change between FASL compilation and runtime." (loop* :with o :for (feature . detect) :in '((:os-unix . os-unix-p) (:os-macosx . os-macosx-p) (:os-windows . os-windows-p) - (:genera . os-genera-p) (:os-oldmac . os-oldmac-p)) + (:genera . os-genera-p) (:os-oldmac . os-oldmac-p) + (:haiku . os-haiku-p)) :when (and (or (not o) (eq feature :os-macosx)) (funcall detect)) :do (setf o feature) (pushnew feature *features*) :else :do (setf *features* (remove feature *features*))