libera/#commonlisp - IRC Chatlog
Search
13:23:22
nij-
When I load cl-git, cffi-grovel calls `cc..` and complains https://bpa.st/GHXDG . Turns out that it needs to add another include dir "-I/opt/homebrew/include" (I tried that in a shell and that's fine https://bpa.st/CMNV2). How do I customize cffi to include such thing?
13:32:13
Bike
nij-: this is more about your system configuration than cffi. you should configure your system so that you can compile C code you have.
13:35:25
Bike
if you really want to, you can add cflags or include files in the grovel syntax, but presumably you don't want to mess with cl-git's code
13:40:29
nij-
an example of grovel file - https://github.com/russell/cl-git/blob/master/src/libgit2-types-grovel0.lisp
13:41:13
nij-
There is an process-.. function in cl-grovel that would process these kinds of files, (should) generate C codes, and run cc on it.
13:41:47
nij-
It's really cffi-grovel that runs CC. So I suppose there's a way to tell cffi-grovel to include (cc -I..) certain paths.
13:44:26
pjb
nij-: there's a #<CFFI-GROVEL:GROVEL-FILE "cl-git" "libgit2-types-grovel0"> this object has a cc-flags slot that you can initialize with :cc-flags
13:47:02
pjb
I wonder if the asd file can be modified to something like: (cffi-grovel:grovel-file "libgit2-types-grovel" :cc-flags "-I/…/ -L/…/")
13:48:46
Bike
nij-: there's a cc-flags documented as part of the grovel file specification. that is what i was referring to.
13:49:24
Bike
nij-: but since you don't want to have to edit every grovel file you want to load, you should probably configure your cc to look at includes you have installed, instead.
14:25:33
nij-
Yeah C has been a pita.. if I can't resolve this I may have to go for python.. and which makes me sad..
14:27:15
nij-
There were times that I gave up on projects because of cffi-grovel. I hope not again.. otherwise I can't use CL for most part.
14:28:26
nij-
phoe thanks for sharing! I'm looking into that now. Does legit work by parsing the textual output of git!?
14:28:57
Bike
nij-: yes. this is not a problem you will have with cffi alone. it means even if you are doing C programming you will not be able to use libraries you get from homebrew.
15:07:12
nij-
Hmm.. legit allows init, add, commit. Good. But it doesn't seem to parse result of git-status into structures..
15:08:28
nij-
On the other hand, cl-git uses the underlying c lib, which I think is easier in terms of obtaining structures. E.g. https://russell.github.io/cl-git/usage/repositories.html#status it tells us if the files are WORKTREE-MODIFIED IGNORED or WORKTREE-NEW
15:22:29
beach
nij-: That would be an excellent little project then to add the functionality to legit.
15:30:33
nij-
Shinmera How would you do that? By parsing such outputs into structures? https://bpa.st/QAPNG
20:07:21
jeosol
Shinmera Fare: Perhaps Fare can provide some specific feedback later "didn't like", what aspect of it, etc
20:08:14
Shinmera
In my experience many adults, let alone kids, aren't great at formulating why they didn't like something :)
20:08:59
jeosol
Shinmera: I see, "didn't like" seem very general, there is probably some input that Fare may be able to share later with you
20:28:11
Fare
jeosol, I don't know what my kids didn't like, but my limited play with the Kandria demo had too much going in a vast universe without knowing what I was supposed to do. Maybe missing a tutorial bit explaining the things to do in smaller environments, and/or more storytelling.
20:31:08
jeosol
Fare: Thank you for sharing additional details. This should be a feedack that Shinmera could consider, or add to some list
20:35:21
jeosol
Shinmera: What I meant was, not that you'd go change it for one user, but perhaps there is a list of feedback, if you see similar concerns or related points, it could be something to consider. Of course, you are the boss here.
20:35:49
jackdaniel
like, I think the game should prohibit playing after midnight (up to 6am), to avoid dads forcing their children to play
20:37:43
kenran
Hey everyone, got another question regarding "changing running lisp programs". If I want to ship an executable that can still be "changed" at runtime, am I correct in assuming that I have to also ship some "server" facility built-in, like slynk, or is there another way?
20:40:09
jackdaniel
there are some security concerns afair; I don't know whether they apply when you are listening only to localhost connections on a "safe" machine
20:40:19
edgar-rft
I think changing a running lisp program is usually done via a REPL, where everything you need is already builtin
20:43:14
kenran
I forgot that my actual question was the follow-up, sorry, a little disorganized today :) I'd like to use this while developing the program as well, so have it running while interactively changing it from my emacs. I could do that via sly directly, but I don't yet know whether that also works with long-running stuff and something like an ncurses interface. That's why I thought having a REPL be part of the program might be the/a
20:44:16
jeosol
When I was testing deployment options for my web app, I had swank on a port and hunchentoot on a different port. Normally, I want to reload a particular system after updating some code on server (git pull). After connecting to remote swank, I can then send reload command. It worked but sort of cumbersome