Closed rolandlo closed 6 months ago
Hi @rolandlo,
This looks great! Nice job.
Should this PR wait for the ffi PRs to merge?
Stepping back slightly, I'm no longer using Lua much myself, so I no longer have a personal use for lua-vips. Would you be interested in taking over this repo? You'd have complete freedom to do anything you liked with it.
Stepping back slightly, I'm no longer using Lua much myself, so I no longer have a personal use for lua-vips. Would you be interested in taking over this repo? You'd have complete freedom to do anything you liked with it.
Thanks for the offer. I am tempted to accept, since I will have personal use for lua-vips
in the foreseeable future and am willing to put in some effort. Consider though that I have only a little fraction of the experience with lbvips
and lua-vips
of what you have. So if you think someone is needed with a lot of experience, then you should find someone else for taking over the repo. Otherwise I will do my best and keep learning by doing.
I think this project needs an experienced Lua person -- I like Lua, but I've only done a couple of little pico8 games, I'm sure you're much stronger than me on on things like package conventions.
Thanks for considering it anyway.
My experience with Lua comes mostly from writing Lua plugins for Xournal++ (note taking software) and extending and supervising the Lua API in the C++ code of Xournal++. I don't know if that counts as "experienced" in any way. Lua is a great language and libvips is a pretty impressive library, so it would be really interesting to work on lua-vips
.
One question: What are some of the main tasks in your view that lua-vips
should undertake in the coming years?
From the issues I can only see that true streaming would be nice to have (I can't find a branch on it though) and that the Interpolation integration would need to be finished. Also lua-vips
should be made installable using luarocks
along with luaffifb
(once my commit is merged there) when combined with standard Lua. Anything else that comes to mind? Are there features introduced in newer libvips
version that would have to be integrated in the binding?
Another question: What versions of libvips should lua-vips
support and what operating systems (Linux, MacOS, Windows I guess) and architectures?
If you prefer we can also communicate privately about it. You find me on Matrix.
The things that come to mind are:
And of course any other ideas that take your fancy.
Should this PR wait for the ffi PRs to merge?
It has been merged today (into the maintained fork of luaffifb
) and the package has been uploaded by the maintainer under the name luaffi-tkl.
The things that come to mind are:
1. Keep up with new libvips API features, like streaming (as you say). There's not too much of this, mostly the thing self-updates via introspection, it's only when significant new API is added that lua vips would need extending. 2. The node.js binding, sharp, has a great feature where a matching libvips binary is automatically downloaded when you install the binding. The set of suitable binaries is all there, lua-vips just needs a simple thing in the install process to identify the platform and trigger the download. This would save users a lot of trouble. 3. Better docs. The lua-vips docs are very basic. We have the main C API docs as XML, it wouldn't be difficult to automatically paste them into a set of indexed lua-vips docs.
And of course any other ideas that take your fancy.
Ok, that sounds reasonable to me. Thanks for the ideas. I am willing to take over maintenance. Maybe you could upload the current version (or after merging #61) to luarocks, so that there is always a fallback option for those who are sceptical with the changes made after that.
I am willing to take over maintenance.
Hey, that's great! It's always best if the package maintainer is also a user of the package, things tend to rot otherwise, a bit like gardening.
You must feel free to walk away any time it stops being fun or interesting. This kind of volunteer work ought to be rewarding, or it's not worth doing.
The libvips devs idle on gitter, you might like to join: https://app.gitter.im/#/room/#libvips_devchat:gitter.im
I made you a maintiner, have fun!
I made you a maintiner, have fun!
Thanks! It's an honour for me.
In combination with https://github.com/rolandlo/luaffifb this makes
lua-vips
work with Standard Lua. I have tested it with Lua 5.3.6 (mostly) and 5.4.6 (to a lesser degree). Compare with my announcement in #9.The whole test suite in the spec folder runs now successfully (tested on Ubuntu 23.10) and all examples in the example folder work as well.
I have also checked that the test suite still runs successfully with LuaJit (tested on Ubuntu 22.04 on a different machine).
The only commit I added to Tekenlight's maintained fork of
luaffifb
is this one which adds the__index
metamethod to thectype
metatable (in order to allow for things likevoperation.call
or<ffi-metatype>.<function name>
more generally). I hope to get it upstreamed and have raised an issue on the maintained fork.