Skip to content

Meson dist includes wrap-redirect files from local dependency #14520

@WillAyd

Description

@WillAyd

Describe the bug
I am working on a multi-language project with a layout like:

c/
  meson.build
python/
  adbc_driver_manager/
    meson.build
    subprojects 

In my Python configuration, I have something that will look for a system dependency of adbc-driver-manager (assumedly to be used by end users) but that will fall back to a local subproject for "at source" development:

adbc_driver_manager_dep = dependency(
    'adbc-driver-manager',
    fallback: ['arrow-adbc', 'adbc_driver_manager_dep'],
    default_options: ['driver_manager=enabled'],
)

I am also creating a symlink in the Python project to resolve to the "c" project:

python/
  adbc_driver_manager/
    subprojects/
      arrow-adbc/ -- > symlinks to c/

This works great for local development, but Meson automatically generates wrap files for transitive dependencies exposed by the arrow-adbc subproject. For example, the subproject relies on the fmt library, so I end up with a file subprojects/fmt.wrap that looks like:

[wrap-redirect]
filename = arrow-adbc/subprojects/fmt.wrap

This is problematic when I then run meson dist; the arrow-adbc symlinked directory is not included (which I believe is desired), but the auto-generated wrap-redirect files that point to files through that symlink are included with the dist

To Reproduce
See above

Expected behavior
Wrap files that are auto-generated from subprojects should not be included by default as part of the meson dist command

system parameters

  • Is this a cross build or just a plain native build (for the same computer)? Plain
  • what operating system (e.g. MacOS Catalina, Windows 10, CentOS 8.0, Ubuntu 18.04, etc.) Ubuntu 24.04
  • what Python version are you using e.g. 3.8.0 3.13.1
  • what meson --version 1.7.0
  • what ninja --version if it's a Ninja build 1.12.1

Metadata

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