Skip to content

Downstream packaging best practices in combination with Vulkan-Headers #1463

Open
@lazka

Description

We have the problem that Vulkan-Loader contains the pkg-config file, which some project use for detecting how to build against vulkan, while the headers are in the separate https://github.com/KhronosGroup/Vulkan-Headers project. This results in downstream packages needing to do extra check for headers etc.

In Arch Linux for example loader and headers are separate packages, resulting in build issues:

mesonbuild/meson#7956

In MSYS2 we follow what Arch does, leading to the same issue:

mesonbuild/meson#13016

Some downstream projects work around that by manually checking for headers:

https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/3fc66d4525916b9301236a000a6ed03311ed25a7/render/vulkan/meson.build#L17-25

In Debian the packages are built together and the development files are split out into a separate combined package (so the .pc files and the headers are together) https://packages.debian.org/source/trixie/vulkan-loader

What would be a good strategy to handle this split downstream?

  • Make loader depend on headers?
  • Build them together as if they were the same project? (In Arch this would mean one package, while in Debian this means runtime and dev files are split, according to the distro rules)
  • Make downstream projects not assume the the .pc file is relevant for the headers and do manual header checking, in the same prefix I'd guess?

Thanks!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions