Re: CLISP on Haiku
Alexandru Popa <[email protected]> Thu, 24 Oct 2024 12:06:11 +0300
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <CAL2wRjSjj5hpD+2kTvqpxGL36m2_91eX+WGH8d23B1hqkS-hUw@mail.gmail.com> |
--===============8713678793569251709== Content-Type: multipart/alternative; boundary="000000000000046d7d062535511b" --000000000000046d7d062535511b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Also, I see clisp-2.50 branch in Git repository. Is CLISP 2-50 already released or is it prepared to be released in the future? I suppose Haiku specific code will enter in master branch, and from this branch Haiku will prepare the package. But the version will still be clisp-2.49, right? =D1=87=D1=82, 24 =D0=BE=D0=BA=D1=82. 2024=E2=80=AF=D0=B3. =D0=B2 10:44, Ale= xandru Popa <[email protected]>: > Thank you Bruno for your response. > > Haiku has a package manager, unlike BeOS. The available packages can be > searched via web interface at https://depot.haiku-os.org/. The *ffcall* > package was just added to Haiku repository for the sake of CLIPS, but is = is > available also for other purposes of course. The recipe for CLISP is bein= g > prepared these days. The discussion about it is ongoing at > https://discuss.haiku-os.org/t/make-ansi-common-lisp-available-on-haiku-a= gain/15780 > . > > I prepared *cfghaiku.lisp*. Unfortunately, I did not succeed in modifying= *makefile.in > <http://makefile.in>* to reflect Haiku specific handling. These days I > try to extensively test CLISP on Haiku. I found *tests* and *sacla-tests* > folders in master tarball from Git. However, I did not find a folder for > ANSI compliance testing as per "*make check-ansi-tests*". Where can I > find them? > > Additionally, what can you suggest for debugging sockets? Is there > something OS specific in SLIME / SLY to support Haiku (never looked at > their code)? > > Thank you again for your time and detailed information, > Alexandru > > =D1=81=D1=80, 23 =D0=BE=D0=BA=D1=82. 2024=E2=80=AF=D0=B3. =D0=B2 17:40, B= runo Haible <[email protected]>: > >> Hi, >> >> Alexandru Popa wrote: >> > I installed >> > necessary dependencies except *libffcall*, which does not (yet) exist = in >> > Haiku. >> >> GNU libffcall 2.5 builds and works out-of-the-box on Haiku (both the x86 >> and the x86_64 versions). >> >> > 2. Because Haiku does not have multi-user support, the user has >> > administrative permissions. So, I issued: >> > *export FORCE_UNSAFE_CONFIGURE=3D1* >> > otherwise it complains about too many permissions. >> >> Yes, this workaround is needed. >> >> > 3. During configuring, it was one crash (recover-able), so I just save= d >> > report and continued. I will ask Haiku for help. The error was in >> program >> > *conftest* (during "*checking for working re_compile pattern... *" >> onscreen >> > message). >> >> This configure test (whose source code is in gnulib/m4/regex.m4) tests >> for known regex bugs in older glibcs. Since Haiku's libc descends from >> glibc, it's likely to have some of these bugs. >> >> > 4. After configuration I inspected *src/config.lisp* file and made the >> > following changes: >> > Because *vi* editor is not available by default, I changed: >> > *(defparameter *editor* "vi" "The name of the editor.")* >> > to: >> > *(defparameter *editor* "nano" "The name of the editor.")* >> > This is for console editor. >> >> Ah, Haiku has a console editor actually! I didn't know :) >> >> > If the GUI editor can also be considered, the >> > "Haiku way" would be something like: >> > *(defparameter *editor* "/boot/system/apps/Pe/Pe" "The name of the >> > editor.")* ; Pe =3D Programmer's Editor for source code. >> > or: >> > *(defparameter *editor* "/boot/system/apps/StyledEdit" "The name of th= e >> > editor.")* ; Default text editor of Haiku. >> >> I would vote for Pe. If you are in Haiku land, do the Haiku way. >> >> > After that, I added just after: >> > *;; (setq *browser* :firefox)* >> > the following: >> > *(setq *browser* "/boot/system/apps/WebPositive")* ; Firefox is not ye= t >> > ported to Haiku (the work is ongoing), and will probably not be offici= al >> > one. WebPositive is The Haiku Web Browser. >> >> OK. >> >> > 5. Building was successful and I could find *clisp* executable in *src= * >> > folder. >> > - *make* - OK >> > - *make check-tests* - 3 / 59 tests failed: *socket.erg*, *streams.erg= * >> and >> > *streamslong.erg*, maybe because of missing *libffcall*. >> > - *make check-recompile* - OK >> > - *make install* - OK >> > - *make distrib* - OK >> >> Nice! >> >> > On the first try, CLISP works with Terminal application under Haiku. I= t >> > fails to connect to *Slime* or *Sly* under *Emacs*, but this is probab= ly >> > the issue with Slime / Sly. >> >> Sockets have been a known problem with BeOS. It is possible that for the= se >> historical reason, they are still problematic with Haiku. I haven't look= ed >> in detail. >> >> > Can you please guide me how can I contribute to making CLISP available >> on >> > Haiku? >> > For now, is there some code I can modify to not being necessary to >> > manually change *config.lisp* after configuration? >> >> Step 1 is to provide source-code patches. You could provide your >> config.lisp, >> for inclusion in the CLISP source code as cfghaiku.lisp. One could then >> make >> it automatic, via a makemake.in rule. >> >> Then, it depends what "make available on Haiku" means. Does it have a >> package system, like so many other OSes do? If yes, then you could submi= t >> libffcall and then CLISP there. Be sure to pick libffcall version 2.5 >> and CLISP git (https://gitlab.com/gnu-clisp/clisp) master branch. >> >> Bruno >> >> >> >> --000000000000046d7d062535511b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Also, I see clisp-2.50 branch in Git repository. Is CLISP = 2-50 already released or is it prepared to be released in the future? I sup= pose Haiku specific code will enter in master branch, and from this branch = Haiku will prepare the package. But the version will still be clisp-2.49, r= ight?<br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gma= il_attr">=D1=87=D1=82, 24 =D0=BE=D0=BA=D1=82. 2024=E2=80=AF=D0=B3. =D0=B2 1= 0:44, Alexandru Popa <<a href=3D"mailto:[email protected]">[email protected]= om</a>>:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px = 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div= dir=3D"ltr"><div>Thank you Bruno for your response.</div><div><br></div><d= iv>Haiku has a package manager, unlike BeOS. The available packages can be = searched via web interface at <a href=3D"https://depot.haiku-os.org/" targe= t=3D"_blank">https://depot.haiku-os.org/</a>. The <b>ffcall</b> package was= just added to Haiku repository for the sake of CLIPS, but is is available = also for other purposes of course. The recipe for CLISP is being prepared t= hese days. The discussion about it is ongoing at <a href=3D"https://discuss= .haiku-os.org/t/make-ansi-common-lisp-available-on-haiku-again/15780" targe= t=3D"_blank">https://discuss.haiku-os.org/t/make-ansi-common-lisp-available= -on-haiku-again/15780</a>.</div><div><br></div><div>I prepared <b>cfghaiku.= lisp</b>. Unfortunately, I did not succeed in modifying <b><a href=3D"http:= //makefile.in" target=3D"_blank">makefile.in</a></b> to reflect Haiku speci= fic handling. These days I try to extensively test CLISP on Haiku. I found = <b>tests</b> and <b>sacla-tests</b> folders in master tarball from Git. How= ever, I did not find a folder for ANSI compliance testing as per "<b>m= ake check-ansi-tests</b>". Where can I find them?</div><div><br></div>= <div>Additionally, what can you suggest for debugging sockets? Is there som= ething OS specific in SLIME / SLY to support Haiku (never looked at their c= ode)?</div><div><br></div><div>Thank you again for your time and detailed i= nformation,</div><div>Alexandru<br></div></div><br><div class=3D"gmail_quot= e"><div dir=3D"ltr" class=3D"gmail_attr">=D1=81=D1=80, 23 =D0=BE=D0=BA=D1= =82. 2024=E2=80=AF=D0=B3. =D0=B2 17:40, Bruno Haible <<a href=3D"mailto:= [email protected]" target=3D"_blank">[email protected]</a>>:<br></div><block= quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1= px solid rgb(204,204,204);padding-left:1ex">Hi,<br> <br> Alexandru Popa wrote:<br> > I installed<br> > necessary dependencies except *libffcall*, which does not (yet) exist = in<br> > Haiku.<br> <br> GNU libffcall 2.5 builds and works out-of-the-box on Haiku (both the x86<br= > and the x86_64 versions).<br> <br> > 2. Because Haiku does not have multi-user support, the user has<br> > administrative permissions. So, I issued:<br> > *export FORCE_UNSAFE_CONFIGURE=3D1*<br> > otherwise it complains about too many permissions.<br> <br> Yes, this workaround is needed.<br> <br> > 3. During configuring, it was one crash (recover-able), so I just save= d<br> > report and continued. I will ask Haiku for help. The error was in prog= ram<br> > *conftest* (during "*checking for working re_compile pattern... *= " onscreen<br> > message).<br> <br> This configure test (whose source code is in gnulib/m4/regex.m4) tests<br> for known regex bugs in older glibcs. Since Haiku's libc descends from<= br> glibc, it's likely to have some of these bugs.<br> <br> > 4. After configuration I inspected *src/config.lisp* file and made the= <br> > following changes:<br> > Because *vi* editor is not available by default, I changed:<br> > *(defparameter *editor* "vi" "The name of the editor.&q= uot;)*<br> > to:<br> > *(defparameter *editor* "nano" "The name of the editor.= ")*<br> > This is for console editor.<br> <br> Ah, Haiku has a console editor actually! I didn't know :)<br> <br> > If the GUI editor can also be considered, the<br> > "Haiku way" would be something like:<br> > *(defparameter *editor* "/boot/system/apps/Pe/Pe" "The = name of the<br> > editor.")* ; Pe =3D Programmer's Editor for source code.<br> > or:<br> > *(defparameter *editor* "/boot/system/apps/StyledEdit" "= ;The name of the<br> > editor.")* ; Default text editor of Haiku.<br> <br> I would vote for Pe. If you are in Haiku land, do the Haiku way.<br> <br> > After that, I added just after:<br> > *;; (setq *browser* :firefox)*<br> > the following:<br> > *(setq *browser* "/boot/system/apps/WebPositive")* ; Firefox= is not yet<br> > ported to Haiku (the work is ongoing), and will probably not be offici= al<br> > one. WebPositive is The Haiku Web Browser.<br> <br> OK.<br> <br> > 5. Building was successful and I could find *clisp* executable in *src= *<br> > folder.<br> > - *make* - OK<br> > - *make check-tests* - 3 / 59 tests failed: *socket.erg*, *streams.erg= * and<br> > *streamslong.erg*, maybe because of missing *libffcall*.<br> > - *make check-recompile* - OK<br> > - *make install* - OK<br> > - *make distrib* - OK<br> <br> Nice!<br> <br> > On the first try, CLISP works with Terminal application under Haiku. I= t<br> > fails to connect to *Slime* or *Sly* under *Emacs*, but this is probab= ly<br> > the issue with Slime / Sly.<br> <br> Sockets have been a known problem with BeOS. It is possible that for these<= br> historical reason, they are still problematic with Haiku. I haven't loo= ked<br> in detail.<br> <br> > Can you please guide me how can I contribute to making CLISP available= on<br> > Haiku?<br> > For now, is there some code I can modify to not being necessary to<br> > manually change *config.lisp* after configuration?<br> <br> Step 1 is to provide source-code patches. You could provide your config.lis= p,<br> for inclusion in the CLISP source code as cfghaiku.lisp. One could then mak= e<br> it automatic, via a <a href=3D"http://makemake.in" rel=3D"noreferrer" targe= t=3D"_blank">makemake.in</a> rule.<br> <br> Then, it depends what "make available on Haiku" means. Does it ha= ve a<br> package system, like so many other OSes do? If yes, then you could submit<b= r> libffcall and then CLISP there. Be sure to pick libffcall version 2.5<br> and CLISP git (<a href=3D"https://gitlab.com/gnu-clisp/clisp" rel=3D"norefe= rrer" target=3D"_blank">https://gitlab.com/gnu-clisp/clisp</a>) master bran= ch.<br> <br> Bruno<br> <br> <br> <br> </blockquote></div> </blockquote></div> --000000000000046d7d062535511b-- --===============8713678793569251709== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============8713678793569251709== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ clisp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/clisp-devel --===============8713678793569251709==--