Re: CLISP on Haiku
Alexandru Popa <[email protected]> Thu, 24 Oct 2024 10:44:42 +0300
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <CAL2wRjT0A_BxCyUoAsm_xNTO_WSxWj-5oA5dq65S7o+YXLO4uQ@mail.gmail.com> |
--000000000000aa4c620625342da2 Content-Type: multipart/alternative; boundary="000000000000aa4c610625342da0" --000000000000aa4c610625342da0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 being prepared these days. The discussion about it is ongoing at https://discuss.haiku-os.org/t/make-ansi-common-lisp-available-on-haiku-aga= in/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, Bru= no Haible <[email protected]>: > Hi, > > Alexandru Popa wrote: > > I installed > > necessary dependencies except *libffcall*, which does not (yet) exist i= n > > 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 saved > > report and continued. I will ask Haiku for help. The error was in progr= am > > *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 the > > 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 yet > > ported to Haiku (the work is ongoing), and will probably not be officia= l > > 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. It > > fails to connect to *Slime* or *Sly* under *Emacs*, but this is probabl= y > > the issue with Slime / Sly. > > Sockets have been a known problem with BeOS. It is possible that for thes= e > historical reason, they are still problematic with Haiku. I haven't looke= d > 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 submit > 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 > > > > --000000000000aa4c610625342da0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Thank you Bruno for your response.</div><div><br></di= v><div>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/">h= ttps://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 these 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">https://discuss.hai= ku-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 n= ot succeed in modifying <b><a href=3D"http://makefile.in">makefile.in</a></= b> to reflect Haiku specific handling. These days I try to extensively test= CLISP on Haiku. I found <b>tests</b> and <b>sacla-tests</b> folders in mas= ter tarball from Git. However, I did not find a folder for ANSI compliance = testing as per "<b>make check-ansi-tests</b>". Where can I find t= hem?</div><div><br></div><div>Additionally, what can you suggest for debugg= ing sockets? Is there something OS specific in SLIME / SLY to support Haiku= (never looked at their code)?</div><div><br></div><div>Thank you again for= your time and detailed information,</div><div>Alexandru<br></div></div><br= ><div class=3D"gmail_quote"><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]">[email protected]</a>>:<br></div><= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px 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> --000000000000aa4c610625342da0-- --000000000000aa4c620625342da2 Content-Type: text/x-common-lisp; charset="US-ASCII"; name="cfghaiku.lisp" Content-Disposition: attachment; filename="cfghaiku.lisp" Content-Transfer-Encoding: base64 Content-ID: <f_m2mzp4bg0> X-Attachment-Id: f_m2mzp4bg0 IzBZIFVURi04IDs7OyAgVGhpcyBmaWxlIGlzIFVuaWNvZGUvVVRGLTggZW5jb2RlZC4gIC0qLSBj b2Rpbmc6IHV0Zi04IC0qLQoKOzs7IFNpdGUgc3BlY2lmaWMgZGVmaW5pdGlvbnMsIHRvIGJlIG1v ZGlmaWVkIG9uIGluc3RhbGxhdGlvbgoKKGluLXBhY2thZ2UgIkVYVCIpCihtYXBjYXIgIydmbWFr dW5ib3VuZCAnKHNob3J0LXNpdGUtbmFtZSBsb25nLXNpdGUtbmFtZSkpCgoobGV0ICgoY2FjaGUg bmlsKSkKKGRlZnVuIHNob3J0LXNpdGUtbmFtZSAoKQogIChpZiBjYWNoZSBjYWNoZQogICAgICAo c2V0cSBjYWNoZQogICAgICAgICAgICAob3IgKGdldGVudiAiT1JHQU5JWkFUSU9OIikKICAgICAg ICAgICAgICAgICh3aXRoLW9wZW4tc3RyZWFtIChzIChtYWtlLXBpcGUtaW5wdXQtc3RyZWFtICJ1 bmFtZSAtbiIpKQogICAgICAgICAgICAgICAgICAocmVhZC1saW5lIHMpKSkpKSkpCgoobGV0ICgo Y2FjaGUgbmlsKSkKKGRlZnVuIGxvbmctc2l0ZS1uYW1lICgpCiAgKGlmIGNhY2hlIGNhY2hlCiAg ICAgIChzZXRxIGNhY2hlCiAgICAgICAgICAgIChvciAoZ2V0ZW52ICJPUkdBTklaQVRJT04iKQog ICAgICAgICAgICAgICAgKHdpdGgtb3Blbi1zdHJlYW0gKHMgKG1ha2UtcGlwZS1pbnB1dC1zdHJl YW0gInVuYW1lIC1hIikpCiAgICAgICAgICAgICAgICAgIChyZWFkLWxpbmUgcykpKSkpKSkKCihk ZWZwYXJhbWV0ZXIgKmVkaXRvciogIi9ib290L3N5c3RlbS9hcHBzL1BlL1BlIiAiVGhlIG5hbWUg b2YgdGhlIGVkaXRvci4iKQooZGVmdW4gZWRpdG9yLW5hbWUgKCkgKG9yIChnZXRlbnYgIkVESVRP UiIpICplZGl0b3IqKSkKCihkZWZ1biBlZGl0LWZpbGUgKGZpbGUpCiAgIihlZGl0LWZpbGUgZmls ZSkgZWRpdHMgYSBmaWxlLiIKICAob3BlbiBmaWxlIDpkaXJlY3Rpb24gOnByb2JlIDppZi1kb2Vz LW5vdC1leGlzdCA6Y3JlYXRlKQogIChzaGVsbCAoZm9ybWF0IG5pbCAifkEgfkEiIChlZGl0b3It bmFtZSkgKHRydWVuYW1lIGZpbGUpKSkpCgooZGVmdW4gZWRpdG9yLXRlbXBmaWxlICgpCiAgIlRo ZSB0ZW1wb3JhcnkgZmlsZSBMSVNQIGNyZWF0ZXMgZm9yIGVkaXRpbmcuIgogIChtZXJnZS1wYXRo bmFtZXMgImxpc3B0ZW1wLmxpc3AiICh1c2VyLWhvbWVkaXItcGF0aG5hbWUpKSkKCihkZWZwYXJh bWV0ZXIgKmxvYWQtcGF0aHMqCiAgJygjIi4vIiAgICAgICAgICAgOyBpbiB0aGUgY3VycmVudCBk aXJlY3RvcnkKICAgICJ+L2xpc3AvKiovIikgICA7IGluIGFsbCBkaXJlY3RvcmllcyBiZWxvdyAk SE9NRS9saXNwCiAgIlRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHdoZXJlIHByb2dyYW1zIGFyZSBz ZWFyY2hlZCBvbiBMT0FEIGV0Yy4iKQoKOzsgVGhpcyBtYWtlcyBzY3JlZW4gb3V0cHV0IHByZXR0 aWVyOgooc2V0cSAqcHJpbnQtcHJldHR5KiB0KQoKOzsgVGhpcyBwZXJoYXBzIG1ha2VzIHBhdGhu YW1lIHBhcnNpbmcgbW9yZSBpbnR1aXRpdmU6Cjs7ICAiLmNsaXNwcmMiIC0tPiAjUyhwYXRobmFt ZSA6bmFtZSAiLmNsaXNwcmMiIDp0eXBlIG5pbCkKKHNldHEgKnBhcnNlLW5hbWVzdHJpbmctZG90 LWZpbGUqIDpuYW1lKQoKOzsgd2hpY2ggYnJvd3NlciBkbyB5b3UgdXNlPyAoc2VlIGAqYnJvd3Nl cnMqJyBpbiBjbGhzLmxpc3ApCjs7IChzZXRxICpicm93c2VyKiA6ZmlyZWZveCkKKHNldHEgKmJy b3dzZXIqICIvYm9vdC9zeXN0ZW0vYXBwcy9XZWJQb3NpdGl2ZSIpCgooZGVmdmFyICppbXBub3Rl cy1yb290LWRlZmF1bHQqICJodHRwOi8vY2xpc3Aub3JnL2ltcG5vdGVzLyIpCihkZWZ1biBpbXBu b3Rlcy1yb290ICgpCiAgIlRoaXMgcmV0dXJucyB0aGUgcm9vdCBVUkwgZm9yIHRoZSBDTElTUCBp bXBsZW1lbnRhdGlvbiBub3Rlcy4KWW91IGNhbiBzZXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxl IGBJTVBOT1RFUycgb3IgcmVkZWZpbmUgdGhpcyBmdW5jdGlvbgppbiB+Ly5jbGlzcHJjLiAgT24g d2luMzIgeW91IGNhbiBhbHNvIHVzZSB0aGUgUmVnaXN0cnkuIgogIChvciAoZ2V0ZW52ICJJTVBO T1RFUyIpICppbXBub3Rlcy1yb290LWRlZmF1bHQqKSkKCjs7IENvbW1vbiBMaXNwIEh5cGVyU3Bl YyBhY2Nlc3MKKGRlZnZhciAqY2xocy1yb290LWRlZmF1bHQqKQooZGVmdW4gY2xocy1yb290ICgp CiAgIlRoaXMgcmV0dXJucyB0aGUgcm9vdCBVUkwgZm9yIHRoZSBDb21tb24gTGlzcCBIeXBlclNw ZWMuCllvdSBjYW4gc2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBgQ0xIU1JPT1QnIG9yIHJl ZGVmaW5lIHRoaXMgZnVuY3Rpb24KaW4gfi8uY2xpc3ByYy4gIE9uIHdpbjMyIHlvdSBjYW4gYWxz byB1c2UgdGhlIFJlZ2lzdHJ5LiIKICAob3IgKGdldGVudiAiQ0xIU1JPT1QiKSAqY2xocy1yb290 LWRlZmF1bHQqKSkKKHNldHEgKmNsaHMtcm9vdC1kZWZhdWx0KiAiaHR0cDovL3d3dy5haS5taXQu ZWR1L3Byb2plY3RzL2lpaXAvZG9jL0NvbW1vbkxJU1AvSHlwZXJTcGVjLyIpCg== --000000000000aa4c620625342da2 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --000000000000aa4c620625342da2 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 --000000000000aa4c620625342da2--