Hi Robert and sorry for not testing latest ASDF. The problem actually was
detected during playing with QuickLisp, and I was under impression it has a
relatively recent version of ASDF.

Tested with ASDF-master (https://gitlab.common-lisp.net/asdf/asdf), version
3.3.7.2, :HAIKU, :OS-HAIKU, :UNIX and :OS-UNIX are all present, which is
probably good.
Tested with ASDF from QuickLisp (https://www.quicklisp.org/beta/), version
3.2.1, :UNIX and :OS-UNIX are present, :HAIKU is removed.
Tested with ASDF from CLIPS (https://gitlab.com/gnu-clisp/clisp), version
3.2.0, :UNIX and :OS-UNIX are present, :HAIKU is removed.

So, the solution is just using a more recent ASDF version. I will
communicate this to both CLISP and QuickLisp teams. I will also ask Haiku
and CLISP teams to provide a docker image or testing.

Thank you,
Alexandru

чт, 21 нояб. 2024 г. в 17:45, Robert Goldman <rpgold...@sift.info>:

> Please check [this merge request])(
> https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/147) and the 
> corresponding
> ASDF issue <https://gitlab.common-lisp.net/asdf/asdf/-/issues/37>.
>
> Is CLISP bundling an up-to-date version of ASDF?
>
> Please let me know, and if the above do not address the issue, open a new
> issue on the ASDF gitlab site
> <https://gitlab.common-lisp.net/asdf/asdf/-/issues> and I will see about
> getting this fixed and issuing a bug fix release.
>
> It would be very helpful if the clisp community could point me at a Docker
> image for Haiku + clisp so that I could put this configuration into test.
>
> Indeed, it would be very helpful to have a CLISP docker image for linux
> kept updated for test purposes. The lack of an official release version
> hampers my testing substantially; so much so that I have dropped clisp from
> the test suite. It's impossible to know what to test when there hasn't been
> an official release in 14 years.
>
> On 21 Nov 2024, at 5:26, Alexandru Popa wrote:
>
> Haiku is an operation system different from Windows, Linux or *BSD. Still,
> in many respects it can be considered Unix-like, which is especially true
> when porting software to it.
>
> CLISP was recently ported to Haiku. In the *features*, CLISP on Haiku
> defines both :UNIX (i.e. Unix-like) and :HAIKU, and this is probably the
> right decision. However, after (require "asdf"), *features* are changed,
> :HAIKU is removed and :OS-UNIX is added. This is certainly something which
> needs to be fixed. The desired solution would be to keep both :UNIX,
> :HAIKU
> and to add :OS-HAIKU.
>
> Here is the analysis from CLISP development list:
> ```
> (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) …
> (: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*))
> :finally
> (return (or o (error "Congratulations for trying ASDF on an
> operating system~%~ that is neither Unix, nor Windows, nor Genera, nor
> even
> old MacOS.~%Now you port it.")))))
>
> That is somewhat brittle code that side-effects *FEATURES*. It contains a
> special bypass to allow :OS-MACOSX to live there beside :OS-UNIX, but
> there’s nothing equivalent for Haiku. Whether Haiku is considered a UNIX
> or
> not I won’t debate.
>
> I call such code /brittle/ because there’s an undocumented (non-explicitly
> mentioned) dependency on element order in some innocuous list: If
> :os-macosx were before :os-unix in the A-list, that code would not set –
> and rather delete – :OS-UNIX in *features*.
>
> I would have appreciated a tiny comment like
>
> :for (feature . detect) :in '(…
> (:os-unix . os-unix-p) (:os-macosx . os-macosx-p) ; Beware,
> unix must come first!
> '''
>
> Alexandru Popa
>
> Robert P. Goldman
> Research Fellow
> Smart Information Flow Technologies (d/b/a SIFT, LLC)
>
> 319 N. First Ave., Suite 400
> Minneapolis, MN 55401
>
> Google Voice: (612) 326-3934
> Cell: (612) 384-3454
> Email: rpgold...@sift.net
>

Reply via email to