Thanks for the updates. AFAIK Xach is uninterested in bundling a newer
version of ASDF. I regret this, but there's nothing I can do about it.
It would be great to get a more up-to-date version of ASDF bundled with
CLISP; if there's anything that keeps that from happening, LMK, and I
will try to help and coordinate with the CLISP team.
As I said, anything that the CLISP team could do to support ASDF testing
would be welcome. I am *somewhat* knowledgeable about the CL Foundation
Docker images, and have managed to roll new ones for SBCL, Allegro, etc.
for testing purposes, so I could help with Dockerizing CLISP if there's
anyone who's interested.
On 21 Nov 2024, at 12:15, Alexandru Popa wrote:
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
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