Skip to content
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

Add winloop package #28817

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

owenlamont
Copy link
Contributor

@owenlamont owenlamont commented Jan 12, 2025

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

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/winloop/meta.yaml) and found some lint.

Here's what I've got...

For recipes/winloop/meta.yaml:

  • ❌ The home item is expected in the about section.
  • ❌ Non noarch packages should have python requirement without any version constraints.
  • ❌ Non noarch packages should have python requirement without any version constraints.
  • ❌ This recipe is using a compiler, which now requires adding a build dependence on {{ stdlib("c") }} as well. Note that this rule applies to each output of the recipe using a compiler. For further details, please see META: {{ stdlib("c") }} migration conda-forge.github.io#2102.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12731537121. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

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/winloop/meta.yaml) and found it was in an excellent condition.

@owenlamont
Copy link
Contributor Author

owenlamont commented Jan 12, 2025

The winloop repo which I don't own or maintain unfortunately vendors in libuv.

I think I could update the recipe to remove the vendored libuv and add libuv as a dependency for this recipe, but unfortunately the author @Vizonex has vendored a commit that doesn't appear to correspond to a release tag of libuv - I'll try reaching out to see if that can be changed to correspond to a specific release of libuv.

I'm happy to wait to see if we can setup this dependency better if you'd like.

@owenlamont
Copy link
Contributor Author

The original repo is dual licensed with references to the vendored libuv licences - I've not sure if I've referenced those properly in this PR.

@owenlamont
Copy link
Contributor Author

@conda-forge/help-python-c, ready for review!

@Vizonex
Copy link

Vizonex commented Jan 12, 2025 via email

@owenlamont
Copy link
Contributor Author

I've naively tried to make winloop depend on the libuv package, but I think the way winloop is designed it wants to build libuv from source as part of itself. I'm not sure I have the time/skills to resolve this. Will see if any options arise soon that are simpler than what I'm currently aware of otherwise I think I'll abandon this PR and leave it to someone with better Python / C integration skills.

@owenlamont
Copy link
Contributor Author

I've switched back to the vendored libuv for now if we're okay with this as an interim solution.

I checked the uvloop conda-forge recipe which is the equivalent package for Posix OSes. They don't vendor libuv and do use the conda-forge dependency but they have some build configuration (which winloop doesn't yet have) to switch from statically linking to dynamically linking with libuv.

I'll see if the winloop maintainers are open to doing something similar.

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

Successfully merging this pull request may close these issues.

3 participants