-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
colcon extension for meson #17
Comments
Thanks for the ping. I've created a team within the colcon organization and added you to it. I'm not positive, but once you accept the invitation you should be able to transfer colcon-meson into the colcon org. If not, let me know and I'll dig in further. |
Thanks. This worked. The repo is now at https://github.com/colcon/colcon-meson. Can you let me know what is required to integrate this into the |
The technical requirements are surmountable and I'll start documenting them as a follow-up step, the biggest blocker will be getting you permissions to push to the colcon apt repository on packagecloud but that's an admin thing not something that needs your action on at the moment. Really though, I think that the editorial / policy question of whether colcon-meson needs to be added to colcon-common-extensions and if it does, what would appropriate maturity expectations be? There is not, to my knowledge, an explicit list of criteria but it's not meant to include every colcon extension, just the ones in common usage. Hence the name. Below is a personal list of criteria that I'll formalize with other maintainers as a PR in the coming days. I should also make it clear that I don't actually think that proposed criteria would represent minimum expectations. Not every package which meets every requirement would necessarily be added and I'm sure that we'll run into situations with current packages and future ones that prove exceptions to whatever criteria are proposed and accepted but having some to set expectations (and to force us to think about them a little) is still going to be beneficial. Ultimately, decisions about which packages are included in colcon-common-extensions will be made by the active maintainers, of which I am but a single member.
|
I see. I guess adding this to the common extensions is actually not required at this time. However, it would be very convenient to have this package released to some extent, so that other (meson) packages can depend on it as build tool via something like <export>
<build_type>meson</build_type>
</export> and it will then download colcon-meson (as dep or pip) via rosdep. |
I agree with your points regarding adding packages to colcon-common-extensions, @nuclearsandwich. Regarding releasing Then, you could add a rosdep pip rule |
Ok, I see now that all the colcon packages on PyPI are maintained by individual people and not an organisation. I was somehow under the impression that all of colcon would be released by the @colcon organisation, e.g. to sync API changes. In this case, I will just look into releasing this to PyPI myself. May I also ask, how to add a rosdep rule for colcon extensions? Searching for colcon in all of How do I have to format |
Releasing to PyPI yourself (as the maintainer) makes sense to me. I don't think rosdep is typically used to install colcon packages. Someone can correct me if I'm wrong, but I don't think we rely on colcon on the ROS buildfarm (though this may change in the future). colcon is mainly used as a convenient tool for developers. So, I don't think it makes sense to have rosdep install |
Sorry for going a bit off-topic here, but I want to make sure that the colcon extension is set up properly to build (pure) meson packages. If the build tool is determined by As far as I can tell, a colcon extension scans every package for matching build definitions. E.g. |
The |
The initial version has been released on PyPI: https://pypi.org/project/colcon-meson/ As expected, you can install it now via: pip install colcon-meson Since we do not need to release this as part of |
I created a colcon extension for meson packages: https://github.com/christianrauch/colcon-meson and would like to have this moved inside the @colcon organisation for continued maintenance and releases to the Python Package Index.
This currently implements the bare minimum to identify, build and install meson packages.
To test it, build the libcamera and simple-cam packages.
@nuclearsandwich FYI. We had a quick chat about adding meson support a while ago. This should get this started.
The text was updated successfully, but these errors were encountered: