You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have a project with a standard Meson build in which a mixture of wraps and system packages can be used to satisfy build dependencies, as well as a mode in which all dependencies are satisfied by wraps when building fully portable binaries.
Although this is explicitly described as a use case in Meson documentation, our project has a slight difference: when building with only wrap-provided dependencies, we want to keep a subset of the wraps private. We recognize that this means that this build configuration is not publicly available, but we want to avoid special cases and/or bifurcation of the build system so that we have a unified tree to maintain.
I started off doing something like this with a top-level project:
and then a private meta project that only contains private wraps:
meson.build
subprojects/
- dep3.wrap
- dep4.wrap
Here the idea would be that we'd build the top-level project with something like -Denable_private=true -Dwrap_mode=forcefallback and the top-level meson.build file would then some how promote the wraps from the private meta subproject and then force fallback would cause all the wraps to be used.
One of the first snags we hit was that it wasn't clear [wrap-git] could handle clones of ssh-based repositories with a passkey set (probably git clone is being run without interactivity so there is no prompt).
But assuming that cloning a private repo can be solved, I think the bigger questions here are (1) how do we control this promotion programmatically since the private subproject is only available as an option for some developers and (2) is there a better way to do this?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We have a project with a standard Meson build in which a mixture of wraps and system packages can be used to satisfy build dependencies, as well as a mode in which all dependencies are satisfied by wraps when building fully portable binaries.
Although this is explicitly described as a use case in Meson documentation, our project has a slight difference: when building with only wrap-provided dependencies, we want to keep a subset of the wraps private. We recognize that this means that this build configuration is not publicly available, but we want to avoid special cases and/or bifurcation of the build system so that we have a unified tree to maintain.
I started off doing something like this with a top-level project:
and then a private meta project that only contains private wraps:
Here the idea would be that we'd build the top-level project with something like
-Denable_private=true -Dwrap_mode=forcefallback
and the top-level meson.build file would then some how promote the wraps from the private meta subproject and then force fallback would cause all the wraps to be used.One of the first snags we hit was that it wasn't clear [wrap-git] could handle clones of ssh-based repositories with a passkey set (probably git clone is being run without interactivity so there is no prompt).
But assuming that cloning a private repo can be solved, I think the bigger questions here are (1) how do we control this promotion programmatically since the private subproject is only available as an option for some developers and (2) is there a better way to do this?
Beta Was this translation helpful? Give feedback.
All reactions