Description
From time to time I look to the package managers of Linux distributions to see if we can pick up some interesting ideas. One thing that I think would be really cool to have here is to be able to generate multiple JLL packages with a single builder: the result of a build doesn't go into a single tarball, but it might be split into many of them.
One fancy application is to be able to generated:
Libfoo_jll
: contains onlybin/
andlib/
, this is the runtime part, what the Julia packages will use;Libfoo_dev_jll
: containsinclude/
, header files are generally useless for Julia packages and they mostly clutter~/.julia/artifacts/
with dozens of small filess. Ideally, this would be automatically installed, if available, whenLibfoo_jll
is used as dependency in a build;Libfoo_dbg_jll
: contains the debug symbols of the shared library, that users can optionally install to get more useful debug information about crashes or errors. Based on an idea by @Keno.
Also, I think that LLVM_full_jll
is currently "wrong": IMO it should simply be an empty metapackage binding all the other pieces. Instead now it's a monster package containing the same data as its pieces, which means that if we use both LLVM_full_jl
and libLLVM_jll
in a build, they would step onto each other's toes. Having a single builder that produces all other subpackages would probably make @vchuravy happy, too.