conda-forge / staged-recipes

A place to submit conda recipes before they become fully fledged conda-forge feedstocks
https://conda-forge.org
BSD 3-Clause "New" or "Revised" License
692 stars 4.73k forks source link

Add recipes for zenoh, zenoh-c and zenoh-plugin-webserver #26736

Closed traversaro closed 1 week ago

traversaro commented 2 weeks ago

Fix https://github.com/conda-forge/staged-recipes/issues/26053 .

PR content

This PRs adds some initial recipes for Zenoh ecosystem (https://zenoh.io/).

In particular, it contains the following recipes that generate the following packages (structure and naming inspired by the Debian and homebrew existing packages):

I typically avoid to include multiple recipes in the same PR, but in this case this is useful to show how future zenoh-* packages may be packaged.

Zenoh specificity

The most important thing is to distinguish two kind of zenoh packages:

An example of the first kind of package is libzenohc contained in this PR, it has a run dependency on zenoh-rust-abi, but just to ensure that libzenohc is installed with a zenohd with the same version:

  run:
    - zenoh-rust-abi {{ version }}.*

On anothe hand, an example of the second kind of package is zenoh-plugin-webserver, that needs to match the ABI that zenohd expects, and so has the following constraint on zenoh-rust-abi:

  host:
    - zenoh-rust-abi {{ version }}.{{ rust_compiler_version }}

(the hosts dependency becomes a run dependency thanks to zenoh-rust-abi's run_exports.

Alternatives considered

Possible modifications to the packaging strategies that I considered but eventually did not do:

Checklist

conda-forge-webservices[bot] commented 2 weeks ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/zenoh) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipes/zenoh:

conda-forge-webservices[bot] commented 2 weeks ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/zenoh) and found it was in an excellent condition.

conda-forge-webservices[bot] commented 2 weeks ago

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/zenoh, recipes/zenoh-c, recipes/zenoh-plugin-webserver) and found some lint.

Here's what I've got...

For recipes/zenoh-c:

For recipes/zenoh-plugin-webserver:

conda-forge-webservices[bot] commented 2 weeks ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/zenoh, recipes/zenoh-c, recipes/zenoh-plugin-webserver) and found it was in an excellent condition.

traversaro commented 1 week ago

The recipe is ready for review, thanks! Note that the CI already passed, the CI restarted as I squashed a lot of commits. @conda-forge/help-c-cpp @conda-forge/help-rust @conda-forge/staged-recipes

github-actions[bot] commented 1 week ago

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

xhochy commented 1 week ago

The one comment is probably better addressed in a feedstock where you get more detailed rerender error messages.

traversaro commented 1 week ago

The one comment is probably better addressed in a feedstock where you get more detailed rerender error messages.

Exactly, that was my plan. Thanks for the review!