Open steffenhaug opened 2 months ago
Correct, the way forward is indeed to split off the Makie code in a separate package. For a newer Makie, you can check issue #173, it links to a PR that should make supporting the latest Makie easier. I would certainly welcome help with this :)
Currently, compiling an application with
PackageCompiler.jl
breaks if you rely onMakie
integration.Building a non-incremental sysimage fails without a very helpful error message:
This might be a problem with
Colors.jl
, but I haven't been able to reproduce it outside of QML. For instance, the Lorenz-attractor demo in the Makie docs compiles with zero messing around.Regardless: Building an application with an incremental sysimage is possible. The resulting application, however, fails at the
@require ...
step loading the integration code:The error itself is probably technically unrelated to the use of
@require
, but I think conditionally loading t he integration code at rutime is pretty silly anyways, since I bet it breaks precompilation. I have succesfully managed to compile my application using an incremental sysimage by addingGLMakie
andMakie
as dependencies toQML
, pinned at Makie version0.17.3
, and modifyingQML
to include the integration code unconditionally, but obviously this isn't something we would want to do.I can see in the roadmap that making sure PackageComiler works and splitting out the Makie intgration code are both on there. I think making
QtMakie
a separate package would go a long way in fixing both issues, as we then aren't relying on this dodgy way of loading the integration code.If you want, I can try my hand at making such a package. I think the best place to start is to just rip the code as is into a package that is
compat
with Makie0.17.3
, and from there I'll have a go at supporting a modern Makie version.