Skip to content

Generate multiple packages with the a single builder #778

Open
@giordano

Description

@giordano

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 only bin/ and lib/, this is the runtime part, what the Julia packages will use;
  • Libfoo_dev_jll: contains include/, 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, when Libfoo_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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions