lem-project / lem

Common Lisp editor/IDE with high expansibility
http://lem-project.github.io/
MIT License
2.32k stars 166 forks source link

Lem in quicklisp? #359

Closed gregcman closed 4 years ago

gregcman commented 5 years ago

Can we have lem in quicklisp?

snmsts commented 5 years ago

would you like to register?

gregcman commented 5 years ago

Yes, I would register it. But each ".asd" file needs :author, :description, and :license.

:author "SANO Masatoshi, cxxxr"
:license "MIT"
:description "????? system for lem: the editor for Common Lispers"

Is this good?

Also, some ".asd" files say ;;don't edit like lem-mouse-sgr1006. Is this from roswell/project?

ros project author -d/SANO Masatoshi, cxxxr
ros project license -d/MIT

And not implemented:

ros project description -d/?????

???

snmsts commented 5 years ago

ros project is not perfect and "don't edit" is to avoid breaking file by hand editing... actually you can edit. I feel I'm the second contributor and I don't need to be written in.

@cxxxr 何が質問されているかはわかると思うんだけど、どう思う?

snmsts commented 5 years ago

@pupcraft I'll edit at least some of asd's author/description.

cxxxr commented 5 years ago

@snmsts quicklispへの登録はやってもいいと思います。 authorはシステム毎に一番変更量が多い人の名前が良い気がしますが ディレクトリ毎移動しているのでそこは注意したほうがいいですね。

translation by snmsts I think registration for quicklisp might be ok. The "author" written there could be the person who wrote the most in the system. It would be better to notice/consider directories have changed.

snmsts commented 5 years ago

@cxxxr your name in author field still "cxxxr"?

cxxxr commented 5 years ago

@snmsts yes

snmsts commented 5 years ago

https://github.com/cxxxr/lem/commit/8510a9a6f7dbf90b56761d34a35210f8e3aa5f9c please check @nz-tcoder @Hamayama @fukamachi @gos-k @gosuke-yoshita @stacksmith @t-sin @cxxxr @myaosato

Hamayama commented 5 years ago

I'm OK. Thank you!

phoe commented 5 years ago

The "author" written there could be the person who wrote the most in the system.

You can list all authors there, no problem.

phoe commented 5 years ago

I see that the ASD systems at https://github.com/cxxxr/lem/blob/master/lem.asd still do not have the required information.

snmsts commented 5 years ago

@phoe Thank you.

You can list all authors there, no problem.

I believe we know...

t-sin commented 5 years ago

Thanks for credit! I think it's OK.

snmsts commented 5 years ago

simple description todo.

gregcman commented 5 years ago

@snmsts do you help adding descriptions? It seems like a lot work and I can try to help if you want

snmsts commented 5 years ago

@pupcraft Yes. Any help would be welcomed.

quicklisp registration todo.

gregcman commented 5 years ago

Actually I change my mind, Lem doesn't have to be on quicklisp, sorry for the trouble @snmsts Registering on quicklisp is hard I'll just use https://github.com/snmsts/github-install or roswell You can delete the edit-asd branch Thank you for helping!! And sorry for underestimating the difficulties of quicklisp and wasting all you guys's time...

phoe commented 5 years ago

I think it would nonetheless be useful for the Lisp community in general if lem is available on Quicklisp - QL is much more popular than github-install.

If you don't have the time/energy for doing this and if need any support with making lem available, please let us know - I think there are people who can support you with all the needed work.

nz-tcoder commented 5 years ago

8510a9a

@snmsts thanks! I'm OK.

snmsts commented 5 years ago

what happend @pupcraft ?

gregcman commented 5 years ago

Why put lem on quicklisp?

snmsts commented 5 years ago

I don't know...sometime I feel software which are not on ql is not exist for common lisp society. publicity for me?

phoe commented 5 years ago

Registering on quicklisp is hard

What exactly is? I don't understand the issue. All ASD systems need to have basic information filled into them, and the package has to build without errors - these are the only two real requirements.

gregcman commented 5 years ago

@phoe registering on quicklisp takes a relatively long time, and requires coordination. So maybe the best way to distribute software is to start with github-install or qlot or roswell first, and switch when quicklisp updates.

ryukinix commented 5 years ago

I would like to see this happening. How about you trying at least submiting to http://ultralisp.org? Which is a descentralized, not peer-reviewed, repository for quicklisp. And for loading from any machine you can use quicksys

gregcman commented 5 years ago

@ryukinix here it is pending for ultralisp: https://ultralisp.org/projects/cxxxr/lem

quicksys looks pretty good. I wonder how the lisp ecosystem will evolve

gregcman commented 5 years ago

sorry, accidentally closed and reopened

ryukinix commented 5 years ago

Good to see that! @pupcraft

quicksys looks pretty good. I wonder how the lisp ecosystem will evolve

Nice to hear it, I'm waiting Xach approval to be on quicklisp, they said to me that the project it's ok but seems that quicklisp is not available in the environment of project building... which is a problem for a project like quicksys. You can find more info here.

gregcman commented 5 years ago

https://ultralisp.org/projects/cxxxr/lem is now live!

@ryukinix sounds like a circular problem, having to build quicklisp to be on quicklisp but quicklisp not being available. Do you think ultralisp is the best dist to use in the meantime?

gregcman commented 5 years ago

unfortunately ultralisp does not seem to recognize nested asd files. so https://ultralisp.org/projects/cxxxr/lem is not live...

svetlyak40wt commented 5 years ago

I'm doing my best to make Ultralisp is the best place for hosting Common Lisp libraries, guys!

And any help is very appreciated ;-)

The biggest problem right now is that site sometimes hangs because it uses lfarm to delegate checking of the new updated into a separate docker container, and lfarm seems does not close sockets when it loses connection to a worker. And during the time, server eats a limit of available file descriptors and hangs.

However, this problem does not affect already built distribution, because they are served directly from Amazon S3.

phoe commented 5 years ago

and lfarm seems does not close sockets when it loses connection to a worker.

I do not see an open bugticket on https://github.com/lmj/lfarm/issues related to this. Have you made one?

svetlyak40wt commented 5 years ago

@pupcraft you are correct about nested asd files. Their support was turned off intentionally, because some libraries have broken or test nested asd files. Something like skeletons with template placeholders, or example systems. That is why I decided to not parse them by default.

But I want to add support for an explicit list of asd files as a per-project setting. Feel free to create such an issue and help with development. Or just wait while somebody else will implement this feature.

svetlyak40wt commented 5 years ago

@phoe I didn't create an issue on lfarm yet, because this is just a hypothesis which has to be checked first.

jessymilare commented 5 years ago

I just copied lem directory in local-projects/. It loads and builds nicely. I don't understand why can't Quicklisp just pack it. I tried Roswell and didn't like it, I honestly prefer Quicklisp only.

ryukinix commented 5 years ago

That's problems of Common Lisp package distribution it's a quite bad. There is a giant efforts of Xach and ASDF authors (that's guy are heros!), but I hope one day we can kill all that problems as @svetlyak40wt are trying a really nice effort to bring to us a less painful way to publish/deliver/control dependencies and projects.

We need really to unify forces for the greater good.

gregcman commented 5 years ago

@ryukinix how do you think we should unify forces?

ryukinix commented 5 years ago

Hi @pupcraft, I'm glad that you ask.

In my view, i think we need freedom to distribute software without peer-review, as first problem to solve. That's the way modern software development works. That thing of a centralized Xach-review approval it's not a good thing.

The second problem it's make it easy to install, which Roswell are making a good job on this.

About Quicklisp repository, I prefer the more liberal @svetlyak40wt approach by giving the freedom of user to publish your own software with fast releases when he wants without need of approval.

The way we can unify forces I would suggest something like help Alexander to make ultralisp better and more easy to install greatly. Maybe a automation script ignoring the steps to deal with quicklisp stuff and just use as lib? Something like that.

Quicklisp it's great as tool, the main problem and it's publishing software as we see here. Unfortunately ultralisp have your own problems too and for that reason we still cannot publish lem on there (yet).

But we, as Common Lisp Community, can do a great thing.

In my view projects like Roswell and Ultralisp are awesome ideas and deserves more attention.

jessymilare commented 5 years ago

In my view projects like Roswell and Ultralisp are awesome ideas and deserves more attention.

Totally agree. I used to use clbuild before Quicklisp was available and I miss the ability to simply add repos to my system list. What I didn't like about Roswell is it's somewhat invasive. As I used it, it downloaded SBCL and Quicklisp, even though I already had both in my system. It should, by default, look for or at least ask. Running 'ros -h' didn't tell me how to do that. I tried ros as-is anyway, but as I tried to copy my quicklisp into .ros, it broke. I didn't find anything about using my own Quicklisp and SBCL with Roswell, then I gave up.

The system manager needs to adapt itself to what I already have installed, not the other way around. For newbies, on the other hand, or people who are willing to reconfigure their on environments, Roswell seems very good.

phoe commented 5 years ago

I don't understand why can't Quicklisp just pack it.

@jessymilare Seems like https://github.com/quicklisp/quicklisp-projects/issues/1624 has an answer - Quicklisp cannot build projects that themselves depend on Quicklisp, and it seems that lem has such dependencies somewhere.

snmsts commented 5 years ago

Invasive...sad to hear. I support the idea to install lem without roswell. But could you stop negative comment on my product? Do you need to say that? for what purpose? I think "it would be nice if I can install lem without roswell" is enough.

thanks.

jessymilare commented 5 years ago

I had no intention to offend anyone. I apologize if it sounded like that. My only purpose was to point to one particular limitation of Roswell IMO. You might agree with me or not, change it or not, that is up to you.

ryukinix commented 5 years ago

I don't understand why can't Quicklisp just pack it.

@jessymilare Seems like quicklisp/quicklisp-projects#1624 has an answer - Quicklisp cannot build projects that themselves depend on Quicklisp, and it seems that lem has such dependencies somewhere.

That is worse. I think we can't have hope on that, the first issue about that has 7 years. https://github.com/quicklisp/quicklisp-projects/issues/425 I proposed quicksys as I said earlier to make easier to deal with another distributions, but 7 years... I don't know if Xach really cares about this specific problem enough or it's a so hard/core problem that need to re-write the whole quicklisp (?)

jessymilare commented 5 years ago

I don't understand why can't Quicklisp just pack it.

@jessymilare Seems like quicklisp/quicklisp-projects#1624 has an answer - Quicklisp cannot build projects that themselves depend on Quicklisp, and it seems that lem has such dependencies somewhere.

That is worse. I think we can't have hope on that, the first issue about that has 7 years. quicklisp/quicklisp-projects#425 I proposed quicksys as I said earlier to make easier to deal with another distributions, but 7 years... I don't know if Xach really cares about this specific problem enough or it's a so hard/core problem that need to re-write the whole quicklisp (?)

It shouldn't be hard to remove the dependency on quicklisp and dynamically test for its presence at run time. That should be better in any case. fgrep -ri "quicklisp" shows only 19 occurrences in source code.

phoe commented 5 years ago

Also grep for ql - the nickname of the quicklisp package.

But yes, depending on everything at runtime should be possible - it is possible to use uiop:symbol-call instead, for example.

jessymilare commented 5 years ago

Okay, first attempt. Comments are appreciated ^_^

https://github.com/cxxxr/lem/pull/400#issue-290864601

phoe commented 5 years ago

Thank you for making the PR! Commented on the code.

phoe commented 5 years ago

OK - Xach was able to perform compilation. http://report.quicklisp.org/2019-06-25/failure-report/lem.html are the errors that lem has generated as it was being built.

jessymilare commented 5 years ago

OK - Xach was able to perform compilation. http://report.quicklisp.org/2019-06-25/failure-report/lem.html are the errors that lem has generated as it was being built.

About lem-xcb, I was told it wasn't supported anymore. If that is the case, maybe it's time to get rid of it. I intend to create a LTK frontend, which I believe will be more stable and maintainable, not sure when I'll have time, though.

I fixed a few typos and system dependencies. Many of the failures happend because the system definition lacks dependency on lem-core. However, there is a "don't edit" comment above the defsystem form of these systems, so I guess they are auto-generated and I didn't edit them. I might check that later.

https://github.com/cxxxr/lem/pull/401

snmsts commented 5 years ago

I'll drop xcb. @jessymilare which system would you like to edit?

done 4170ff918f99fbd13878de7702a4e25e183a58c2