zyn-fusion-issues
zyn-fusion-issues copied to clipboard
Use newer version of pugl to drop python2 dependency
As python2 is soon EOL, it would be wise to upgrade to a newer version of pugl, where the included waf version is compatible with python >= 3.6.
How much work is that?
Medium? Switching to a newer pugl would be good, though I could see there being some possible multi-platform issues (specifically thinking MacOS here). Grabbing the version out of DPF would perhaps be sufficient as that's going to see some more testing on that platform (I'd think). Additionally the ideal situation is to throw the waf bits out the window. Personally I'm not a huge waf fan and removing one of the build systems involved in deploying the new UI would be a good quality of life improvement.
Are you interested in trying to sort out the PUGL stuff?
Maybe. What's a good starting point?
github.com/mruby-zest/pugl should be the repo for PUGL. You can safely eliminate:
- cairo (so those bits can be removed)
- references to system openGL headers (we use headers generated to work with a specific OpenGL2.1+framebuffer version https://github.com/mruby-zest/mruby-nanovg/blob/master/src/gl_core.3.2.h and https://github.com/mruby-zest/mruby-nanovg/blob/master/src/gl_core.3.2.c )
- Drag and drop support is partially implemented and to the best of my knowledge hasn't seen much use
- dynamic builds are not needed
- C++ wrapper is unused
- Documentation and pugl tests are unused
Hopefully that's enough things that can be stripped off that the waf file can be translated down into a much more basic makefile with likely different ways of generating the static lib per platform.
Also for building the UI, feel free to use these docker containers as either a general reference or as a way of running the build https://github.com/zynaddsubfx/zyn-fusion-build/tree/master/linux-system-testers I think I had them setup with development in mind (i.e. they copy a local repo into the container rather than cloning a version you don't control).
Thanks for the info. MacOS would be a problem though. They got like a thousand firewalls.
@kurtbusch420 Just checking in: Are you looking at this, or I should try to prioritize this issue myself?
Just spent some time on the issue. Turns out this is amazingly trivial to resolve for Linux. I might leave the python2 dep for cross platform builds until I can sanity check them, though I'd expect windows to be similarly easy to work through.