On 03/21/2018 10:54 PM, Martin Owens wrote:
Firstly we put any non-python extensions into their own repository. We don't want to drop support for just running weird shell scripts and perl stuff, but I'd put it in auxiliary and ask packagers to add them to separate packages.
Frankly, you're thinking like old school Linux packaging. Multiple packages with dependencies isn't really how most modern OSes are thinking right now. So I think that relying on that is perhaps a play towards the past.
I'd agree on the goals of making it so that an extension can be published separately, on a separate schedule, and work well in Inkscape. But, I don't think we're to the point of that working well with things like dropping to command line instructions, much less being user friendly enough to be practical.
This is so we can focus the core extensions repository on making it a python installable module set with the inx coming along as data.
The reason we'd want to move in this direction is really to allow inkscape to install and uninstall extensions while not having to write our own dependency software.
If we take advantage of pip/virtualenv in our .local/share/inkscape/extensions (Or do we stuff everything in .config like naughty XDG users 😉) then we can install extensions from zi p files, from git repositories on github and do uninstalls by just managing the pip repository from the inkscape UI.
This will install all the required dependencies (numpy anyone?) and keep files separated.
Installing executables in your home directory is a security nightmare. We really don't want to be in that business. And I have doubts that'll work in Windows, but there may be some magic there I don't know about. PIP does some fun things with compiling executables and libraries when it needs them.
I hate to be stop energy on porting the python extensions to Python 3, that clearly needs to happen. But I don't think we're ready to have them shipping and developed out of a different repository. The distribution issues are critical there. I think that we need a test extension that works well in all the repos/stores/etc before we can split out the extensions that we have.
Ted